1. 14 2月, 2017 2 次提交
    • Y
      Make DBImpl::has_unpersisted_data_ atomic · c2247dc1
      Yi Wu 提交于
      Summary:
      Seems to me `has_unpersisted_data_` is read from read thread and write
      from write thread concurrently without synchronization. Making it an
      atomic.
      
      I update the logic not because seeing any problem with it, but it just
      feel confusing.
      Closes https://github.com/facebook/rocksdb/pull/1869
      
      Differential Revision: D4555837
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: eff2ab8
      c2247dc1
    • 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
  2. 11 2月, 2017 1 次提交
    • D
      Fix repair issues · a5adda06
      Dmitri Smirnov 提交于
      Summary:
      Record the first parsed sequence number as the minimum
        so we can find the true minimum otherwise everything is larger than zero.
        Fix the comparator name comparision.
      Closes https://github.com/facebook/rocksdb/pull/1858
      
      Differential Revision: D4544365
      
      Pulled By: ajkr
      
      fbshipit-source-id: 439cbc2
      a5adda06
  3. 09 2月, 2017 2 次提交
  4. 07 2月, 2017 3 次提交
    • M
      Two-level Indexes · 69d5262c
      Maysam Yabandeh 提交于
      Summary:
      Partition Index blocks and use a Partition-index as a 2nd level index.
      
      The two-level index can be used by setting
      BlockBasedTableOptions::kTwoLevelIndexSearch as the index type and
      configuring BlockBasedTableOptions::index_per_partition
      
      t15539501
      Closes https://github.com/facebook/rocksdb/pull/1814
      
      Differential Revision: D4473535
      
      Pulled By: maysamyabandeh
      
      fbshipit-source-id: bffb87e
      69d5262c
    • D
      Windows thread · 0a4cdde5
      Dmitri Smirnov 提交于
      Summary:
      introduce new methods into a public threadpool interface,
      - allow submission of std::functions as they allow greater flexibility.
      - add Joining methods to the implementation to join scheduled and submitted jobs with
        an option to cancel jobs that did not start executing.
      - Remove ugly `#ifdefs` between pthread and std implementation, make it uniform.
      - introduce pimpl for a drop in replacement of the implementation
      - Introduce rocksdb::port::Thread typedef which is a replacement for std::thread.  On Posix Thread defaults as before std::thread.
      - Implement WindowsThread that allocates memory in a more controllable manner than windows std::thread with a replaceable implementation.
      - should be no functionality changes.
      Closes https://github.com/facebook/rocksdb/pull/1823
      
      Differential Revision: D4492902
      
      Pulled By: siying
      
      fbshipit-source-id: c74cb11
      0a4cdde5
    • V
      Adding GetApproximateMemTableStats method · 1aaa898c
      Vitaliy Liptchinsky 提交于
      Summary:
      Added method that returns approx num of entries as well as size for memtables.
      Closes https://github.com/facebook/rocksdb/pull/1841
      
      Differential Revision: D4511990
      
      Pulled By: VitaliyLi
      
      fbshipit-source-id: 9a4576e
      1aaa898c
  5. 04 2月, 2017 1 次提交
  6. 03 2月, 2017 1 次提交
  7. 28 1月, 2017 2 次提交
  8. 27 1月, 2017 2 次提交
  9. 26 1月, 2017 3 次提交
  10. 25 1月, 2017 3 次提交
  11. 24 1月, 2017 3 次提交
  12. 21 1月, 2017 6 次提交
  13. 20 1月, 2017 3 次提交
  14. 19 1月, 2017 1 次提交
    • A
      Fix DeleteRange file boundary correctness issue with max_compaction_bytes · f9d18e22
      Andrew Kryczka 提交于
      Summary:
      Cockroachdb exposed this bug in #1778. The bug happens when a compaction's output files are ended due to exceeding max_compaction_bytes. In that case we weren't taking into account the next file's start key when deciding how far to extend the current file's max_key. This caused the non-overlapping key-range invariant to be violated.
      
      Note this was correctly handled for the usual case of cutting compaction output, which is file size exceeding max_output_file_size. I am not sure why these are two separate code paths, but we can consider refactoring it to prevent such errors in the future.
      Closes https://github.com/facebook/rocksdb/pull/1784
      
      Differential Revision: D4430235
      
      Pulled By: ajkr
      
      fbshipit-source-id: 80af748
      f9d18e22
  15. 18 1月, 2017 2 次提交
  16. 12 1月, 2017 2 次提交
  17. 10 1月, 2017 1 次提交
    • D
      Fix Windows environment issues · 3c233ca4
      Dmitri Smirnov 提交于
      Summary:
      Enable directIO on WritableFileImpl::Append
           with offset being current length of the file.
           Enable UniqueID tests on Windows, disable others but
           leeting them to compile. Unique tests are valuable to
           detect failures on different filesystems and upcoming
           ReFS.
           Clear output in WinEnv Getchildren.This is different from
           previous strategy, do not touch output on failure.
           Make sure DBTest.OpenWhenOpen works with windows error message
      Closes https://github.com/facebook/rocksdb/pull/1746
      
      Differential Revision: D4385681
      
      Pulled By: IslamAbdelRahman
      
      fbshipit-source-id: c07b702
      3c233ca4
  18. 09 1月, 2017 2 次提交
    • M
      Revert "PinnableSlice" · d0ba8ec8
      Maysam Yabandeh 提交于
      Summary:
      This reverts commit 54d94e9c.
      
      The pull request was landed by mistake.
      Closes https://github.com/facebook/rocksdb/pull/1755
      
      Differential Revision: D4391678
      
      Pulled By: maysamyabandeh
      
      fbshipit-source-id: 36d5149
      d0ba8ec8
    • M
      PinnableSlice · 54d94e9c
      Maysam Yabandeh 提交于
      Summary:
      Currently the point lookup values are copied to a string provided by the user.
      This incures an extra memcpy cost. This patch allows doing point lookup
      via a PinnableSlice which pins the source memory location (instead of
      copying their content) and releases them after the content is consumed
      by the user. The old API of Get(string) is translated to the new API
      underneath.
      
       Here is the summary for improvements:
       1. value 100 byte: 1.8%  regular, 1.2% merge values
       2. value 1k   byte: 11.5% regular, 7.5% merge values
       3. value 10k byte: 26% regular,    29.9% merge values
      
       The improvement for merge could be more if we extend this approach to
       pin the merge output and delay the full merge operation until the user
       actually needs it. We have put that for future work.
      
      PS:
      Sometimes we observe a small decrease in performance when switching from
      t5452014 to this patch but with the old Get(string) API. The difference
      is a little and could be noise. More importantly it is safely
      cancelled
      Closes https://github.com/facebook/rocksdb/pull/1732
      
      Differential Revision: D4374613
      
      Pulled By: maysamyabandeh
      
      fbshipit-source-id: a077f1a
      54d94e9c