1. 15 9月, 2018 5 次提交
  2. 14 9月, 2018 3 次提交
  3. 13 9月, 2018 1 次提交
    • M
      Reduce IndexBlockIter size (#4358) · 9ea9007b
      Maysam Yabandeh 提交于
      Summary:
      With #3983 the size of IndexBlockIter was increased. This had resulted in a regression on P50 latencies in one of our benchmarks. The patch reduces IndexBlockIter size be eliminating active_comparator_ field from the class.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/4358
      
      Differential Revision: D9781737
      
      Pulled By: maysamyabandeh
      
      fbshipit-source-id: 71e2b28d90ff0813db9e04b737ae73e185583c52
      9ea9007b
  4. 12 9月, 2018 3 次提交
    • D
      Initialize uninitialized std::atomic variables · ca92fc71
      Dan Melnic 提交于
      Summary: Initialize uninitialized std::atomic variables
      
      Reviewed By: yfeldblum
      
      Differential Revision: D9758050
      
      fbshipit-source-id: 865d89eddafc81f3cab6f11e2ebb669f7ff70d04
      ca92fc71
    • Y
      Fix Makefile target 'jtest' on PowerPC (#4357) · 3ba3b153
      Yanqin Jin 提交于
      Summary:
      Before the fix:
      On a PowerPC machine, run the following
      ```
      $ make jtest
      ```
      The command will fail due to "undefined symbol: crc32c_ppc". It was caused by
      'rocksdbjava' Makefile target not including crc32c_ppc object files when
      generating the shared lib. The fix is simple.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/4357
      
      Differential Revision: D9779474
      
      Pulled By: riversand963
      
      fbshipit-source-id: 3c5ec9068c2b9c796e6500f71cd900267064fd51
      3ba3b153
    • P
      Lint TARGETS files with buildifier · dbf44c31
      Philip Jameson 提交于
      Summary: Build file formatting
      
      Reviewed By: mzlee
      
      Differential Revision: D9728238
      
      fbshipit-source-id: 99a266d5d2260eabfd63a200b2994c6850b59cf4
      dbf44c31
  5. 11 9月, 2018 2 次提交
    • A
      Restrict RangeDelAggregator's tombstone end-key truncation (#4356) · c86a22ac
      Abhishek Madan 提交于
      Summary:
      `RangeDelAggregator::AddTombstones` contained an assertion which stated that, if a range tombstone extended past the largest key in the sstable, then `FileMetaData::largest` must have a sentinel sequence number of `kMaxSequenceNumber`, which implies that the tombstone's end key is safe to truncate. However, `largest` will not be a sentinel key when the next sstable in the level's smallest key is equal to the current sstable's largest key, which caused the assertion to fail.
      
      The assertion must hold for the truncation to be safe, so it has been moved to an additional check on end-key truncation.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/4356
      
      Differential Revision: D9760891
      
      Pulled By: abhimadan
      
      fbshipit-source-id: 7c20c3885cd919dcd14f291f88fd27aa33defebc
      c86a22ac
    • M
      Skip concurrency control during recovery of pessimistic txn (#4346) · 3f528226
      Maysam Yabandeh 提交于
      Summary:
      TransactionOptions::skip_concurrency_control allows pessimistic transactions to skip the overhead of concurrency control. This could be as an optimization if the application knows that the transaction would not have any conflict with concurrent transactions. It is currently used during recovery assuming (i) application guarantees no conflict between prepared transactions in the WAL (ii) application guarantees that recovered transactions will be rolled back/commit before new transactions start.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/4346
      
      Differential Revision: D9759149
      
      Pulled By: maysamyabandeh
      
      fbshipit-source-id: f896e84fa58b0b584be904c7fd3883a41ea3215b
      3f528226
  6. 08 9月, 2018 1 次提交
  7. 07 9月, 2018 3 次提交
  8. 06 9月, 2018 2 次提交
  9. 01 9月, 2018 2 次提交
    • A
      Reduce empty SST creation/deletion in compaction (#4336) · 1a88c437
      Andrew Kryczka 提交于
      Summary:
      This is a followup to #4311. Checking `!RangeDelAggregator::IsEmpty()` before opening a dedicated range tombstone SST did not properly prevent empty SSTs from being generated. That's because it relies on `CollapsedRangeDelMap::Size`, which had an underflow bug when the map was empty. This PR fixes that underflow bug.
      
      Also fixed an uninitialized variable in db_stress.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/4336
      
      Differential Revision: D9600080
      
      Pulled By: ajkr
      
      fbshipit-source-id: bc6980ca79d2cd01b825ebc9dbccd51c1a70cfc7
      1a88c437
    • Y
      BlobDB: GetLiveFiles and GetLiveFilesMetadata return relative path (#4326) · 462ed70d
      Yi Wu 提交于
      Summary:
      `GetLiveFiles` and `GetLiveFilesMetadata` should return path relative to db path.
      
      It is a separate issue when `path_relative` is false how can we return relative path. But `DBImpl::GetLiveFiles` don't handle it as well when there are multiple `db_paths`.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/4326
      
      Differential Revision: D9545904
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: 6762d879fcb561df2b612e6fdfb4a6b51db03f5d
      462ed70d
  10. 31 8月, 2018 2 次提交
    • Z
      Rename DecodeCFAndKey to resolve naming conflict in unity test (#4323) · 1cf17ba5
      Zhongyi Xie 提交于
      Summary:
      Currently unity-test is failing because both trace_replay.cc and trace_analyzer_tool.cc defined `DecodeCFAndKey` under anonymous namespace. It is supposed to be fine except unity test will dump all source files together and now we have a conflict.
      Another issue with trace_analyzer_tool.cc is that it is using some utility functions from ldb_cmd which is not included in Makefile for unity_test, I chose to update TESTHARNESS to include LIBOBJECTS. Feel free to comment if there is a less intrusive way to solve this.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/4323
      
      Differential Revision: D9599170
      
      Pulled By: miasantreble
      
      fbshipit-source-id: 38765b11f8e7de92b43c63bdcf43ea914abdc029
      1cf17ba5
    • Y
      BlobDB: Improve info log (#4324) · 3e801e5e
      Yi Wu 提交于
      Summary:
      Improve BlobDB info logs.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/4324
      
      Differential Revision: D9545074
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: 678ab8820a78758fee451be3b123b0680c1081df
      3e801e5e
  11. 30 8月, 2018 4 次提交
    • S
      Remove trace_analyzer_tool from LIB_SOURCES (#4331) · f46dd5cb
      Sagar Vemuri 提交于
      Summary:
      trace_analyzer_tool should only be in ANALYZER_LIB_SOURCES and not in LIB_SOURCES.
      This fixes java_test travis build failures seen in jtest.
      Blame: a6d3de4e
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/4331
      
      Differential Revision: D9560377
      
      Pulled By: sagar0
      
      fbshipit-source-id: 6b9636201a920b56ee0f61e367fee5d3dca692b0
      f46dd5cb
    • W
      use atomic O_CLOEXEC when available (#4328) · d00e5de7
      Wez Furlong 提交于
      Summary:
      In our application we spawn helper child processes concurrently with
      opening rocksdb.  In one situation I observed that the child process had inherited
      the rocksdb lock file as well as directory handles to the rocksdb storage location.
      
      The code in env_posix takes care to set CLOEXEC but doesn't use `O_CLOEXEC` at the
      time that the files are opened which means that there is a window of opportunity
      to leak the descriptors across a fork/exec boundary.
      
      This diff introduces a helper that can conditionally set the `O_CLOEXEC` bit for
      the open call using the same logic as that in the existing helper for setting
      that flag post-open.
      
      I've preserved the post-open logic for systems that don't have `O_CLOEXEC`.
      
      I've introduced setting `O_CLOEXEC` for what appears to be a number of temporary
      or transient files and directory handles; I suspect that none of the files
      opened by Rocks are intended to be inherited by a forked child process.
      
      In one case, `fopen` is used to open a file.  I've added the use of the glibc-specific `e`
      mode to turn on `O_CLOEXEC` for this case.  While this doesn't cover all posix systems,
      it is an improvement for our common deployment system.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/4328
      
      Reviewed By: ajkr
      
      Differential Revision: D9553046
      
      Pulled By: wez
      
      fbshipit-source-id: acdb89f7a85ca649b22fe3c3bd76f82142bec2bf
      d00e5de7
    • M
      Avoiding write stall caused by manual flushes (#4297) · 927f2749
      Mikhail Antonov 提交于
      Summary:
      Basically at the moment it seems it's possible to cause write stall by calling flush (either manually vis DB::Flush(), or from Backup Engine directly calling FlushMemTable() while background flush may be already happening.
      
      One of the ways to fix it is that in DBImpl::CompactRange() we already check for possible stall and delay flush if needed before we actually proceed to call FlushMemTable(). We can simply move this delay logic to separate method and call it from FlushMemTable.
      
      This is draft patch, for first look; need to check tests/update SyncPoints and most certainly would need to add allow_write_stall method to FlushOptions().
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/4297
      
      Differential Revision: D9420705
      
      Pulled By: mikhail-antonov
      
      fbshipit-source-id: f81d206b55e1d7b39e4dc64242fdfbceeea03fcc
      927f2749
    • F
      data block hash index blog post · 5f63a89b
      Fenggang Wu 提交于
      Summary: Pull Request resolved: https://github.com/facebook/rocksdb/pull/4309
      
      Differential Revision: D9557843
      
      Pulled By: sagar0
      
      fbshipit-source-id: 190e4ccedfaeaacd96d945610de843f97c307540
      5f63a89b
  12. 29 8月, 2018 2 次提交
    • P
      Grab straggler files to explicitly import AutoHeaders · a876995e
      Philip Jameson 提交于
      Summary: There were a few files that were missed when AutoHeaders were moved to their own file. Add explicit loads
      
      Reviewed By: yfeldblum
      
      Differential Revision: D9499942
      
      fbshipit-source-id: 942bf3a683b8961e1b6244136f6337477dcc45af
      a876995e
    • A
      Sync CURRENT file during checkpoint (#4322) · 42733637
      Andrew Kryczka 提交于
      Summary: For the CURRENT file forged during checkpoint, we were forgetting to `fsync` or `fdatasync` it after its creation. This PR fixes it.
      
      Differential Revision: D9525939
      
      Pulled By: ajkr
      
      fbshipit-source-id: a505483644026ee3f501cfc0dcbe74832165b2e3
      42733637
  13. 28 8月, 2018 4 次提交
    • Y
      BlobDB: Avoid returning garbage value on key not found (#4321) · 38ad3c9f
      Yi Wu 提交于
      Summary:
      When reading an expired key using `Get(..., std::string* value)` API, BlobDB first read the index entry and decode expiration from it. In this case, although BlobDB reset the PinnableSlice, the index entry is stored in user provided string `value`. The value will be returned as a garbage value, despite status being NotFound. Fixing it by use a different PinnableSlice to read the index entry.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/4321
      
      Differential Revision: D9519042
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: f054c951a1fa98265228be94f931904ed7056677
      38ad3c9f
    • J
      cmake: allow opting out debug runtime (#4317) · 6ed7f146
      Jay Lee 提交于
      Summary:
      Projects built in debug profile don't always link to debug runtime.
      Allowing opting out the debug runtime to make rocksdb get along well
      with other projects.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/4317
      
      Differential Revision: D9518038
      
      Pulled By: sagar0
      
      fbshipit-source-id: 384901a0d12b8de20759756e8a19b4888a27c399
      6ed7f146
    • Y
      BlobDB: Implement DisableFileDeletions (#4314) · a6d3de4e
      Yi Wu 提交于
      Summary:
      `DB::DiableFileDeletions` and `DB::EnableFileDeletions` are used for applications to stop RocksDB background jobs to delete files while they are doing replication. Implement these methods for BlobDB. `DeleteObsolteFiles` now needs to check `disable_file_deletions_` before starting, and will hold `delete_file_mutex_` the whole time while it is running. `DisableFileDeletions` needs to wait on `delete_file_mutex_` for running `DeleteObsolteFiles` job and set `disable_file_deletions_` flag.
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/4314
      
      Differential Revision: D9501373
      
      Pulled By: yiwu-arbug
      
      fbshipit-source-id: 81064c1228f1724eff46da22b50ff765b16292cd
      a6d3de4e
    • S
      Download bzip2 packages from Internet Archive (#4306) · 2f871bc8
      Sagar Vemuri 提交于
      Summary:
      Since bzip.org is no longer maintained, download the bzip2 packages from a snapshot taken by the internet archive until we figure out a more credible source.
      
      Fixes issue: #4305
      Pull Request resolved: https://github.com/facebook/rocksdb/pull/4306
      
      Differential Revision: D9514868
      
      Pulled By: sagar0
      
      fbshipit-source-id: 57c6a141a62e652f94377efc7ca9916b458e68d5
      2f871bc8
  14. 25 8月, 2018 5 次提交
  15. 24 8月, 2018 1 次提交