1. 31 5月, 2019 4 次提交
    • A
      Fix reopen voting logic in db_stress when using MultiGet (#5374) · bd44ec20
      anand76 提交于
      Summary:
      When the --reopen option is non-zero, the DB is reopened after every ops_per_thread/(reopen+1) ops, with the check being done after every op. With MultiGet, we might do multiple ops in one iteration, which broke the logic that checked when to synchronize among the threads and reopen the DB. This PR fixes that logic.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/5374
      
      Differential Revision: D15559780
      
      Pulled By: anand1976
      
      fbshipit-source-id: ee6563a68045df7f367eca3cbc2500d3e26359ef
      bd44ec20
    • S
      Move test related files under util/ to test_util/ (#5377) · e9e0101c
      Siying Dong 提交于
      Summary:
      There are too many types of files under util/. Some test related files don't belong to there or just are just loosely related. Mo
      ve them to a new directory test_util/, so that util/ is cleaner.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/5377
      
      Differential Revision: D15551366
      
      Pulled By: siying
      
      fbshipit-source-id: 0f5c8653832354ef8caa31749c0143815d719e2c
      e9e0101c
    • A
      Increase Trash/DB size ratio in DBSSTTest.RateLimitedWALDelete (#5366) · a984040f
      anand76 提交于
      Summary:
      By increasing the ratio, we ensure that all files go through background deletion and eliminate flakiness due to timing of deletions.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/5366
      
      Differential Revision: D15549992
      
      Pulled By: anand1976
      
      fbshipit-source-id: d137375cd791fc1a802841412755d6e2b8fd7688
      a984040f
    • Z
      Fix FIFO dynamic options sanitization (#5367) · 87fe4bca
      Zhongyi Xie 提交于
      Summary:
      When dynamically setting options, we check the option type info and skip options that are marked deprecated. However this check is only done at top level, which results in bugs where SetOptions will corrupt option values and cause unexpected system behavior iff a deprecated second level option is set dynamically.
      For exmaple, the following call:
      ```
      dbfull()->SetOptions(
          {{"compaction_options_fifo",
              "{allow_compaction=true;max_table_files_size=1024;ttl=731;}"}});
      ```
      was from pre 6.0 release when `ttl` was part of `compaction_options_fifo`. Now that it got moved out of `compaction_options_fifo`, this call will incorrectly set `compaction_options_fifo.max_table_files_size` to 731 (as `max_table_files_size` is the first one in `OptionsHelper::fifo_compaction_options_type_info` struct) and cause files to gett evicted much faster than expected.
      
      This PR adds verification to second level options like `compaction_options_fifo.ttl` or `compaction_options_fifo.max_table_files_size` when set dynamically, and filter out those marked as deprecated.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/5367
      
      Differential Revision: D15530998
      
      Pulled By: miasantreble
      
      fbshipit-source-id: 818258be5c3abe09cd82d62f3c083572d70fecdd
      87fe4bca
  2. 30 5月, 2019 1 次提交
  3. 29 5月, 2019 4 次提交
    • M
      WritePrepared: skip_concurrency_control option (#5330) · eab4f49a
      Maysam Yabandeh 提交于
      Summary:
      This enables the user to set TransactionDBOptions::skip_concurrency_control so the standard `DB::Write(const WriteOptions& opts, WriteBatch* updates)` would skip the concurrency control. This would give higher throughput to the users who know their use case doesn't need concurrency control.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/5330
      
      Differential Revision: D15525932
      
      Pulled By: maysamyabandeh
      
      fbshipit-source-id: 68421ac1ba34f549a4a8de9ce4c2dccf6fb4b06b
      eab4f49a
    • M
      WritePrepared: disableWAL in commit without prepare (#5327) · f5576c33
      Maysam Yabandeh 提交于
      Summary:
      When committing a transaction without prepare, WritePrepared simply writes the batch to db and add the commit entry to CommitCache. When two_write_queues=true, following the rule of committing only from 2nd write queue, the first write, writes the batch and the only thing the 2nd write does is to write the commit entry to CommitCache. Currently the write batch in 2nd write is set to an empty LogData entry, while the write to the WAL could simply be entirely disabled.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/5327
      
      Differential Revision: D15424546
      
      Pulled By: maysamyabandeh
      
      fbshipit-source-id: 3d9ea3922d5196984c584d62a3ed57e1f7ca7b9f
      f5576c33
    • S
      Add comments in compaction_picker.h · 4d0c3b1f
      Siying Dong 提交于
      Summary: Pull Request resolved: https://github.com/facebook/rocksdb/pull/5357
      
      Differential Revision: D15522825
      
      Pulled By: siying
      
      fbshipit-source-id: d775386b9d10c7179f5d3af2c821ed213abfacdf
      4d0c3b1f
    • Y
      Fix a clang analyze error (#5365) · b5e4ee2e
      Yanqin Jin 提交于
      Summary:
      The analyzer thinks max_allowed_ space can be 0. In that case, free_space will
      be assigned as free_space. It fails to realize that the function call
      GetFreeSpace actually sets the free_space variable properly, which is possibly
      due to lack of inter-function call analysis.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/5365
      
      Differential Revision: D15521790
      
      Pulled By: riversand963
      
      fbshipit-source-id: 839d0a285a1c8773a28a385f0c3be4bb7fbe32cb
      b5e4ee2e
  4. 25 5月, 2019 15 次提交
  5. 24 5月, 2019 8 次提交
  6. 23 5月, 2019 2 次提交
  7. 22 5月, 2019 2 次提交
  8. 21 5月, 2019 2 次提交
  9. 20 5月, 2019 1 次提交
    • M
      WritePrepared: Clarify the need for two_write_queues in unordered_write (#5313) · 5c0e3041
      Maysam Yabandeh 提交于
      Summary:
      WritePrepared transactions when configured with two_write_queues=true offers higher throughput with unordered_write feature without however compromising the rocksdb guarantees. This is because it performs ordering among writes in a 2nd step that is not tied to memtable write speed. The 2nd step is naturally provided by 2PC when the commit phase does the ordering as well. Without 2PC, the 2nd step would only be provided when we use two_write_queues=true, where WritePrepared after performing the writes, in a 2nd step uses the 2nd queue to assign order to the writes.
      The patch clarifies the need for two_write_queues=true in the HISTORY and inline comments of unordered_writes. Moreover it extends the stress tests of WritePrepared to unordred_write.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/5313
      
      Differential Revision: D15379977
      
      Pulled By: maysamyabandeh
      
      fbshipit-source-id: 5b6f05b9b59285dcbf3b0532215ba9fe7d926e00
      5c0e3041
  10. 18 5月, 2019 1 次提交
    • Y
      Log replay integration for secondary instance (#5305) · fb4c6a31
      Yanqin Jin 提交于
      Summary:
      RocksDB secondary can replay both MANIFEST and WAL now.
      On the one hand, the memory usage by memtables will grow after replaying WAL for sometime. On the other hand, replaying the MANIFEST can bring the database persistent data to a more recent point in time, giving us the opportunity to discard some memtables containing out-dated data.
      This PR coordinates the MANIFEST and WAL replay, using the updates from MANIFEST replay to update the active memtable and immutable memtable list of each column family.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/5305
      
      Differential Revision: D15386512
      
      Pulled By: riversand963
      
      fbshipit-source-id: a3ea6fc415f8382d8cf624f52a71ebdcffa3e355
      fb4c6a31