1. 24 1月, 2015 2 次提交
    • I
      Add thread sanitizer · 401d4205
      Igor Canadi 提交于
      Summary: When you compile with COMPILE_WITH_TSAN=1, we will compile the code with -fsanitize=thread. This will resolve bunch of data race issues we might have.
      
      Test Plan: COMPILE_WITH_TSAN=1 m db_test
      
      Reviewers: yhchiang, rven, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D32019
      401d4205
    • I
      Upgrade our compilers · b068f0a6
      Igor Canadi 提交于
      Summary:
      Upgrade gcc to 4.9.1 and clang to dev.
      
      With new compilers I succeeded to run thread sanitizer, too. I'll post output (doesn't look good) and fix some things in separate diffs.
      
      Test Plan: compiles with both g++ and clang
      
      Reviewers: yhchiang, rven, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D32007
      b068f0a6
  2. 23 1月, 2015 14 次提交
  3. 22 1月, 2015 3 次提交
  4. 20 1月, 2015 2 次提交
  5. 18 1月, 2015 5 次提交
  6. 17 1月, 2015 6 次提交
  7. 16 1月, 2015 6 次提交
    • I
      fallocate also tests FALLOC_FL_KEEP_SIZE · 155bec4c
      Igor Canadi 提交于
      155bec4c
    • F
      [RocksJava] WriteBatchWithIndexTest fix · c75c02e7
      fyrz 提交于
      Previous to this commit identiy checks were performed. Now tests are
      performed using equals - method as intended.
      c75c02e7
    • F
      [RocksJava] JavaDoc errors in Java8 · c787fb50
      fyrz 提交于
      Some of the latest commits included illegal JavaDoc formattings.
      c787fb50
    • Y
      Remove Compaction::ReleaseInputs(). · b229f970
      Yueh-Hsuan Chiang 提交于
      Summary:
      This patch remove the unnecessary Compaction::ReleaseInputs().
      
      Compaction::ReleaseInputs() tries to unref its input_version
      and column_family.  However, such unref is always done in
      ~Compaction(), and all current ReleaseInputs() calls are
      right before the destructor.
      
      Test Plan: ./db_test
      
      Reviewers: igor
      
      Reviewed By: igor
      
      Subscribers: igor, rven, dhruba, sdong
      
      Differential Revision: https://reviews.facebook.net/D31605
      b229f970
    • V
      Fix for bug where GeoDB accesses key after next modification of iterator · f2ddb8b4
      Venkatesh Radhakrishnan 提交于
      Summary:
      While running cross-functional tests for weak iterators, I
      encountered a bug in GeoDB. GeoDB reads a key from the database and
      tries to use it after doing a Seek. Fixing it by storing the key locally
      so that it is still visible after the Seek.
      
      Test Plan: Run geodb_test
      
      Reviewers: sdong, igor
      
      Reviewed By: igor
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D31599
      f2ddb8b4
    • T
      Ported LevelDB's fault_injection_test · d10f1de2
      Thomas Dudziak 提交于
      Summary:
      This is a port of [[ https://github.com/google/leveldb/blob/master/db/fault_injection_test.cc | LevelDB's fault_injection_test ]] to RocksDB. Unfortunately it fails with:
      
      ```
      ==== Test FaultInjectionTest.FaultTest
      db/fault_injection_test.cc:491: Corruption: no meta-nextfile entry in descriptor
      #0   ./fault_injection_test() [0x41477a] rocksdb::FaultInjectionTest::PartialCompactTestReopenWithFault(rocksdb::FaultInjectionTest::ResetMethod, int, int) /data/users/tomdzk/rocksdb/db/fault_injection_test.cc:491
      #1   ./fault_injection_test() [0x40a38a] rocksdb::_Test_FaultTest::_Run() /data/users/tomdzk/rocksdb/db/fault_injection_test.cc:517
      #2   ./fault_injection_test() [0x415bea] rocksdb::_Test_FaultTest::_RunIt() /data/users/tomdzk/rocksdb/db/fault_injection_test.cc:507
      #3   ./fault_injection_test() [0x584367] rocksdb::test::RunAllTests() /data/users/tomdzk/rocksdb/util/testharness.cc:70
      #4   /usr/local/fbcode/gcc-4.8.1-glibc-2.17/lib/libc.so.6(__libc_start_main+0x10e) [0x7f7a40857efe] ??  ??:0
      #5   ./fault_injection_test() [0x408bb8] _start ??:0
      ```
      
      so I commented out the test invocation in the source code for now (lines 514-520) so it can be merged.
      
      Test Plan: This is a new test.
      
      Reviewers: igor
      
      Reviewed By: igor
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D31587
      d10f1de2
  8. 15 1月, 2015 2 次提交
    • I
      Change db_stress to work with format_version == 2 · 2bb05900
      Igor Canadi 提交于
      2bb05900
    • I
      New BlockBasedTable version -- better compressed block format · 9ab5adfc
      Igor Canadi 提交于
      Summary:
      This diff adds BlockBasedTable format_version = 2. New format version brings better compressed block format for these compressions:
      1) Zlib -- encode decompressed size in compressed block header
      2) BZip2 -- encode decompressed size in compressed block header
      3) LZ4 and LZ4HC -- instead of doing memcpy of size_t encode size as varint32. memcpy is very bad because the DB is not portable accross big/little endian machines or even platforms where size_t might be 8 or 4 bytes.
      
      It does not affect format for snappy.
      
      If you write a new database with format_version = 2, it will not be readable by RocksDB versions before 3.10. DB::Open() will return corruption in that case.
      
      Test Plan:
      Added a new test in db_test.
      I will also run db_bench and verify VSIZE when block_cache == 1GB
      
      Reviewers: yhchiang, rven, MarkCallaghan, dhruba, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D31461
      9ab5adfc