1. 30 8月, 2017 3 次提交
  2. 29 8月, 2017 3 次提交
  3. 27 8月, 2017 1 次提交
  4. 26 8月, 2017 3 次提交
    • M
      WriteAtPrepare: Efficient read from snapshot list · fbfa3e7a
      Maysam Yabandeh 提交于
      Summary:
      Divide the old snapshots to two lists: a few that fit into a cached array and the rest in a vector, which is expected to be empty in normal cases. The former is to optimize concurrent reads from snapshots without requiring locks. It is done by an array of std::atomic, from which std::memory_order_acquire reads are compiled to simple read instructions in most of the x86_64 architectures.
      Closes https://github.com/facebook/rocksdb/pull/2758
      
      Differential Revision: D5660504
      
      Pulled By: maysamyabandeh
      
      fbshipit-source-id: 524fcf9a8e7f90a92324536456912a99aaa6740c
      fbfa3e7a
    • M
      Blog post for FlushWAL · b01f426f
      Maysam Yabandeh 提交于
      Summary: Closes https://github.com/facebook/rocksdb/pull/2790
      
      Differential Revision: D5711609
      
      Pulled By: maysamyabandeh
      
      fbshipit-source-id: ea103dac013c0a6a031834541ad67e7d95a80fe8
      b01f426f
    • Y
      make blob file close synchronous · 503db684
      Yi Wu 提交于
      Summary:
      Fixing flaky blob_db_test.
      
      To close a blob file, blob db used to add a CloseSeqWrite job to the background thread to close it. Changing file close to be synchronous in order to simplify logic, and fix flaky blob_db_test.
      Closes https://github.com/facebook/rocksdb/pull/2787
      
      Differential Revision: D5699387
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: dd07a945cd435cd3808fce7ee4ea57817409474a
      503db684
  5. 25 8月, 2017 3 次提交
    • Y
      Allow DB reopen with reduced options.num_levels · 3c840d1a
      Yi Wu 提交于
      Summary:
      Allow user to reduce number of levels in LSM by issue a full CompactRange() and put the result in a lower level, and then reopen DB with reduced options.num_levels. Previous this will fail on reopen on when recovery replaying the previous MANIFEST and found a historical file was on a higher level than the new options.num_levels. The workaround was after CompactRange(), reopen the DB with old num_levels, which will create a new MANIFEST, and then reopen the DB again with new num_levels.
      
      This patch relax the check of levels during recovery. It allows DB to open if there was a historical file on level > options.num_levels, but was also deleted.
      Closes https://github.com/facebook/rocksdb/pull/2740
      
      Differential Revision: D5629354
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: 545903f6b36b6083e8cbaf777176aef2f488021d
      3c840d1a
    • Y
      Fix DropColumnFamily data race · 92bfd6c5
      Yi Wu 提交于
      Summary:
      It should hold db mutex while accessing max_total_in_memory_state_.
      Closes https://github.com/facebook/rocksdb/pull/2784
      
      Differential Revision: D5696536
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: 45430634d7fe11909b38e42e5f169f618681c4ee
      92bfd6c5
    • M
      Pinnableslice examples and blog post · 7fdf735d
      Maysam Yabandeh 提交于
      Summary: Closes https://github.com/facebook/rocksdb/pull/2788
      
      Differential Revision: D5700189
      
      Pulled By: maysamyabandeh
      
      fbshipit-source-id: 6f043e652093ff904e52f6d35190855781b87673
      7fdf735d
  6. 24 8月, 2017 9 次提交
  7. 23 8月, 2017 3 次提交
  8. 22 8月, 2017 3 次提交
  9. 21 8月, 2017 2 次提交
    • Y
      Blob db create a snapshot before every read · 5b68b114
      yiwu-arbug 提交于
      Summary:
      If GC kicks in between
      
      * A Get() reads index entry from base db.
      * The Get() read from a blob file
      
      The GC can delete the corresponding blob file, making the key not found. Fortunately we have existing logic to avoid deleting a blob file if it is referenced by a snapshot. So the fix is to explicitly create a snapshot before reading index entry from base db.
      Closes https://github.com/facebook/rocksdb/pull/2754
      
      Differential Revision: D5655956
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: e4ccbc51331362542e7343175bbcbdea5830f544
      5b68b114
    • Y
      GC the oldest file when out of space · 4624ae52
      yiwu-arbug 提交于
      Summary:
      When out of space, blob db should GC the oldest file. The current implementation GC the newest one instead. Fixing it.
      Closes https://github.com/facebook/rocksdb/pull/2757
      
      Differential Revision: D5657611
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: 56c30a4c52e6ab04551dda8c5c46006d4070b28d
      4624ae52
  10. 20 8月, 2017 1 次提交
  11. 19 8月, 2017 4 次提交
  12. 18 8月, 2017 4 次提交
  13. 17 8月, 2017 1 次提交
    • S
      Allow merge operator to be called even with a single operand · 9a44b4c3
      Sagar Vemuri 提交于
      Summary:
      Added a function `MergeOperator::DoesAllowSingleMergeOperand()` to allow invoking a merge operator even with a single merge operand, if overriden.
      
      This is needed for Cassandra-on-RocksDB work. All Cassandra writes are through merges and this will allow a single merge-value to be updated in the merge-operator invoked via a compaction, if needed, due to an expired TTL.
      Closes https://github.com/facebook/rocksdb/pull/2721
      
      Differential Revision: D5608706
      
      Pulled By: sagar0
      
      fbshipit-source-id: f299f9f91c4d1ac26e48bd5906e122c1c5e5f3fc
      9a44b4c3