462c21d | Aaron Gao | 25 February 2017, 00:23:38 UTC | release v5.1.4 | 25 February 2017, 00:23:38 UTC |
d6cfa64 | Siying Dong | 02 February 2017, 18:32:40 UTC | Fix OSX build break after the fallocate change Summary: The recent update about fallocate failed OSX build. Fix it. Closes https://github.com/facebook/rocksdb/pull/1830 Differential Revision: D4500235 Pulled By: siying fbshipit-source-id: a5f2b40 | 25 February 2017, 00:05:12 UTC |
1f05572 | Yulia Kartseva | 18 February 2017, 19:54:49 UTC | alignment is on in ReadaheadRandomAccessFile::Read() Summary: Closes https://github.com/facebook/rocksdb/pull/1857 Differential Revision: D4534518 Pulled By: wat-ze-hex fbshipit-source-id: b456946 | 24 February 2017, 01:10:51 UTC |
dcafd40 | Aaron Gao | 24 February 2017, 00:40:50 UTC | bump patch version number | 24 February 2017, 00:44:30 UTC |
a3576c7 | Aaron Gao | 22 February 2017, 22:48:09 UTC | add use_direct_io() to ReadaheadRandomAccessFile Summary: Missing this function will cause RandomAccessFileReader not doing alignment in Direct IO mode, which introduce an IOError: invalid argument. Closes https://github.com/facebook/rocksdb/pull/1900 Differential Revision: D4601261 Pulled By: lightmark fbshipit-source-id: c3eadf1 | 24 February 2017, 00:44:30 UTC |
6fa0404 | Aaron Gao | 22 February 2017, 18:21:39 UTC | truncate patch Summary: omit the override for the previous commit Closes https://github.com/facebook/rocksdb/pull/1898 Differential Revision: D4598743 Pulled By: lightmark fbshipit-source-id: f98a378 | 24 February 2017, 00:44:29 UTC |
4abd572 | Aaron Gao | 22 February 2017, 18:00:25 UTC | posix writablefile truncate Summary: we occasionally missing this call so the file size will be wrong Closes https://github.com/facebook/rocksdb/pull/1894 Differential Revision: D4598446 Pulled By: lightmark fbshipit-source-id: 42b6ef5 | 24 February 2017, 00:44:29 UTC |
f35574a | Siying Dong | 01 February 2017, 18:19:47 UTC | RangeSync() should work with ROCKSDB_FALLOCATE_PRESENT not set Summary: Closes https://github.com/facebook/rocksdb/pull/1824 Differential Revision: D4493862 Pulled By: siying fbshipit-source-id: c168446 | 23 February 2017, 19:34:45 UTC |
00c6c53 | Siying Dong | 08 February 2017, 19:28:31 UTC | Update HISTORY.md for wrong release date | 08 February 2017, 19:28:31 UTC |
c2ca7a9 | Alex Yang | 03 February 2017, 00:40:34 UTC | bump patch version number | 03 February 2017, 00:40:34 UTC |
d4b0ac2 | Islam AbdelRahman | 25 January 2017, 22:03:49 UTC | Fix CompactFiles() bug when used with CompactionFilter using SuperVersion Summary: GetAndRefSuperVersion() should not be called again in the same thread before ReturnAndCleanupSuperVersion() is called. If we have a compaction filter that is using DB::Get, This will happen ``` CompactFiles() { GetAndRefSuperVersion() // -- first call .. CompactionFilter() { GetAndRefSuperVersion() // -- second call ReturnAndCleanupSuperVersion() } .. ReturnAndCleanupSuperVersion() } ``` We solve this issue in the same way Iterator is solving it, but using GetReferencedSuperVersion() This was discovered in https://github.com/facebook/mysql-5.6/issues/427 by alxyang Closes https://github.com/facebook/rocksdb/pull/1803 Differential Revision: D4460155 Pulled By: IslamAbdelRahman fbshipit-source-id: 5e54322 | 03 February 2017, 00:16:47 UTC |
a7a2005 | Andrew Kryczka | 01 February 2017, 00:52:01 UTC | bump patch version number | 01 February 2017, 00:52:01 UTC |
acf6d6b | Andrew Kryczka | 25 January 2017, 19:03:27 UTC | Fix DeleteRange including sentinels in output files Summary: when writing RangeDelAggregator::AddToBuilder, I forgot that there are sentinel tombstones in the middle of the interval map since gaps between real tombstones are represented with sentinels. blame: #1614 Closes https://github.com/facebook/rocksdb/pull/1804 Differential Revision: D4460426 Pulled By: ajkr fbshipit-source-id: 69444b5 | 27 January 2017, 18:50:01 UTC |
2412679 | Andrew Kryczka | 23 January 2017, 20:18:42 UTC | Test merge op covered by range deletion in memtable | 23 January 2017, 20:28:46 UTC |
b642e94 | Siying Dong | 17 January 2017, 19:18:12 UTC | Fix 2PC with concurrent memtable insert Summary: If concurrent memtable insert is enabled, and one prepare command and a normal command are grouped into a commit group, the sequence ID will be calculated incorrectly. Closes https://github.com/facebook/rocksdb/pull/1730 Differential Revision: D4371081 Pulled By: siying fbshipit-source-id: cd40c6d | 20 January 2017, 19:52:36 UTC |
53571a7 | Siying Dong | 20 January 2017, 18:43:59 UTC | Fix OptimizeForPointLookup() Summary: If users directly call OptimizeForPointLookup(), it is broken as the option isn't compatible with parallel memtable insert. Fix it by using memtable bloomo filter instead. Closes https://github.com/facebook/rocksdb/pull/1791 Differential Revision: D4442836 Pulled By: siying fbshipit-source-id: bf6c9cd | 20 January 2017, 19:15:38 UTC |
7079b78 | Yi Wu | 20 January 2017, 07:03:45 UTC | Flush job should release reference current version if sync log failed Summary: Fix the bug when sync log fail, FlushJob::Run() will not be execute and reference to cfd->current() will not be release. Closes https://github.com/facebook/rocksdb/pull/1792 Differential Revision: D4441316 Pulled By: yiwu-arbug fbshipit-source-id: 5523e28 | 20 January 2017, 18:47:01 UTC |
512e441 | Reid Horuff | 19 January 2017, 23:21:07 UTC | Fix for 2PC causing WAL to grow too large Summary: Consider the following single column family scenario: prepare in log A commit in log B *WAL is too large, flush all CFs to releast log A* *CFA is on log B so we do not see CFA is depending on log A so no flush is requested* To fix this we must also consider the log containing the prepare section when determining what log a CF is dependent on. Closes https://github.com/facebook/rocksdb/pull/1768 Differential Revision: D4403265 Pulled By: reidHoruff fbshipit-source-id: ce800ff | 20 January 2017, 18:46:47 UTC |
62a1c55 | Yi Wu | 18 January 2017, 20:02:08 UTC | Remove fadvise with direct IO read Summary: Remove the logic since we don't use buffer cache with direct IO. Resolve read regression we currently have. Closes https://github.com/facebook/rocksdb/pull/1782 Differential Revision: D4430408 Pulled By: yiwu-arbug fbshipit-source-id: 5557bba | 18 January 2017, 23:51:54 UTC |
adce9c0 | Andrew Kryczka | 18 January 2017, 19:47:07 UTC | Fix DeleteRange file boundary correctness issue with max_compaction_bytes 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 | 18 January 2017, 21:39:44 UTC |
dabcce9 | Maysam Yabandeh | 14 January 2017, 00:44:14 UTC | Update release version to 5.1.0 | 14 January 2017, 00:44:14 UTC |
bc5d7b7 | Daniel Black | 13 January 2017, 23:24:55 UTC | travis: For linux, do all tests under gcc Summary: apologies yiwu-arbug, I thought I'd included this part of the commit. Seems as though "JOB_NAME=unittests ROCKSDBTESTS_END=db_block_cache_test" has space issues and it did occasional previously too. May need to look up splitting tests more. Closes https://github.com/facebook/rocksdb/pull/1766 Differential Revision: D4417493 Pulled By: siying fbshipit-source-id: 3007ba5 | 13 January 2017, 23:39:13 UTC |
3e6899d | Aaron Gao | 13 January 2017, 20:01:08 UTC | change UseDirectIO() to use_direct_io() Summary: also change variable name `direct_io_` to `use_direct_io_` in WritableFile to make it consistent with read path. Closes https://github.com/facebook/rocksdb/pull/1770 Differential Revision: D4416435 Pulled By: lightmark fbshipit-source-id: 4143c53 | 13 January 2017, 20:09:15 UTC |
d4e07a8 | Aaron Gao | 12 January 2017, 20:26:39 UTC | fix warning of unused direct io helper functions Summary: add build guard Closes https://github.com/facebook/rocksdb/pull/1771 Differential Revision: D4410779 Pulled By: siying fbshipit-source-id: 3796c30 | 12 January 2017, 20:39:14 UTC |
dc2584e | Aaron Gao | 12 January 2017, 00:42:07 UTC | direct reads refactor Summary: direct IO reads refactoring remove unnecessary classes and unified interfaces tested with db_bench need more change for options and ON/OFF for different files. Since disabled is default, it should be fine now Closes https://github.com/facebook/rocksdb/pull/1636 Differential Revision: D4307189 Pulled By: lightmark fbshipit-source-id: 6991e22 | 12 January 2017, 00:54:12 UTC |
d18dd2c | Mike Kolupaev | 11 January 2017, 23:01:21 UTC | Abort compactions more reliably when closing DB Summary: DB shutdown aborts running compactions by setting an atomic shutting_down=true that CompactionJob periodically checks. Without this PR it checks it before processing every _output_ value. If compaction filter filters everything out, the compaction is uninterruptible. This PR adds checks for shutting_down on every _input_ value (in CompactionIterator and MergeHelper). There's also some minor code cleanup along the way. Closes https://github.com/facebook/rocksdb/pull/1639 Differential Revision: D4306571 Pulled By: yiwu-arbug fbshipit-source-id: f050890 | 11 January 2017, 23:09:21 UTC |
62384eb | Anirban Rahut | 11 January 2017, 22:08:47 UTC | Guarding extra fallocate call with TRAVIS because its not working pro… Summary: …perly on travis There is some old code in PosixWritableFile::Close(), which truncates the file to the measured size and then does an extra fallocate with KEEP_SIZE. This is commented as a failsafe because in some cases ftruncate doesn't do the right job (I don't know of an instance of this btw). However doing an fallocate with KEEP_SIZE should not increase the file size. However on Travis Worker which is Docker (likely AUFS ) its not working. There are comments on web that show that the AUFS author had initially not implemented fallocate, and then did it later. So not sure what is the quality of the implementation. Closes https://github.com/facebook/rocksdb/pull/1765 Differential Revision: D4401340 Pulled By: anirbanr-fb fbshipit-source-id: e2d8100 | 11 January 2017, 22:24:13 UTC |
9f24629 | Changli Gao | 11 January 2017, 18:38:07 UTC | Performance: Iterate vector by reference Summary: Closes https://github.com/facebook/rocksdb/pull/1763 Differential Revision: D4398796 Pulled By: yiwu-arbug fbshipit-source-id: b82636d | 11 January 2017, 18:54:37 UTC |
fe395fb | Andrew Kryczka | 11 January 2017, 00:48:23 UTC | Allow incrementing refcount on cache handles Summary: Previously the only way to increment a handle's refcount was to invoke Lookup(), which (1) did hash table lookup to get cache handle, (2) incremented that handle's refcount. For a future DeleteRange optimization, I added a function, Ref(), for when the caller already has a cache handle and only needs to do (2). Closes https://github.com/facebook/rocksdb/pull/1761 Differential Revision: D4397114 Pulled By: ajkr fbshipit-source-id: 9addbe5 | 11 January 2017, 00:54:20 UTC |
2172b66 | Sunpoet Po-Chuan Hsieh | 10 January 2017, 19:35:36 UTC | Fix build on FreeBSD Summary: ``` CC utilities/column_aware_encoding_exp.o utilities/column_aware_encoding_exp.cc:149:5: error: use of undeclared identifier 'exit' exit(1); ^ utilities/column_aware_encoding_exp.cc:154:5: error: use of undeclared identifier 'exit' exit(1); ^ utilities/column_aware_encoding_exp.cc:158:5: error: use of undeclared identifier 'exit' exit(1); ^ 3 errors generated. ``` Closes https://github.com/facebook/rocksdb/pull/1754 Differential Revision: D4399044 Pulled By: IslamAbdelRahman fbshipit-source-id: fbab5a2 | 10 January 2017, 19:39:12 UTC |
3c233ca | Dmitri Smirnov | 09 January 2017, 23:37:57 UTC | Fix Windows environment issues 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 | 09 January 2017, 23:54:12 UTC |
7631734 | Maysam Yabandeh | 09 January 2017, 22:00:25 UTC | Fix the error in ColumnFamiliesTest Summary: In the test the last change to AAAZZZ in handles[1] is deleting it. The result of the get must be NotFound then. Previosuly the test did not check for the return value of Get and assumed that the status is ok. It then move ahead asserting the returned value. The passed-by-reference string value however was not changed (since the key was not found) and the asserted value is what it contained before doing the Get. Closes https://github.com/facebook/rocksdb/pull/1753 Differential Revision: D4390982 Pulled By: maysamyabandeh fbshipit-source-id: dd55a34 | 09 January 2017, 22:09:13 UTC |
7a02ad0 | Daniel Black | 09 January 2017, 21:45:04 UTC | Update travis to ubuntu trusty Summary: Distro gflags is now acceptable in build. Add gcc for two linux builds, JOB_NAME=unittests and lite_build. unittests will be built with g++-6. Use apt and ccache during build. Seems more up to date than precise :-) llvm repos for trusty aren't whitelisted yet (ref: https://github.com/travis-ci/apt-source-whitelist/pull/309, https://github.com/travis-ci/apt-source-whitelist/issues/332, https://github.com/travis-ci/apt-source-whitelist/issues/332) Closes https://github.com/facebook/rocksdb/pull/1685 Differential Revision: D4340378 Pulled By: yiwu-arbug fbshipit-source-id: a143b9d | 09 January 2017, 21:54:19 UTC |
60c509f | Siying Dong | 09 January 2017, 19:40:20 UTC | Fix valgrind failure in test CurrentFileModifiedWhileCheckpointing2PC Summary: Fix some memory leaks in the test. Also rename the test class name from DBTest to CheckpointTest to avoid confusion. Closes https://github.com/facebook/rocksdb/pull/1752 Differential Revision: D4390355 Pulled By: siying fbshipit-source-id: 0fa388a | 09 January 2017, 19:54:13 UTC |
d0ba8ec | Maysam Yabandeh | 08 January 2017, 22:08:51 UTC | Revert "PinnableSlice" Summary: This reverts commit 54d94e9c2cc0bf6eeb2a165ada33fa9c174f0b16. 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 | 08 January 2017, 22:24:12 UTC |
54d94e9 | Maysam Yabandeh | 08 January 2017, 21:49:15 UTC | PinnableSlice 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 | 08 January 2017, 21:54:13 UTC |
e04480f | Dmitri Smirnov | 06 January 2017, 22:42:18 UTC | Fix MS warnings. Use ROCKSDB_Prsz for size_t. Summary: Closes https://github.com/facebook/rocksdb/pull/1737 Differential Revision: D4378852 Pulled By: yiwu-arbug fbshipit-source-id: ba8b02d | 07 January 2017, 00:24:14 UTC |
c081f72 | Yi Wu | 06 January 2017, 22:41:07 UTC | 5.0.1 release blog post Summary: 5.0.1 release blog post Closes https://github.com/facebook/rocksdb/pull/1751 Differential Revision: D4388962 Pulled By: yiwu-arbug fbshipit-source-id: 59559e1 | 06 January 2017, 23:24:15 UTC |
ac73d75 | Islam AbdelRahman | 06 January 2017, 19:11:51 UTC | Add GetSupportedCompressions() convenience function Summary: This function will return a list of supported compression types in RocksDB This is needed for MyRocks https://github.com/facebook/mysql-5.6/pull/446 Closes https://github.com/facebook/rocksdb/pull/1747 Differential Revision: D4385921 Pulled By: IslamAbdelRahman fbshipit-source-id: 2f5b59f | 06 January 2017, 19:24:14 UTC |
b104b87 | Andrew Kryczka | 05 January 2017, 18:22:46 UTC | Maintain position in range deletions map Summary: When deletion-collapsing mode is enabled (i.e., for DBIter/CompactionIterator), we maintain position in the tombstone maps across calls to ShouldDelete(). Since iterators often access keys sequentially (or reverse-sequentially), scanning forward/backward from the last position can be faster than binary-searching the map for every key. - When Next() is invoked on an iterator, we use kForwardTraversal to scan forwards, if needed, until arriving at the range deletion containing the next key. - Similarly for Prev(), we use kBackwardTraversal to scan backwards in the range deletion map. - When the iterator seeks, we use kBinarySearch for repositioning - After tombstones are added or before the first ShouldDelete() invocation, the current position is set to invalid, which forces kBinarySearch to be used. - Non-iterator users (i.e., Get()) use kFullScan, which has the same behavior as before---scan the whole map for every key passed to ShouldDelete(). Closes https://github.com/facebook/rocksdb/pull/1701 Differential Revision: D4350318 Pulled By: ajkr fbshipit-source-id: 5129b76 | 05 January 2017, 18:39:12 UTC |
640d724 | Yi Wu | 04 January 2017, 02:24:15 UTC | Update db_bench and sst_dump to test with block cache mid-point inser? Summary: ?tion Add flags in db_bench to test with block cache mid-point insertion. Also update sst_dump to dump total block sizes of each type. I find it useful to look at these test db stats and I don't know if we have them elsewhere. Closes https://github.com/facebook/rocksdb/pull/1706 Differential Revision: D4355812 Pulled By: yiwu-arbug fbshipit-source-id: 3e4a348 | 04 January 2017, 02:39:14 UTC |
653ac1f | siddontang | 04 January 2017, 02:21:55 UTC | C API: support total_order_mode Summary: Closes https://github.com/facebook/rocksdb/pull/1687 Differential Revision: D4349210 Pulled By: IslamAbdelRahman fbshipit-source-id: 32d0fbd | 04 January 2017, 02:39:14 UTC |
85ac1a3 | Adam Retter | 04 January 2017, 02:17:12 UTC | Fix rocksdb::Status::getState Summary: This fixes the Java API for Status#getState use in Native code and also simplifies the implementation of rocksdb::Status::getState. Closes https://github.com/facebook/rocksdb/issues/1688 Closes https://github.com/facebook/rocksdb/pull/1714 Differential Revision: D4364181 Pulled By: yiwu-arbug fbshipit-source-id: 8e073b4 | 04 January 2017, 02:39:14 UTC |
76711b6 | Islam AbdelRahman | 04 January 2017, 00:09:38 UTC | Make ExternalSSTFileTest::CompactionDeadlock more deterministic Summary: It's not always true that `ASSERT_EQ(running_threads.load(), 2);` Closes https://github.com/facebook/rocksdb/pull/1736 Differential Revision: D4374091 Pulled By: IslamAbdelRahman fbshipit-source-id: 4f70bbd | 04 January 2017, 02:09:20 UTC |
c963460 | Islam AbdelRahman | 03 January 2017, 23:42:54 UTC | Fix tests under GCC_481 Summary: This fix the issue with tests failing under GCC 481, I am not sure what is the exact reason Closes https://github.com/facebook/rocksdb/pull/1735 Differential Revision: D4374094 Pulled By: IslamAbdelRahman fbshipit-source-id: b3625bc | 04 January 2017, 01:54:12 UTC |
33c86d6 | Andrew Kryczka | 01 January 2017, 19:05:55 UTC | Fix backupable db test Summary: #1733 started using SizeFileBytes(), so our dummy log file implementation should stop asserting that this function isn't called. Closes https://github.com/facebook/rocksdb/pull/1740 Differential Revision: D4376055 Pulled By: ajkr fbshipit-source-id: 2854d89 | 01 January 2017, 19:24:14 UTC |
e425ec1 | Vincent Lee | 31 December 2016, 18:35:38 UTC | utilities/backupable: backup should limit the copy size of wal. Summary: Since the backup work as snapshot, we should only copy the bytes of the wal while we get the alive files. Closes https://github.com/facebook/rocksdb/pull/1733 Differential Revision: D4373457 Pulled By: ajkr fbshipit-source-id: 389318f | 31 December 2016, 18:54:20 UTC |
0712d54 | Maysam Yabandeh | 29 December 2016, 23:48:24 UTC | Delegate Cleanables Summary: Cleanable objects will perform the registered cleanups when they are destructed. We however rather to delay this cleaning like when we are gathering the merge operands. Current approach is to create the Cleanable object on heap (instead of on stack) and delay deleting it. By allowing Cleanables to delegate their cleanups to another cleanable object we can delay the cleaning without however the need to craete the cleanable object on heap and keeping it around. This patch applies this technique for the cleanups of BlockIter and shows improved performance for some in-memory benchmarks: +1.8% for merge worklaod, +6.4% for non-merge workload when the merge operator is specified. https://our.intern.facebook.com/intern/tasks?t=15168163 Non-merge benchmark: TEST_TMPDIR=/dev/shm/v100nocomp/ ./db_bench --benchmarks=fillrandom --num=1000000 -value_size=100 -compression_type=none Reading random with no merge operator specified: TEST_TMPDIR=/dev/shm/v100nocomp/ ./db_bench --benchmarks="read Closes https://github.com/facebook/rocksdb/pull/1711 Differential Revision: D4361163 Pulled By: maysamyabandeh fbshipit-source-id: 9801e07 | 29 December 2016, 23:54:19 UTC |
d58ef52 | Islam AbdelRahman | 29 December 2016, 22:51:52 UTC | Allow SstFileWriter to Fadvise the file away from page cache Summary: Add `fadvise_trigger` option to `SstFileWriter` If fadvise_trigger is passed with a non-zero value, SstFileWriter will invalidate the os page cache every `fadvise_trigger` bytes for the sst file Closes https://github.com/facebook/rocksdb/pull/1731 Differential Revision: D4371246 Pulled By: IslamAbdelRahman fbshipit-source-id: 91caff1 | 29 December 2016, 23:09:19 UTC |
17a4b75 | Siying Dong | 29 December 2016, 02:38:20 UTC | Always fsync the file after file copying Summary: File copying happens when creating checkpoints and bulkloading files from different FS partition. We should fsync the files when copying them to guarantee durability. A side effect will be that the dirty pages in file system buffers won't grow too large. Closes https://github.com/facebook/rocksdb/pull/1728 Differential Revision: D4371083 Pulled By: siying fbshipit-source-id: 579e14c | 29 December 2016, 03:09:16 UTC |
2fb70dc | Changli Gao | 29 December 2016, 02:28:49 UTC | examples: Add options_file_example to target all Summary: Closes https://github.com/facebook/rocksdb/pull/1723 Differential Revision: D4372273 Pulled By: IslamAbdelRahman fbshipit-source-id: c8c2ad0 | 29 December 2016, 03:09:16 UTC |
a738af8 | leipeng | 29 December 2016, 02:25:50 UTC | db/pinned_iterators_manager.h: bugfix Summary: std::unique(beg, end) returns an iterator of unique_end, data behind unique_end should not be accessed. Closes https://github.com/facebook/rocksdb/pull/1726 Differential Revision: D4371076 Pulled By: IslamAbdelRahman fbshipit-source-id: 5564450 | 29 December 2016, 02:54:57 UTC |
906523d | Siying Dong | 28 December 2016, 23:48:10 UTC | Add description to the 2PC checkpooint bug in HISTORY.md Summary: Closes https://github.com/facebook/rocksdb/pull/1729 Differential Revision: D4371674 Pulled By: siying fbshipit-source-id: 907e373 | 28 December 2016, 23:54:14 UTC |
438f22b | Siying Dong | 28 December 2016, 19:53:29 UTC | Fix bug of Checkpoint loses recent transactions with 2PC Summary: If 2PC is enabled, checkpoint may not copy previous log files that contain uncommitted prepare records. In this diff we keep those files. Closes https://github.com/facebook/rocksdb/pull/1724 Differential Revision: D4368319 Pulled By: siying fbshipit-source-id: cc2c746 | 28 December 2016, 20:24:16 UTC |
335981d | Gunnar Kudrjavets | 28 December 2016, 06:21:34 UTC | Fix the directory path for RocksDB repo fbshipit-source-id: 285548d | 28 December 2016, 06:24:16 UTC |
548b628 | Gunnar Kudrjavets | 27 December 2016, 23:47:43 UTC | Enable conditionally using adaptive mutexes Summary: To support scenarios where we want all instances of `Mutex` be adaptive we're adding a conditional `#define` so that the desired behavior can be easily enabled. Closes https://github.com/facebook/rocksdb/pull/1710 Differential Revision: D4359863 Pulled By: gunnarku fbshipit-source-id: 2f1e2f8 | 28 December 2016, 00:09:12 UTC |
4e07b08 | Sage Weil | 24 December 2016, 03:03:53 UTC | include/rocksdb/utilities/env_librados: fix typo Summary: Broken by 972f96b3fbae1a4675043bdf4279c9072ad69645 Signed-off-by: Sage Weil <sage@redhat.com> Closes https://github.com/facebook/rocksdb/pull/1719 Differential Revision: D4366123 Pulled By: IslamAbdelRahman fbshipit-source-id: a11e535 | 24 December 2016, 03:09:14 UTC |
ab48c16 | Yi Wu | 22 December 2016, 22:44:01 UTC | Print cache options to info log Summary: Improve cache options logging to info log. Also print the value of cache_index_and_filter_blocks_with_high_priority. Closes https://github.com/facebook/rocksdb/pull/1709 Differential Revision: D4358776 Pulled By: yiwu-arbug fbshipit-source-id: 8f030a0 | 22 December 2016, 22:54:19 UTC |
972f96b | Aaron Gao | 22 December 2016, 20:51:29 UTC | direct io write support Summary: rocksdb direct io support ``` [gzh@dev11575.prn2 ~/rocksdb] ./db_bench -benchmarks=fillseq --num=1000000 Initializing RocksDB Options from the specified file Initializing RocksDB Options from command-line flags RocksDB: version 5.0 Date: Wed Nov 23 13:17:43 2016 CPU: 40 * Intel(R) Xeon(R) CPU E5-2660 v2 @ 2.20GHz CPUCache: 25600 KB Keys: 16 bytes each Values: 100 bytes each (50 bytes after compression) Entries: 1000000 Prefix: 0 bytes Keys per prefix: 0 RawSize: 110.6 MB (estimated) FileSize: 62.9 MB (estimated) Write rate: 0 bytes/second Compression: Snappy Memtablerep: skip_list Perf Level: 1 WARNING: Assertions are enabled; benchmarks unnecessarily slow ------------------------------------------------ Initializing RocksDB Options from the specified file Initializing RocksDB Options from command-line flags DB path: [/tmp/rocksdbtest-112628/dbbench] fillseq : 4.393 micros/op 227639 ops/sec; 25.2 MB/s [gzh@dev11575.prn2 ~/roc Closes https://github.com/facebook/rocksdb/pull/1564 Differential Revision: D4241093 Pulled By: lightmark fbshipit-source-id: 98c29e3 | 22 December 2016, 21:09:19 UTC |
989e644 | Islam AbdelRahman | 22 December 2016, 01:35:00 UTC | Remove sst_file_manager option from LITE Summary: Remove sst_file_manager option from LITE Closes https://github.com/facebook/rocksdb/pull/1690 Differential Revision: D4341331 Pulled By: IslamAbdelRahman fbshipit-source-id: 9f9328d | 22 December 2016, 01:54:21 UTC |
1beef65 | Islam AbdelRahman | 22 December 2016, 01:32:24 UTC | Fix c_test Summary: addfile phase in c_test could fail because in previous steps we did a DeleteRange. Fix the test by simply moving the addfile phase before DeleteRange Closes https://github.com/facebook/rocksdb/pull/1672 Differential Revision: D4328896 Pulled By: IslamAbdelRahman fbshipit-source-id: 1d946df | 22 December 2016, 01:39:14 UTC |
3d69282 | Siying Dong | 21 December 2016, 21:29:26 UTC | persistent_cache: fix two timer Summary: In persistent_cache/block_cache_tier.cc, timers are never restarted, so the latency measured is not correct. Closes https://github.com/facebook/rocksdb/pull/1707 Differential Revision: D4355828 Pulled By: siying fbshipit-source-id: cd5f9e1 | 21 December 2016, 21:39:16 UTC |
046099c | ivan | 21 December 2016, 01:17:43 UTC | The array is malloced by backtrace_symbols(), and must be freed Summary: The address of the array of string pointers is returned as the function result of backtrace_symbols(). This array is malloced by backtrace_symbols(), and must be freed by the caller. Closes https://github.com/facebook/rocksdb/pull/1692 Differential Revision: D4355737 Pulled By: IslamAbdelRahman fbshipit-source-id: 5742035 | 21 December 2016, 01:24:12 UTC |
6ff2c8d | Yi Wu | 21 December 2016, 00:47:39 UTC | Remove gflags as travis build dependency Summary: apt-get fail to fetch gflags and seems it is in fact not needed. Closes https://github.com/facebook/rocksdb/pull/1705 Differential Revision: D4354555 Pulled By: yiwu-arbug fbshipit-source-id: b68fee3 | 21 December 2016, 01:09:16 UTC |
3cd9ed1 | Islam AbdelRahman | 20 December 2016, 18:54:38 UTC | Show sandcastle URL in phabricator Summary: We are passing a string as diff_id which make conduit call fail ``` $ echo '{"diff_id": "20982117", "name":"click here for sandcastle tests for D20982117", "link":"https://our.intern.facebook.com/intern/sandcastle/1984718793/"}' | arc call-conduit differential.updateunitresults {"error":"ERR-CONDUIT-CORE","errorMessage":"ERR-CONDUIT-CORE: Argument 1 passed to EntDiffPropertiesUpdateMutationBuilder::setDiffNumber() must be an instance of int, string given","response":null} ``` fix it by removing double quotes Closes https://github.com/facebook/rocksdb/pull/1700 Differential Revision: D4350227 Pulled By: IslamAbdelRahman fbshipit-source-id: b4504af | 20 December 2016, 19:09:12 UTC |
50e305d | Andrew Kryczka | 20 December 2016, 00:44:30 UTC | Collapse range deletions Summary: Added a tombstone-collapsing mode to RangeDelAggregator, which eliminates overlap in the TombstoneMap. In this mode, we can check whether a tombstone covers a user key using upper_bound() (i.e., binary search). However, the tradeoff is the overhead to add tombstones is now higher, so at first I've only enabled it for range scans (compaction/flush/user iterators), where we expect a high number of calls to ShouldDelete() for the same tombstones. Point queries like Get() will still use the linear scan approach. Also in this diff I changed RangeDelAggregator's TombstoneMap to use multimap with user keys instead of map with internal keys. Callers sometimes provided ParsedInternalKey directly, from which it would've required string copying to derive an internal key Slice with which we could search the map. Closes https://github.com/facebook/rocksdb/pull/1614 Differential Revision: D4270397 Pulled By: ajkr fbshipit-source-id: 93092c7 | 20 December 2016, 00:54:12 UTC |
5d1457d | Yi Wu | 19 December 2016, 22:00:04 UTC | Dump persistent cache options Summary: Dump persistent cache options Closes https://github.com/facebook/rocksdb/pull/1679 Differential Revision: D4337019 Pulled By: yiwu-arbug fbshipit-source-id: 3812f8a | 19 December 2016, 22:09:12 UTC |
7bd725e | Siying Dong | 19 December 2016, 20:25:35 UTC | db_bench: introduce --benchmark_read_rate_limit Summary: Add the parameter in db_bench to help users to measure latency histogram with constant read rate. Closes https://github.com/facebook/rocksdb/pull/1683 Differential Revision: D4341387 Pulled By: siying fbshipit-source-id: 1b4b276 | 19 December 2016, 20:39:11 UTC |
2966918 | Siying Dong | 19 December 2016, 19:41:20 UTC | Update Netflix section of USERS.md Summary: The change is based on https://github.com/facebook/rocksdb/issues/1678 Closes https://github.com/facebook/rocksdb/pull/1699 Differential Revision: D4347657 Pulled By: IslamAbdelRahman fbshipit-source-id: 72177c2 | 19 December 2016, 20:09:12 UTC |
342370f | Daniel Black | 17 December 2016, 08:05:05 UTC | Simplify MemTable::Update Summary: As suggested by testn in #1650 The Add is at the end of the function. Having a fallthough will result in it being added twice. Closes https://github.com/facebook/rocksdb/pull/1676 Differential Revision: D4331906 Pulled By: yiwu-arbug fbshipit-source-id: 895c4a0 | 17 December 2016, 08:09:13 UTC |
1a136c1 | Ding Ma | 17 December 2016, 02:26:56 UTC | Expose file size Summary: add a new function to SstFileWriter that will tell the user how big is there file right now. Closes https://github.com/facebook/rocksdb/pull/1686 Differential Revision: D4338868 Pulled By: mdyuki1016 fbshipit-source-id: c1ee16a | 17 December 2016, 02:39:12 UTC |
fbff462 | Andrew Kryczka | 17 December 2016, 01:31:15 UTC | Reduce compaction iterator status checks Summary: seems it's expensive to check status since the underlying merge iterator checks status of all its children. so only do it when it's really necessary to get the status before invoking Next(), i.e., when we're advancing to get the first key in the next file. Closes https://github.com/facebook/rocksdb/pull/1691 Differential Revision: D4343446 Pulled By: siying fbshipit-source-id: 70ab315 | 17 December 2016, 01:39:09 UTC |
bd6cf7b | Jianpeng Ma | 16 December 2016, 21:01:37 UTC | WritableFileWriter: default buffer size equal min(64k,options.writabl? Summary: ?e_file_max_buffer_size) If we overwrite WritableFile and has a buffer which has the same function of buf_. We hope remove the cache function of WritableFileWriter. So using options.writable_file_max_buffer_size = 0 to disable cache function. Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com> Closes https://github.com/facebook/rocksdb/pull/1628 Differential Revision: D4307219 Pulled By: yiwu-arbug fbshipit-source-id: 77a6e26 | 16 December 2016, 21:09:14 UTC |
fc0c6fd | Yi Wu | 16 December 2016, 19:19:52 UTC | "make format" format diff since last commit from master Summary: Update clang-format script to format diff since last commit from master, instead of just last commit. In our common workflow we usually endup with multiple commits for a single PR. This change make it easier to format all stacking changes. Closes https://github.com/facebook/rocksdb/pull/1684 Differential Revision: D4340597 Pulled By: yiwu-arbug fbshipit-source-id: c18949e | 16 December 2016, 19:24:18 UTC |
816c1e3 | Daniel Black | 16 December 2016, 19:17:26 UTC | gcc-7 requires include <functional> for std::function Summary: Fixes compile error: In file included from ./util/statistics.h:17:0, from ./util/stop_watch.h:8, from ./util/perf_step_timer.h:9, from ./util/iostats_context_imp.h:8, from ./util/posix_logger.h:27, from ./port/util_logger.h:18, from ./db/auto_roll_logger.h:15, from db/auto_roll_logger.cc:6: ./util/thread_local.h:65:16: error: 'function' in namespace 'std' does not name a template type typedef std::function<void(void*, void*)> FoldFunc; Closes https://github.com/facebook/rocksdb/pull/1656 Differential Revision: D4318702 Pulled By: yiwu-arbug fbshipit-source-id: 8c5d17a | 16 December 2016, 19:24:18 UTC |
c270735 | Yi Wu | 16 December 2016, 19:00:03 UTC | Iterator should be in corrupted status if merge operator return false Summary: Iterator should be in corrupted status if merge operator return false. Also add test to make sure if max_successive_merges is hit during write, data will not be lost. Closes https://github.com/facebook/rocksdb/pull/1665 Differential Revision: D4322695 Pulled By: yiwu-arbug fbshipit-source-id: b327b05 | 16 December 2016, 19:09:16 UTC |
a8bf4d6 | Daniel Black | 16 December 2016, 04:11:10 UTC | Make format shows wrong curl command for retrieving clang-format-diff.py Summary: Previously: $ make format Makefile:104: Warning: Compiling in debug mode. Don't use the resulting binary in production build_tools/format-diff.sh You didn't have clang-format-diff.py available in your computer! You can download it by running: curl http://goo.gl/iUW1u2 Makefile:868: recipe for target 'format' failed make: *** [format] Error 128 $ curl http://goo.gl/iUW1u2 > ~/bin/clang-format-diff.py % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 276 0 276 0 0 148 0 --:--:-- 0:00:01 --:--:-- 148m $ more ~/bin/clang-format-diff.py <HTML> <HEAD> <TITLE>Moved Permanently</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> <H1>Moved Permanently</H1> The document has moved <A HREF="https://raw.github.com/leaningtech/duetto-clang/master/tools/clang-format/clang-format-diff.py">here</A>. </BODY> </HTML> Closes https://github.com/facebook/rocksdb/pull/1680 Differential Revision: D4338495 Pulled By: yiwu-arbug fbshipit-source-id: e2b24d8 | 16 December 2016, 04:24:12 UTC |
8f5d24a | siddontang | 16 December 2016, 01:14:06 UTC | C API: support get usage and pinned_usage for cache Summary: Closes https://github.com/facebook/rocksdb/pull/1671 Differential Revision: D4327453 Pulled By: yiwu-arbug fbshipit-source-id: bcdbc65 | 16 December 2016, 01:24:17 UTC |
0ab6fc1 | Daniel Black | 15 December 2016, 03:20:42 UTC | Gcc-7 buffer size insufficient Summary: Bunch of commits related to insufficient buffer size. Errors in individual commits. Closes https://github.com/facebook/rocksdb/pull/1673 Differential Revision: D4332127 Pulled By: IslamAbdelRahman fbshipit-source-id: 878f73c | 15 December 2016, 03:24:26 UTC |
b7239bf | Daniel Black | 15 December 2016, 03:15:32 UTC | Gcc 7 fallthrough Summary: hopefully the last of the gcc-7 compile errors Closes https://github.com/facebook/rocksdb/pull/1675 Differential Revision: D4332106 Pulled By: IslamAbdelRahman fbshipit-source-id: 139448c | 15 December 2016, 03:24:25 UTC |
477b6ea | Daniel Black | 15 December 2016, 01:05:57 UTC | std::remove_if requires <algorithm> Summary: fixes error (that occurred on gcc-7): error: util/env_basic_test.cc: In member function 'virtual rocksdb::Status rocksdb::NormalizingEnvWrapper::GetChildren(const string&, std::vector<std::__cxx11::basic_string<char> >*)': util/env_basic_test.cc:27:21: error: 'remove_if' is not a member of 'std' result->erase(std::remove_if(result->begin(), result->end(), ^~~ Closes https://github.com/facebook/rocksdb/pull/1674 Differential Revision: D4331221 Pulled By: ajkr fbshipit-source-id: 9bbdc78 | 15 December 2016, 01:09:14 UTC |
83f9a6f | Andrew Kryczka | 15 December 2016, 00:29:23 UTC | Fail BackupEngine::Open upon meta-file read error Summary: We used to treat any failure to read a backup's meta-file as if the backup were corrupted; however, we should distinguish corruption errors from errors in the backup Env. This fixes an issue where callers would get inconsistent results from GetBackupInfo() if they called it on an engine that encountered Env error during initialization. Now we fail Initialize() in this case so callers cannot invoke GetBackupInfo() on such engines. Closes https://github.com/facebook/rocksdb/pull/1654 Differential Revision: D4318573 Pulled By: ajkr fbshipit-source-id: f7a7c54 | 15 December 2016, 00:39:15 UTC |
a79eae4 | Karthikeyan Radhakrishnan | 14 December 2016, 19:48:59 UTC | Add pcache documentation images Summary: Adding images that are used in persistent read cache documentation. Closes https://github.com/facebook/rocksdb/pull/1666 Differential Revision: D4328220 Pulled By: IslamAbdelRahman fbshipit-source-id: 767e0d0 | 14 December 2016, 19:54:22 UTC |
d71e728 | Islam AbdelRahman | 14 December 2016, 19:09:50 UTC | Print user collected properties in sst_dump Summary: Include a dump of user_collected_properties in sst_dump Closes https://github.com/facebook/rocksdb/pull/1668 Differential Revision: D4325078 Pulled By: IslamAbdelRahman fbshipit-source-id: 226b6d6 | 14 December 2016, 19:24:11 UTC |
7004a6f | Jonathan Lee | 14 December 2016, 18:21:54 UTC | Add missing copyright header Summary: "examples/c_simple_example.c" did not have a proper copyright header. Closes https://github.com/facebook/rocksdb/pull/1670 Differential Revision: D4327445 Pulled By: yiwu-arbug fbshipit-source-id: a70389e | 14 December 2016, 18:24:13 UTC |
3cdfaec | Adam Retter | 14 December 2016, 18:17:52 UTC | Fixes for MSVC compilation Summary: Closes https://github.com/facebook/rocksdb/pull/1669 Differential Revision: D4327421 Pulled By: yiwu-arbug fbshipit-source-id: 661ee0b | 14 December 2016, 18:24:13 UTC |
e097222 | Daniel Black | 14 December 2016, 02:33:21 UTC | util/logging.cc: buffer of insufficient size (gcc-7 -Werror=format-length) Summary: util/logging.cc:100:13: error: output may be truncated before the last format character [-Werror=format-length=] std::string NumberToHumanString(int64_t num) { ^~~~~~~~~~~~~~~~~~~ util/logging.cc:106:59: note: format output between 3 and 19 bytes into a destination of size 16 snprintf(buf, sizeof(buf), "%" PRIi64 "K", num / 1000); Closes https://github.com/facebook/rocksdb/pull/1653 Differential Revision: D4318687 Pulled By: yiwu-arbug fbshipit-source-id: 3a5c931 | 14 December 2016, 02:39:14 UTC |
cfc34d7 | Daniel Black | 14 December 2016, 02:30:21 UTC | Missing break in case in DBTestBase::CurrentOptions Summary: Found by gcc-7 compile error. This appeared to be a fault as these options seems too different. Closes https://github.com/facebook/rocksdb/pull/1667 Differential Revision: D4324174 Pulled By: yiwu-arbug fbshipit-source-id: 0f65383 | 14 December 2016, 02:39:14 UTC |
bfbcec2 | Daniel Black | 14 December 2016, 02:22:00 UTC | Gcc 7 error expansion to defined Summary: sorry if these gcc-7/clang-4 cleanups are getting tedious. Closes https://github.com/facebook/rocksdb/pull/1658 Differential Revision: D4318792 Pulled By: yiwu-arbug fbshipit-source-id: 8e85891 | 14 December 2016, 02:39:14 UTC |
6653e32 | Bassam Tabbara | 13 December 2016, 22:20:17 UTC | build: make it easier to pass PORTABLE Summary: currently when running a portable build we have to do the following PORTABLE=1 make ... this commit adds support for the following make PORTABLE=1 ... this might be seem subtle but it makes PORTABLE like all other makefile args and simplifies invocation from numerous build systems including things like ExternalProject_Add in cmake. Signed-off-by: Bassam Tabbara <bassam.tabbara@quantum.com> Closes https://github.com/facebook/rocksdb/pull/1643 Differential Revision: D4315870 Pulled By: yiwu-arbug fbshipit-source-id: ee43755 | 13 December 2016, 22:39:17 UTC |
67adc93 | Daniel Black | 13 December 2016, 22:21:05 UTC | intentional fallthough (prevents gcc-7/clang-4 error) Summary: db/memtable.cc: In member function 'void rocksdb::MemTable::Update(rocksdb::SequenceNumber, const rocksdb::Slice&, const rocksdb::Slice&)': db/memtable.cc:736:11: error: this statement may fall through [-Werror=implicit-fallthrough=] } ^ db/memtable.cc:738:9: note: here default: ^~~~~~~ cc1plus: all warnings being treated as errors closes #1650 Closes https://github.com/facebook/rocksdb/pull/1655 Differential Revision: D4318696 Pulled By: yiwu-arbug fbshipit-source-id: 1a8981c | 13 December 2016, 22:39:17 UTC |
1a146f8 | Islam AbdelRahman | 13 December 2016, 22:03:15 UTC | break Flush wait for dropped CF Summary: In FlushJob we dont do the Flush if the CF is dropped https://github.com/facebook/rocksdb/blob/master/db/flush_job.cc#L184-L188 but inside WaitForFlushMemTable we keep waiting forever even if the CF is dropped. Closes https://github.com/facebook/rocksdb/pull/1664 Differential Revision: D4321032 Pulled By: IslamAbdelRahman fbshipit-source-id: 6e2b25d | 13 December 2016, 22:09:12 UTC |
c3e5ee7 | Daniel Black | 13 December 2016, 21:52:00 UTC | util/histogram.cc: HistogramStat::toString buffer insufficient Summary: Increased buffer size to 1650. util/histogram.cc: In member function 'std::__cxx11::string rocksdb::HistogramStat::ToString() const': util/histogram.cc:189:13: error: '%.2f' directive output truncated writing between 4 and 313 bytes into a region of size 0 [-Werror=format-length=] std::string HistogramStat::ToString() const { ^~~~~~~~~~~~~ util/histogram.cc:205:30: note: format output between 69 and 1614 bytes into a destination of size 200 Percentile(99.99)); ^ cc1plus: all warnings being treated as errors Makefile:1521: recipe for target 'util/histogram.o' failed Closes https://github.com/facebook/rocksdb/pull/1660 Differential Revision: D4318820 Pulled By: yiwu-arbug fbshipit-source-id: 45ae6ea | 13 December 2016, 22:09:12 UTC |
5334d8b | Daniel Black | 13 December 2016, 21:50:22 UTC | table/block_based_table_builder.cc: intentional fallthrough - comment to match gcc pattern Summary: The gcc-7 code for parsing comments (libcpp/lex.c) didn't match the intentional fallthough in this comment. table/block_based_table_builder.cc: In member function 'void rocksdb::BlockBasedTableBuilder::WriteRawBlock(const rocksdb::Slice&, rocksdb::CompressionType, rocksdb::BlockHandle*)': table/block_based_table_builder.cc:754:22: error: this statement may fall through [-Werror=implicit-fallthrough=] assert(false); ^ table/block_based_table_builder.cc:756:7: note: here case kCRC32c: { ^~~~ cc1plus: all warnings being treated as errors Closes https://github.com/facebook/rocksdb/pull/1661 Differential Revision: D4318817 Pulled By: yiwu-arbug fbshipit-source-id: e67d171 | 13 December 2016, 21:54:15 UTC |
36d42e6 | Yi Wu | 13 December 2016, 19:42:42 UTC | Disable test to unblock travis build Summary: The two tests keep failing in travis. Disable them and will fix later. Closes https://github.com/facebook/rocksdb/pull/1648 Differential Revision: D4316389 Pulled By: yiwu-arbug fbshipit-source-id: 0a370e7 | 13 December 2016, 19:54:14 UTC |
b57dd92 | siddontang | 13 December 2016, 19:08:45 UTC | C API: support writebatch delete range Summary: Seem that writebatch delete range can work now, so I add C API for later use. Btw, can we use this feature in production now? Closes https://github.com/facebook/rocksdb/pull/1647 Differential Revision: D4314534 Pulled By: ajkr fbshipit-source-id: e835165 | 13 December 2016, 19:24:18 UTC |
2ba59b5 | Islam AbdelRahman | 13 December 2016, 08:47:52 UTC | Disallow ingesting files into dropped CFs Summary: This PR update IngestExternalFile to return an error if we try to ingest a file into a dropped CF. Right now if IngestExternalFile want to flush a memtable, and it's ingesting a file into a dropped CF, it will wait forever since flushing is not possible for the dropped CF Closes https://github.com/facebook/rocksdb/pull/1657 Differential Revision: D4318657 Pulled By: IslamAbdelRahman fbshipit-source-id: ed6ea2b | 13 December 2016, 08:54:14 UTC |
1f6f7e3 | Daniel Black | 12 December 2016, 22:32:55 UTC | cast to signed char in ldb_cmd_test for ppc64le Summary: char is unsigned on power by default causing this test to fail with the FF case. ppc64 return 255 while x86 returned -1. Casting works on both platforms. Closes https://github.com/facebook/rocksdb/pull/1500 Differential Revision: D4308775 Pulled By: yiwu-arbug fbshipit-source-id: db3e6e0 | 12 December 2016, 22:39:18 UTC |
243975d | Andrew Kryczka | 12 December 2016, 21:18:38 UTC | More accurate error status for BackupEngine::Open Summary: Some users are assuming NotFound means the backup does not exist at the provided path, which is a reasonable assumption. We need to stop returning NotFound for system errors. Depends on #1644 Closes https://github.com/facebook/rocksdb/pull/1645 Differential Revision: D4312233 Pulled By: ajkr fbshipit-source-id: 5343c10 | 12 December 2016, 21:24:21 UTC |
f0c509e | Andrew Kryczka | 12 December 2016, 20:38:43 UTC | Return finer-granularity status from Env::GetChildren* Summary: It'd be nice to use the error status type to distinguish between user error and system error. For example, GetChildren can fail listing a backup directory's contents either because a bad path was provided (user error) or because an operation failed, e.g., a remote storage service call failed (system error). In the former case, we want to continue and treat the backup directory as empty; in the latter case, we want to immediately propagate the error to the caller. This diff uses NotFound to indicate user error and IOError to indicate system error. Previously IOError indicated both. Closes https://github.com/facebook/rocksdb/pull/1644 Differential Revision: D4312157 Pulled By: ajkr fbshipit-source-id: 51b4f24 | 12 December 2016, 20:54:13 UTC |