1. 18 5月, 2017 2 次提交
  2. 13 5月, 2017 1 次提交
    • A
      Add GetAllKeyVersions API · 3fa9a39c
      Andrew Kryczka 提交于
      Summary:
      - Introduced an include/ file dedicated to db-related debug functions to avoid making db.h more complex
      - Added debugging function, `GetAllKeyVersions()`, to return a listing of internal data for a range of user keys. The new `struct KeyVersion` exposes data similar to internal key without exposing any internal type.
      - Migrated the "ldb idump" subcommand to use this function
      - The API takes an inclusive-exclusive range to match behavior of "ldb idump". This will be quite annoying for users who want to query a single user key's versions :(.
      Closes https://github.com/facebook/rocksdb/pull/2232
      
      Differential Revision: D4976007
      
      Pulled By: ajkr
      
      fbshipit-source-id: cab375da53a7595d6575af2b7e3b776aa3ad793e
      3fa9a39c
  3. 08 5月, 2017 1 次提交
    • Y
      Add bulk create/drop column family API · 2cd00773
      Yi Wu 提交于
      Summary:
      Adding DB::CreateColumnFamilie() and DB::DropColumnFamilies() to bulk create/drop column families. This is to address the problem creating/dropping 1k column families takes minutes. The bottleneck is we persist options files for every single column family create/drop, and it parses the persisted options file for verification, which take a lot CPU time.
      
      The new APIs simply create/drop column families individually, and persist options file once at the end. This improves create 1k column families to within ~0.1s. Further improvement can be merge manifest write to one IO.
      Closes https://github.com/facebook/rocksdb/pull/2248
      
      Differential Revision: D5001578
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: d4e00bda671451e0b314c13e12ad194b1704aa03
      2cd00773
  4. 05 5月, 2017 2 次提交
  5. 04 5月, 2017 2 次提交
  6. 28 4月, 2017 1 次提交
    • D
      Remove double buffering on RandomRead on Windows. · cdad04b0
      Dmitri Smirnov 提交于
      Summary:
      Remove double buffering on RandomRead on Windows.
        With more logic appear in file reader/write Read no longer
        obeys forwarding calls to Windows implementation.
        Previously direct_io (unbuffered) was only available on Windows
        but now is supported as generic.
        We remove intermediate buffering on Windows.
        Remove random_access_max_buffer_size option which was windows specific.
        Non-zero values for that opton introduced unnecessary lock contention.
        Remove Env::EnableReadAhead(), Env::ShouldForwardRawRequest() that are
        no longer necessary.
        Add aligned buffer reads for cases when requested reads exceed read ahead size.
      Closes https://github.com/facebook/rocksdb/pull/2105
      
      Differential Revision: D4847770
      
      Pulled By: siying
      
      fbshipit-source-id: 8ab48f8e854ab498a4fd398a6934859792a2788f
      cdad04b0
  7. 27 4月, 2017 1 次提交
    • A
      Add user stats Reset API · efc361ef
      Andrew Kryczka 提交于
      Summary:
      It resets all the ticker and histogram stats to zero. Needed to change the locking a bit since Reset() is the only operation that manipulates multiple tickers/histograms together, and that operation should be seen as atomic by other operations that access tickers/histograms.
      Closes https://github.com/facebook/rocksdb/pull/2213
      
      Differential Revision: D4952232
      
      Pulled By: ajkr
      
      fbshipit-source-id: c0475c3e4c7b940120d53891b69c3091149a0679
      efc361ef
  8. 21 4月, 2017 1 次提交
    • S
      tools/check_format_compatible.sh to cover option file loading too · 97005dbd
      Siying Dong 提交于
      Summary:
      tools/check_format_compatible.sh will check a newer version of RocksDB can open option files generated by older version releases. In order to achieve that, a new parameter "--try_load_options" is added to ldb. With this parameter set, if option file exists, we load the option file and use it to open the DB. With this opiton set, we can validate option loading logic.
      Closes https://github.com/facebook/rocksdb/pull/2178
      
      Differential Revision: D4914989
      
      Pulled By: siying
      
      fbshipit-source-id: db114f7724fcb41e5e9483116d84d7c4b8389ca4
      97005dbd
  9. 19 4月, 2017 2 次提交
  10. 14 4月, 2017 1 次提交
    • A
      change use_direct_writes to use_direct_io_for_flush_and_compaction · 44fa8ece
      Aaron Gao 提交于
      Summary:
      Replace Options::use_direct_writes with Options::use_direct_io_for_flush_and_compaction
      Now if Options::use_direct_io_for_flush_and_compaction = true, we will enable direct io for both reads and writes for flush and compaction job. Whereas Options::use_direct_reads controls user reads like iterator and Get().
      Closes https://github.com/facebook/rocksdb/pull/2117
      
      Differential Revision: D4860912
      
      Pulled By: lightmark
      
      fbshipit-source-id: d93575a8a5e780cf7e40797287edc425ee648c19
      44fa8ece
  11. 13 4月, 2017 1 次提交
  12. 06 4月, 2017 2 次提交
  13. 05 4月, 2017 1 次提交
    • A
      Level-based L0->L0 compaction · d659faad
      Andrew Kryczka 提交于
      Summary:
      Level-based L0->L0 compaction operates on spans of files that aren't currently being compacted. It reduces the number of L0 files, thus making write stall conditions harder to reach.
      
      - L0->L0 is triggered when base level is unavailable due to pending compactions
      - L0->L0 always outputs one file of at most `max_level0_burst_file_size` bytes.
      - Subcompactions are disabled for L0->L0 since we want to output one file.
      - Input files are chosen as the longest span of available files that will fit within the size limit. This minimizes number of files in L0.
      Closes https://github.com/facebook/rocksdb/pull/2027
      
      Differential Revision: D4760318
      
      Pulled By: ajkr
      
      fbshipit-source-id: 9d07183
      d659faad
  14. 04 4月, 2017 1 次提交
  15. 31 3月, 2017 1 次提交
    • S
      Option to fail a request as incomplete when skipping too many internal keys · c6d04f2e
      Sagar Vemuri 提交于
      Summary:
      Operations like Seek/Next/Prev sometimes take too long to complete when there are many internal keys to be skipped. Adding an option, max_skippable_internal_keys -- which could be used to set a threshold for the maximum number of keys that can be skipped, will help to address these cases where it is much better to fail a request (as incomplete) than to wait for a considerable time for the request to complete.
      
      This feature -- to fail an iterator seek request as incomplete, is disabled by default when max_skippable_internal_keys = 0. It is enabled only when max_skippable_internal_keys > 0.
      
      This feature is based on the discussion mentioned in the PR https://github.com/facebook/rocksdb/pull/1084.
      Closes https://github.com/facebook/rocksdb/pull/2000
      
      Differential Revision: D4753223
      
      Pulled By: sagar0
      
      fbshipit-source-id: 1c973f7
      c6d04f2e
  16. 29 3月, 2017 1 次提交
  17. 23 3月, 2017 1 次提交
  18. 21 3月, 2017 1 次提交
  19. 14 3月, 2017 1 次提交
  20. 10 3月, 2017 1 次提交
  21. 24 2月, 2017 2 次提交
  22. 22 2月, 2017 1 次提交
  23. 18 2月, 2017 2 次提交
  24. 14 2月, 2017 1 次提交
    • S
      Remove disableDataSync option · eb912a92
      Sagar Vemuri 提交于
      Summary:
      Remove disableDataSync, and another similarly named disable_data_sync options.
      This is being done to simplify options, and also because the performance gains of this feature can be achieved by other methods.
      Closes https://github.com/facebook/rocksdb/pull/1859
      
      Differential Revision: D4541292
      
      Pulled By: sagar0
      
      fbshipit-source-id: 5b3a6ca
      eb912a92
  25. 11 2月, 2017 1 次提交
  26. 09 2月, 2017 1 次提交
  27. 07 2月, 2017 1 次提交
  28. 02 2月, 2017 1 次提交
  29. 27 1月, 2017 1 次提交
  30. 21 1月, 2017 1 次提交
  31. 29 12月, 2016 2 次提交
  32. 13 12月, 2016 1 次提交