1. 02 9月, 2015 1 次提交
  2. 14 8月, 2015 1 次提交
    • M
      Add a 'tools' target. · 9f0dd222
      maurice barnum 提交于
      My use case is to build the rocksdb static library and tools, and
      ideally I'd like to not spend time building the shared library and other
      targets that I won't use.
      9f0dd222
  3. 12 8月, 2015 1 次提交
    • A
      Pessimistic Transactions · c2f2cb02
      agiardullo 提交于
      Summary:
      Initial implementation of Pessimistic Transactions.  This diff contains the api changes discussed in D38913.  This diff is pretty large, so let me know if people would prefer to meet up to discuss it.
      
      MyRocks folks:  please take a look at the API in include/rocksdb/utilities/transaction[_db].h and let me know if you have any issues.
      
      Also, you'll notice a couple of TODOs in the implementation of RollbackToSavePoint().  After chatting with Siying, I'm going to send out a separate diff for an alternate implementation of this feature that implements the rollback inside of WriteBatch/WriteBatchWithIndex.  We can then decide which route is preferable.
      
      Next, I'm planning on doing some perf testing and then integrating this diff into MongoRocks for further testing.
      
      Test Plan: Unit tests, db_bench parallel testing.
      
      Reviewers: igor, rven, sdong, yhchiang, yoshinorim
      
      Reviewed By: sdong
      
      Subscribers: hermanlee4, maykov, spetrunia, leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D40869
      c2f2cb02
  4. 06 8月, 2015 3 次提交
    • S
      valgrind_check to exit on test failures · fca88f8e
      sdong 提交于
      Summary: Currently, valgrind_check doesn't fail on test failures, which creates confusion. valgrind_check should fail if test fails.
      
      Test Plan: Manually change tests to return test failure or cause memory leak and see valgrind_check has the correct behavior.
      
      Reviewers: anthony, yhchiang, IslamAbdelRahman, igor, kradhakrishnan, rven
      
      Reviewed By: rven
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D43629
      fca88f8e
    • S
      Add two unit tests for SyncWAL() · 7ccd1c80
      sdong 提交于
      Summary:
      Add two unit tests for SyncWAL(). One makes sure SyncWAL() doesn't block writes in the other thread. Another one makes sure SyncWAL() doesn't wait ongoing writes to finish before being executed.
      
      Create a new test file db_wal_test and move two WAL related tests from db_test to here.
      
      Test Plan: Run the new tests
      
      Reviewers: IslamAbdelRahman, rven, kradhakrishnan, kolmike, tnovak, yhchiang
      
      Reviewed By: yhchiang
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D43605
      7ccd1c80
    • S
      "make commit-prereq" should clean up rocksjava properly · 8ecb51a7
      sdong 提交于
      Summary: "make commit-prereq" fails to clean up java, which can cause rocksjava failure.
      
      Test Plan: Run commit-prepreq
      
      Reviewers: IslamAbdelRahman, rven, kradhakrishnan, yhchiang
      
      Reviewed By: yhchiang
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D43575
      8ecb51a7
  5. 05 8月, 2015 2 次提交
    • I
      Support delete rate limiting · c45a57b4
      Islam AbdelRahman 提交于
      Summary:
      Introduce DeleteScheduler that allow enforcing a rate limit on file deletion
      Instead of deleting files immediately, files are moved to trash directory and deleted in a background thread that apply sleep penalty between deletes if needed.
      
      I have updated PurgeObsoleteFiles and PurgeObsoleteWALFiles to use the delete_scheduler instead of env_->DeleteFile
      
      Test Plan:
      added delete_scheduler_test
      existing unit tests
      
      Reviewers: kradhakrishnan, anthony, rven, yhchiang, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba
      
      Differential Revision: https://reviews.facebook.net/D43221
      c45a57b4
    • S
      crash_test to cover simply cases · 1205bdbc
      sdong 提交于
      Summary:
      crash_test now only runs complicated options, multiple column families, prefix hash, frequently changing options, many compaction threads, etc. These options are good to cover new features but we loss coverage in most common use cases. Furthermore, by running only for multiple column families, we are not able to create LSM trees that are large enough to cover some stress cases.
      Make half of crash_test runs the simply tests: single column family, default mem table, one compaction thread, no change options.
      
      Test Plan: Run crash_test
      
      Reviewers: rven, yhchiang, IslamAbdelRahman, kradhakrishnan
      
      Reviewed By: kradhakrishnan
      
      Subscribers: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D43461
      1205bdbc
  6. 04 8月, 2015 1 次提交
    • Y
      Add CompactOnDeletionCollector in utilities/table_properties_collectors. · 26894303
      Yueh-Hsuan Chiang 提交于
      Summary:
      This diff adds CompactOnDeletionCollector in utilities/table_properties_collectors,
      which applies a sliding window to a sst file and mark this file as need-compaction
      when it observe enough deletion entries within the consecutive keys covered by
      the sliding window.
      
      Test Plan: compact_on_deletion_collector_test
      
      Reviewers: igor, anthony, IslamAbdelRahman, kradhakrishnan, yoshinorim, sdong
      
      Reviewed By: sdong
      
      Subscribers: maykov, dhruba
      
      Differential Revision: https://reviews.facebook.net/D41175
      26894303
  7. 25 7月, 2015 1 次提交
    • A
      Add missing hashCode() implementation · 6a82fba7
      Andres Noetzli 提交于
      Summary:
      Whenever a Java class implements equals(), it has to implement hashCode(), otherwise
      there might be weird behavior when inserting instances of the class in a hash map for
      example. This adds two missing hashCode() implementations and extends tests to test
      the hashCode() implementations.
      
      Test Plan: make jtest
      
      Reviewers: rven, igor, sdong, yhchiang
      
      Reviewed By: yhchiang
      
      Subscribers: anthony, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D43017
      6a82fba7
  8. 23 7月, 2015 1 次提交
  9. 22 7月, 2015 1 次提交
    • S
      RangeSync not to sync last 1MB of the file · 3dbf4ba2
      Siying Dong 提交于
      Summary:
      From other ones' investigation:
      
      "sync_file_range() behavior highly depends on kernel version and filesystem.
      
      xfs does neighbor page flushing outside of the specified ranges. For example, sync_file_range(fd, 8192, 16384) does not only trigger flushing page #3 to #4, but also flushing many more dirty pages (i.e. up to page#16)... Ranges of the sync_file_range() should be far enough from write() offset (at least 1MB)."
      
      Test Plan: make all check
      
      Reviewers: igor, rven, kradhakrishnan, yhchiang, IslamAbdelRahman, anthony
      
      Reviewed By: anthony
      
      Subscribers: yoshinorim, MarkCallaghan, sumeet, domas, dhruba, leveldb, ljin
      
      Differential Revision: https://reviews.facebook.net/D15807
      3dbf4ba2
  10. 21 7月, 2015 7 次提交
  11. 18 7月, 2015 2 次提交
    • I
      Don't let flushes preempt compactions · 35ca5936
      Igor Canadi 提交于
      Summary:
      When we first started, max_background_flushes was 0 by default and compaction thread was executing flushes (since there was no flush thread). Then, we switched the default max_background_flushes to 1. However, we still support the case where there is no flush thread and flushes are done in compaction. This is making our code a bit more complicated. By not supporting this use-case we can make our code simpler.
      
      We have a special case that when you set max_background_flushes to 0, we
      schedule the flush to execute on the compaction thread.
      
      Test Plan: make check (there might be some unit tests that depend on this behavior)
      
      Reviewers: IslamAbdelRahman, yhchiang, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D41931
      35ca5936
    • A
      Fixed and simplified merge_helper · 1d20fa9d
      Andres Notzli 提交于
      Summary:
      MergeUntil was not reporting a success when merging an operand with
      a Value/Deletion despite the comments in MergeHelper and CompactionJob
      indicating otherwise. This lead to operands being written to the compaction
      output unnecessarily:
      
      M1 M2 M3 P M4 M5 --> (P+M1+M2+M3) M2 M3 M4 M5 (before the diff)
      M1 M2 M3 P M4 M5 --> (P+M1+M2+M3) M4 M5 (after the diff)
      
      In addition, the code handling Values/Deletion was basically identical.
      This patch unifies the code. Finally, this patch also adds testing for
      merge_helper.
      
      Test Plan: make && make check
      
      Reviewers: sdong, rven, yhchiang, tnovak, igor
      
      Reviewed By: igor
      
      Subscribers: tnovak, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D42351
      1d20fa9d
  12. 15 7月, 2015 6 次提交
  13. 14 7月, 2015 3 次提交
  14. 24 6月, 2015 1 次提交
  15. 20 6月, 2015 3 次提交
  16. 19 6月, 2015 1 次提交
    • Y
      Remove unused target --- compactor_test · 71b438c4
      Yueh-Hsuan Chiang 提交于
      Summary:
      Remove compactor_test, which depends on a directory not exist
      in our code base.
          make compactor_test
          GEN      util/build_version.cc
          GEN      util/build_version.cc
          make: *** No rule to make target `utilities/compaction/compactor_test.o', needed by `compactor_test'.  Stop.
      
      Test Plan: verify the output message of make compactor_test
      
      Reviewers: rven, anthony, kradhakrishnan, igor, IslamAbdelRahman, sdong
      
      Reviewed By: sdong
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D40341
      71b438c4
  17. 11 6月, 2015 1 次提交
  18. 03 6月, 2015 1 次提交
    • Y
      Allow EventListener::OnCompactionCompleted to return CompactionJobStats. · fe5c6321
      Yueh-Hsuan Chiang 提交于
      Summary:
      Allow EventListener::OnCompactionCompleted to return CompactionJobStats,
      which contains useful information about a compaction.
      
      Example CompactionJobStats returned by OnCompactionCompleted():
          smallest_output_key_prefix 05000000
          largest_output_key_prefix 06990000
          elapsed_time 42419
          num_input_records 300
          num_input_files 3
          num_input_files_at_output_level 2
          num_output_records 200
          num_output_files 1
          actual_bytes_input 167200
          actual_bytes_output 110688
          total_input_raw_key_bytes 5400
          total_input_raw_value_bytes 300000
          num_records_replaced 100
          is_manual_compaction 1
      
      Test Plan: Developed a mega test in db_test which covers 20 variables in CompactionJobStats.
      
      Reviewers: rven, igor, anthony, sdong
      
      Reviewed By: sdong
      
      Subscribers: tnovak, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D38463
      fe5c6321
  19. 30 5月, 2015 2 次提交
    • A
      Optimistic Transactions · dc9d70de
      agiardullo 提交于
      Summary: Optimistic transactions supporting begin/commit/rollback semantics.  Currently relies on checking the memtable to determine if there are any collisions at commit time.  Not yet implemented would be a way of enuring the memtable has some minimum amount of history so that we won't fail to commit when the memtable is empty.  You should probably start with transaction.h to get an overview of what is currently supported.
      
      Test Plan: Added a new test, but still need to look into stress testing.
      
      Reviewers: yhchiang, igor, rven, sdong
      
      Reviewed By: sdong
      
      Subscribers: adamretter, MarkCallaghan, leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D33435
      dc9d70de
    • I
      Decrease number of jobs in make release · a3da5902
      Igor Canadi 提交于
      Summary: as title
      
      Test Plan: make release
      
      Reviewers: MarkCallaghan, sdong
      
      Reviewed By: sdong
      
      Subscribers: sdong, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D38853
      a3da5902
  20. 23 5月, 2015 1 次提交
    • I
      Run tests sequentally if J=1 · 309a9d07
      Igor Canadi 提交于
      Summary: Sometimes we want to run tests sequentially. J=1 gives us that option
      
      Test Plan:
      make J=1 check -- sequential
      make J=2 check -- parallel
      
      Reviewers: sdong, yhchiang, meyering
      
      Reviewed By: meyering
      
      Subscribers: dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D38805
      309a9d07