1. 10 10月, 2015 9 次提交
    • Y
      Merge pull request #759 from jwlent55/statically-load-compression-libraries · c4366165
      Yueh-Hsuan Chiang 提交于
      Ensure that the compression libraries are statically linked into dyna…
      c4366165
    • A
      Fix for the travis build caused by my previous commit · fa4b5b3d
      Alexey Maykov 提交于
      Summary: My previous commit ('Passing table properties to compaction callback') broke the clang build. Here is the fix.
      
      Test Plan: USE_CLANG=1 make all -j
      
      Reviewers: igor
      
      Reviewed By: igor
      
      Subscribers: dhruba
      
      Differential Revision: https://reviews.facebook.net/D48489
      fa4b5b3d
    • A
      Passing table properties to compaction callback · 3d07b815
      Alexey Maykov 提交于
      Summary: It would be nice to have and access to table properties in compaction callbacks. In MyRocks project, it will make possible to update optimizer statistics online.
      
      Test Plan: ran the unit test. Ran myrocks with the new way of collecting stats.
      
      Reviewers: igor, rven, yhchiang
      
      Reviewed By: yhchiang
      
      Subscribers: dhruba
      
      Differential Revision: https://reviews.facebook.net/D48267
      3d07b815
    • K
      Adding parser to CI jobs · 64546af8
      krad 提交于
      Summary: The parser will help parse the output in order to send meaningful
      notifications.
      
      Test Plan: Manual testing
      
      Reviewers:
      
      CC: leveldb@
      
      Task ID: #6968635
      
      Blame Rev:
      64546af8
    • A
      Deferred snapshot creation in transactions · def74f87
      agiardullo 提交于
      Summary: Support for Transaction::CreateSnapshotOnNextOperation().  This is to fix a write-conflict race-condition that Yoshinori was running into when testing MyRocks with LinkBench.
      
      Test Plan: New tests
      
      Reviewers: yhchiang, spetrunia, rven, igor, yoshinorim, sdong
      
      Reviewed By: igor
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D48099
      def74f87
    • A
      DisableIndexing() for Transactions · c5f3707d
      agiardullo 提交于
      Summary:
      MyRocks reported some perfomance issues when inserting many keys into a transaction due to the cost of inserting new keys into WriteBatchWithIndex.  Frequently, they don't even need the keys to be indexed as they don't need to read them back.  DisableIndexing() can be used to avoid the cost of indexing.
      
      I also plan on eventually investigating if we can improve WriteBatchWithIndex performance.  But even if we improved the perf here, it is still beneficial to be able to disable the indexing all together for large transactions.
      
      Test Plan: unit test
      
      Reviewers: igor, rven, yoshinorim, spetrunia, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D48471
      c5f3707d
    • S
      Pass column family ID to table property collector · 776bd8d5
      sdong 提交于
      Summary: Pass column family ID through TablePropertiesCollectorFactory::CreateTablePropertiesCollector() so that users can identify which column family this file is for and handle it differently.
      
      Test Plan: Add unit test scenarios in tests related to table properties collectors to verify the information passed in is correct.
      
      Reviewers: rven, yhchiang, anthony, kradhakrishnan, igor, IslamAbdelRahman
      
      Reviewed By: IslamAbdelRahman
      
      Subscribers: yoshinorim, leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D48411
      776bd8d5
    • J
      Ensure that the compression libraries are statically linked into dynamic libraries included · 5a722278
      James Lent 提交于
      in the Java jar.  Also build the linux libraries using the portable flag to fix a problem with
      the linux32 build and improve the general portability of the RocksDB dynamic libraries.
      ==> linux32: util/crc32c.cc:318:39: error: ‘_mm_crc32_u64’ was not declared in this scope
      5a722278
    • S
      Make DBTest.AggregatedTableProperties more deterministic · e61d9c14
      sdong 提交于
      Summary: Now based on environment, DBTest.AggregatedTableProperties has a possibility of issuing a L0->L1 compaction after reopening and the results are not what we expected. We tune the L0 compaction trigger to make it less likely to happen.
      
      Test Plan: I can't repro the failure but I think the change is better. Just run the test and make sure it passes.
      
      Reviewers: kradhakrishnan, yhchiang, igor
      
      Reviewed By: igor
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D48423
      e61d9c14
  2. 09 10月, 2015 8 次提交
    • S
      New Manifest format to allow customized fields in NewFile. · b77eb16a
      sdong 提交于
      Summary: With this commit, we add a new format in manifest when adding a new file. Now path ID and need-compaction hint are first two customized fields.
      
      Test Plan: Add a test case in version_edit_test to verify the encoding and decoding logic. Add a unit test in db_test to verify need compaction is persistent after DB restarting.
      
      Reviewers: kradhakrishnan, anthony, IslamAbdelRahman, yhchiang, rven, igor
      
      Reviewed By: igor
      
      Subscribers: javigon, leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D48123
      b77eb16a
    • I
      Merge pull request #756 from viveknelamangala/master · 6732a576
      Igor Canadi 提交于
      Install snappy headers to standard locations using yum, so that build…
      6732a576
    • V
      Install snappy headers to standard locations using yum, so that... · a52888ed
      Vivek Nelamangala 提交于
      Install snappy headers to standard locations using yum, so that build_tools/build_detect_platform sets -DSNAPPY flag to g++ . Current jars of rocksdb do no have snappy compression avaliable .
      a52888ed
    • I
      Make it harder for users to run debug builds in production · 831101b5
      Igor Canadi 提交于
      Summary:
      I see a lot of users compiling RocksDB with `make` or `make all` and then using those binaries in production. They end up running debug builds :(
      
      This diff makes it harder for them:
      1. I added an explicit warning to INSTALL.md
      2. When you compile with `make all`, your resulting library will be librocksdb_debug.a
      3. I also print out a warning when you compile in debug mode.
      
      Hopefully should be enough :)
      
      Test Plan: none
      
      Reviewers: rven, yhchiang, kradhakrishnan, anthony, sdong, dhruba, IslamAbdelRahman
      
      Reviewed By: IslamAbdelRahman
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D48093
      831101b5
    • S
      CompactionFilter::Context to contain column family ID · 000836a8
      sdong 提交于
      Summary: Add the column family ID to compaction filter context, so it is easier for compaction filter to apply different logic for different column families.
      
      Test Plan: Add a unit test to verify the column family ID passed is correct.
      
      Reviewers: rven, yhchiang, igor
      
      Reviewed By: igor
      
      Subscribers: yoshinorim, leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D48357
      000836a8
    • Y
      Change RocksDB version to 4.1 · 3a0bf873
      Yueh-Hsuan Chiang 提交于
      Summary: Change RocksDB version to 4.1
      
      Test Plan: no code change.
      
      Reviewers: sdong, anthony, IslamAbdelRahman, igor
      
      Reviewed By: igor
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D48387
      3a0bf873
    • K
      Enable crash CI jobs · 77318ee1
      krad 提交于
      Summary: Enabling CI crash test jobs
      
      Test Plan: Manual testing
      
      Reviewers:
      
      CC: leveldb@
      
      Task ID: #8635140
      
      Blame Rev:
      77318ee1
    • I
      compaction_filter.h cleanup · 9803e0d8
      Igor Canadi 提交于
      Summary:
      Two changes:
      1. remove *V2 filter stuff. we deprecated that a while ago
      2. clarify what happens when user sets max_subcompactions to bigger than 1
      
      Test Plan: none
      
      Reviewers: yhchiang, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D47871
      9803e0d8
  3. 08 10月, 2015 8 次提交
    • I
      Bytes read/written from cache statistics · 51fa7ece
      Islam AbdelRahman 提交于
      Summary: Add 2 new counters BLOCK_CACHE_BYTES_WRITE, BLOCK_CACHE_BYTES_READ to keep track of how many bytes were written to the cache and how many bytes that we read from cache
      
      Test Plan: make check
      
      Reviewers: sdong, yhchiang, igor
      
      Reviewed By: igor
      
      Subscribers: dhruba
      
      Differential Revision: https://reviews.facebook.net/D48195
      51fa7ece
    • I
      Create Makefile target unity_test · f925208f
      Igor Canadi 提交于
      Summary: unity_test will compile db_test with unity.a instead of librocksdb.a. This will test both the compilation and some small amount of runtime.
      
      Test Plan: This is a test :)
      
      Reviewers: kradhakrishnan
      
      Reviewed By: kradhakrishnan
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D48297
      f925208f
    • D
      bloom hit/miss stats for SST and memtable · a065cdb3
      dyniusz 提交于
      Summary:
      	hit and miss bloom filter stats for memtable and SST
      	stats added to perf_context struct
      	key matches and prefix matches combined into one stat
      
      Test Plan: unit test veryfing the functionality added, see BloomStatsTest in db_test.cc for details
      
      Reviewers: yhchiang, igor, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D47859
      a065cdb3
    • I
      Fix compile error on platforms without fallocate() · 40cdf797
      Igor Canadi 提交于
      Summary:
      If a platform doesn't have ROCKSDB_FALLOCATE_PRESENT, then compiler complains:
      
      util/env_posix.cc:354:8: error: private field 'allow_fallocate_' is not used [-Werror,-Wunused-private-field]
      
      This was caught by travis.
      
      Test Plan: compiles with ROCKSDB_FALLOCATE_PRESENT.
      
      Reviewers: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D48327
      40cdf797
    • I
      Fix compile failure on Travis · 77e4ad7c
      Igor Canadi 提交于
      Summary:
      Travis is complaining against using {} to initialize KVMap: https://travis-ci.org/facebook/rocksdb/jobs/84132600
      
            db/compaction_job_test.cc:526:26: error: chosen constructor is explicit in copy-initialization
              RunCompaction({files}, {});
      
      This diff should fix it
      
      Test Plan: travis
      
      Reviewers: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D48309
      77e4ad7c
    • L
      Added boolean variable to guard fallocate() calls · 4049bcde
      Lakshmi Narayanan 提交于
      Summary:
      Added boolean variable to guard fallocate() calls.
      Set to false to prevent space leaks when tests fail.
      
      Test Plan:
      Compliles
      Set to false and ran log device tests
      
      Reviewers: sdong, lovro, igor
      
      Reviewed By: igor
      
      Subscribers: dhruba
      
      Differential Revision: https://reviews.facebook.net/D48027
      4049bcde
    • I
      Travis shouldn't fail when clang-format suggests improvements · aadf49fe
      Igor Canadi 提交于
      Summary: This diff avoids failing travis test when clang-format fails. We should keep the test green even if clang-format fails. It would be good to look at travis output for pull requests to make sure they're following the good code style. However, we broke travis test 3 times today because of formatting issues. We should keep travis test green if the only thing wrong is the formatting.
      
      Test Plan: none
      
      Reviewers: sdong, yhchiang, anthony
      
      Reviewed By: anthony
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D48291
      aadf49fe
    • I
      Compaction filter on merge operands · d80ce7f9
      Igor Canadi 提交于
      Summary:
      Since Andres' internship is over, I took over https://reviews.facebook.net/D42555 and rebased and simplified it a bit.
      
      The behavior in this diff is a bit simpler than in D42555:
      * only merge operators are passed through FilterMergeValue(). If fitler function returns true, the merge operator is ignored
      * compaction filter is *not* called on: 1) results of merge operations and 2) base values that are getting merged with merge operands (the second case was also true in previous diff)
      
      Do we also need a compaction filter to get called on merge results?
      
      Test Plan: make && make check
      
      Reviewers: lovro, tnovak, rven, yhchiang, sdong
      
      Reviewed By: sdong
      
      Subscribers: noetzli, kolmike, leveldb, dhruba, sdong
      
      Differential Revision: https://reviews.facebook.net/D47847
      d80ce7f9
  4. 07 10月, 2015 7 次提交
  5. 06 10月, 2015 4 次提交
    • I
      Update dump_tool and undump_tool to accept Options · 9babaeed
      Islam AbdelRahman 提交于
      Summary:
      Refactor dump_tool and undump_tool so that it's possible to use them with customized options
      for example setting a specific comparator similar to what Dragon is doing with the LdbTool
      
      https://phabricator.fb.com/diffusion/FBCODE/browse/master/dragon/tools/Ldb.cpp
      
      Test Plan:
      compiles
      used it to dump / undump a dragon shard
      
      Reviewers: sdong, yhchiang, igor
      
      Reviewed By: igor
      
      Subscribers: dhruba, adsharma
      
      Differential Revision: https://reviews.facebook.net/D47853
      9babaeed
    • I
      Fix condition for bottommost level · eb5b637f
      Igor Canadi 提交于
      Summary:
      The function GetBoundaryKeys() returns the smallest key from the first file and largest key from the last file. This is good for any level >0, but it's not correct for level 0. In level 0, files can overlap, so we need to check all files for boundary keys. This bug can cause wrong value for bottommost_level in compaction (value of true, although correct is false), which means we can set sequence numbers to 0 even if the key is not the oldest one in the database.
      
      Herman reported corruption while testing MyRocks. Fortunately, the patch that added the bug was not released yet.
      
      Test Plan: added a new test to compaction_picker_test.
      
      Reviewers: hermanlee4, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D48201
      eb5b637f
    • I
      Make corruption_test more robust · 9eaff629
      Igor Canadi 提交于
      Summary:
      Latest travis failed because of corruption test TableFileIndexData: https://travis-ci.org/facebook/rocksdb/jobs/83732558
      
      This diff makes the test more explicit:
      1. create two files
      2. corrupt the second's file index
      3. expect to get only 5000 keys when range scanning
      
      Test Plan: the test is still passing :)
      
      Reviewers: sdong, rven, yhchiang, kradhakrishnan, IslamAbdelRahman, anthony
      
      Reviewed By: anthony
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D48183
      9eaff629
    • I
      Fix valgrind - Initialize done variable · bf19dbff
      Igor Canadi 提交于
      Summary: Fixes the valgrind warning "Conditional jump or move depends on uninitialised value(s)"
      
      Test Plan: valgrind test, no more warning
      
      Reviewers: sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D48177
      bf19dbff
  6. 03 10月, 2015 4 次提交