a620966 | Jos Collin | 10 May 2017, 01:43:23 UTC | port: updated PhysicalCoreID() Summary: Updated PhysicalCoreID() to use sched_getcpu() on x86_64 for glibc >= 2.22. Added a new function named GetCPUID() that calls sched_getcpu(), to avoid repeated code. This change is done as per the comments of PR: https://github.com/facebook/rocksdb/pull/2230 Signed-off-by: Jos Collin <jcollin@redhat.com> Closes https://github.com/facebook/rocksdb/pull/2260 Differential Revision: D5025734 Pulled By: ajkr fbshipit-source-id: f4cca68c12573cafcf8531e7411a1e733bbf8eef | 10 May 2017, 02:06:39 UTC |
df035b6 | Aaron Gao | 09 May 2017, 22:44:48 UTC | Print compaction_options_universal.stop_style in LOG file Summary: Print compaction_options_universal.stop_style in LOG file ./db_bench --benchmarks=fillseq and read the log Closes https://github.com/facebook/rocksdb/pull/2268 Differential Revision: D5032438 Pulled By: lightmark fbshipit-source-id: 0e72fcd96a1caaf3cab20e86d39c75fbebf5ce37 | 09 May 2017, 22:57:44 UTC |
4897eb2 | Islam AbdelRahman | 09 May 2017, 16:49:41 UTC | dont skip IO for filter blocks Summary: Based on my experience with linkbench, We should not skip loading bloom filter blocks when they are not available in block cache when using Iterator::Seek Actually I am not sure why this behavior existed in the first place Closes https://github.com/facebook/rocksdb/pull/2255 Differential Revision: D5010721 Pulled By: maysamyabandeh fbshipit-source-id: 0af545a06ac4baeecb248706ec34d009c2480ca4 | 09 May 2017, 16:52:02 UTC |
3f73d54 | Changjian Gao | 09 May 2017, 05:09:06 UTC | Add C API to set max_file_opening_threads option Summary: Add `rocksdb_options_set_max_file_opening_threads()` API Closes https://github.com/facebook/rocksdb/pull/2184 Differential Revision: D4923090 Pulled By: lightmark fbshipit-source-id: c4ddce17733d999d426d02f7202b33a46ed6faed | 09 May 2017, 05:49:32 UTC |
0b69e50 | Gunnar Kudrjavets | 08 May 2017, 23:04:19 UTC | Define CACHE_LINE_SIZE only when it's not defined Summary: RocksDB is compiled as part of MyRocks (MySQL storage engine) build. MySQL already defines `CACHE_LINE_SIZE` and therefore we're getting a conflict. Change RocksDB definition to be more cognizant of this. Closes https://github.com/facebook/rocksdb/pull/2257 Differential Revision: D5013188 Pulled By: gunnarku fbshipit-source-id: cfa76fe99f90dcd82aa09204e2f1f35e07a82b41 | 08 May 2017, 23:12:28 UTC |
2cd0077 | Yi Wu | 08 May 2017, 05:12:55 UTC | Add bulk create/drop column family API 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 | 08 May 2017, 06:20:46 UTC |
40af238 | Maysam Yabandeh | 06 May 2017, 03:10:56 UTC | Object lifetime in cache Summary: Any non-raw-data dependent object must be destructed before the table closes. There was a bug of not doing that for filter object. This patch fixes the bug and adds a unit test to prevent such bugs in future. Closes https://github.com/facebook/rocksdb/pull/2246 Differential Revision: D5001318 Pulled By: maysamyabandeh fbshipit-source-id: 6d8772e58765485868094b92964da82ef9730b6d | 06 May 2017, 06:20:01 UTC |
fdaefa0 | Tamir Duberstein | 05 May 2017, 23:09:24 UTC | travis: add Windows cross-compilation Summary: - downcase includes for case-sensitive filesystems - give targets the same name (librocksdb) on all platforms With this patch it is possible to cross-compile RocksDB for Windows from a Linux host using mingw. cc yuslepukhin orgads Closes https://github.com/facebook/rocksdb/pull/2107 Differential Revision: D4849784 Pulled By: siying fbshipit-source-id: ad26ed6b4d393851aa6551e6aa4201faba82ef60 | 06 May 2017, 06:20:01 UTC |
a30a696 | Aaron Gao | 05 May 2017, 22:01:04 UTC | do not read next datablock if upperbound is reached Summary: Now if we have iterate_upper_bound set, we continue read until get a key >= upper_bound. For a lot of cases that neighboring data blocks have a user key gap between them, our index key will be a user key in the middle to get a shorter size. For example, if we have blocks: [a b c d][f g h] Then the index key for the first block will be 'e'. then if upper bound is any key between 'd' and 'e', for example, d1, d2, ..., d99999999999, we don't have to read the second block and also know that we have done our iteration by reaching the last key that smaller the upper bound already. This diff can reduce RA in most cases. Closes https://github.com/facebook/rocksdb/pull/2239 Differential Revision: D4990693 Pulled By: lightmark fbshipit-source-id: ab30ea2e3c6edf3fddd5efed3c34fcf7739827ff | 06 May 2017, 06:20:01 UTC |
2d42cf5 | Aaron Gao | 05 May 2017, 18:58:10 UTC | Roundup read bytes in ReadaheadRandomAccessFile Summary: Fix alignment in ReadaheadRandomAccessFile Closes https://github.com/facebook/rocksdb/pull/2253 Differential Revision: D5012336 Pulled By: lightmark fbshipit-source-id: 10d2c829520cb787227ef653ef63d5d701725778 | 05 May 2017, 19:14:14 UTC |
264d3f5 | Siying Dong | 05 May 2017, 01:14:29 UTC | Allow IntraL0 compaction in FIFO Compaction Summary: Allow an option for users to do some compaction in FIFO compaction, to pay some write amplification for fewer number of files. Closes https://github.com/facebook/rocksdb/pull/2163 Differential Revision: D4895953 Pulled By: siying fbshipit-source-id: a1ab608dd0627211f3e1f588a2e97159646e1231 | 05 May 2017, 01:16:13 UTC |
8c3a180 | Andrew Kryczka | 05 May 2017, 01:03:22 UTC | Set lower-bound on dynamic level sizes Summary: Changed dynamic leveling to stop setting the base level's size bound below `max_bytes_for_level_base`. Behavior for config where `max_bytes_for_level_base == level0_file_num_compaction_trigger * write_buffer_size` and same amount of data in L0 and base-level: - Before #2027, compaction scoring would favor base-level due to dividing by size smaller than `max_bytes_for_level_base`. - After #2027, L0 and Lbase get equal scores. The disadvantage is L0 is often compacted before reaching the num files trigger since `write_buffer_size` can be bigger than the dynamically chosen base-level size. This increases write-amp. - After this diff, L0 and Lbase still get equal scores. Now it takes `level0_file_num_compaction_trigger` files of size `write_buffer_size` to trigger L0 compaction by size, fixing the write-amp problem above. Closes https://github.com/facebook/rocksdb/pull/2123 Differential Revision: D4861570 Pulled By: ajkr fbshipit-source-id: 467ddef56ed1f647c14d86bb018bcb044c39b964 | 05 May 2017, 01:16:12 UTC |
7c1c8ce | Andrew Kryczka | 05 May 2017, 00:40:29 UTC | Avoid calling fallocate with UINT64_MAX Summary: When user doesn't set a limit on compaction output file size, let's use the sum of the input files' sizes. This will avoid passing UINT64_MAX as fallocate()'s length. Reported in #2249. Test setup: - command: `TEST_TMPDIR=/data/rocksdb-test/ strace -e fallocate ./db_compaction_test --gtest_filter=DBCompactionTest.ManualCompactionUnknownOutputSize` - filesystem: xfs before this diff: `fallocate(10, 01, 0, 1844674407370955160) = -1 ENOSPC (No space left on device)` after this diff: `fallocate(10, 01, 0, 1977) = 0` Closes https://github.com/facebook/rocksdb/pull/2252 Differential Revision: D5007275 Pulled By: ajkr fbshipit-source-id: 4491404a6ae8a41328aede2e2d6f4d9ac3e38880 | 05 May 2017, 00:43:22 UTC |
a45e98a | Leonidas Galanis | 04 May 2017, 17:28:22 UTC | max_open_files dynamic set, follow up Summary: Followup to make 0x40000 a TableCache constant that indicates infinite capacity Closes https://github.com/facebook/rocksdb/pull/2247 Differential Revision: D5001349 Pulled By: lgalanis fbshipit-source-id: ce7bd2e54b0975bb9f8680fdaa0f8bb0e7ae81a2 | 04 May 2017, 17:42:45 UTC |
6b99dbe | Aaron Gao | 04 May 2017, 08:21:31 UTC | fix memory alignment with logical sector size Summary: we align the buffer with logical sector size and should not test it with page size, which is usually 4k. Closes https://github.com/facebook/rocksdb/pull/2245 Differential Revision: D5001842 Pulled By: lightmark fbshipit-source-id: a7135fcf6351c6db363e8908956b1e193a4a6291 | 04 May 2017, 08:30:13 UTC |
e7ae4a3 | Leonidas Galanis | 04 May 2017, 03:46:17 UTC | Max open files mutable Summary: Makes max_open_files db option dynamically set-able by SetDBOptions. During the call of SetDBOptions we call SetCapacity on the table cache, which is a LRUCache. Closes https://github.com/facebook/rocksdb/pull/2185 Differential Revision: D4979189 Pulled By: yiwu-arbug fbshipit-source-id: ca7e8dc5e3619c79434f579be4847c0f7e56afda | 04 May 2017, 04:13:14 UTC |
60847a3 | Jos Collin | 03 May 2017, 19:48:23 UTC | port: updated PhysicalCoreID() Summary: Checked the return value of __get_cpuid(). Implemented the else case where the arch is different from i386 and x86_64. Pulled By: ajkr Differential Revision: D4973496 fbshipit-source-id: c40fdef5840364c2a79b1d11df0db5d4ec3d6a4a | 03 May 2017, 20:08:55 UTC |
b551104 | siddontang | 03 May 2017, 17:54:07 UTC | support PopSavePoint for WriteBatch Summary: Try to fix https://github.com/facebook/rocksdb/issues/1969 Closes https://github.com/facebook/rocksdb/pull/2170 Differential Revision: D4907333 Pulled By: yiwu-arbug fbshipit-source-id: 417b420ff668e6c2fd0dad42a94c57385012edc5 | 03 May 2017, 17:57:45 UTC |
498693c | Adam Retter | 03 May 2017, 03:33:25 UTC | Remove orphaned Java classes Summary: Remove orphaned Java classes that were missed from commit 9385fd7 Closes https://github.com/facebook/rocksdb/issues/2210 Closes https://github.com/facebook/rocksdb/pull/2212 Differential Revision: D4986199 Pulled By: maysamyabandeh fbshipit-source-id: 74e866cd8661c172a4754c2c945e30d650f6fa05 | 03 May 2017, 04:13:49 UTC |
5e2ebf2 | Tamir Duberstein | 02 May 2017, 22:09:40 UTC | travis: add CMake compilation Summary: siying Closes https://github.com/facebook/rocksdb/pull/2233 Differential Revision: D4987113 Pulled By: siying fbshipit-source-id: f07ecd3f7d9f5366a2b1665ce28ba10d74405557 | 02 May 2017, 22:11:59 UTC |
af6fe69 | Siying Dong | 02 May 2017, 22:01:07 UTC | Fix an issue of manual / auto compaction data race Summary: A data race between a manual and an auto compaction can cause a scheduled automatic compaction to be cancelled and never rescheduled again. This may cause a condition of hanging forever. Fix this by always making sure the cancelled compaction is put back to the compaction queue. Closes https://github.com/facebook/rocksdb/pull/2238 Differential Revision: D4984591 Pulled By: siying fbshipit-source-id: 3ab153886403c7b991896dcb2158b96cac12f227 | 02 May 2017, 22:11:59 UTC |
6798d1f | Maysam Yabandeh | 02 May 2017, 20:39:09 UTC | Revert "Delete filter before closing the table" Summary: This reverts commit 89833577a80ad7a2cbf6b99c5957f572b3548152. Closes https://github.com/facebook/rocksdb/pull/2240 Differential Revision: D4986982 Pulled By: maysamyabandeh fbshipit-source-id: 56c4c07b7b5b7c6fe122d5c2f2199d221c8510c0 | 02 May 2017, 20:46:39 UTC |
8983357 | Maysam Yabandeh | 02 May 2017, 01:17:01 UTC | Delete filter before closing the table Summary: Some filters such as partitioned filter have pointers to the table for which they are created. Therefore is they are stored in the block cache, the should be forcibly erased from block cache before closing the table, which would result into deleting the object. Otherwise the destructor will be called later when the cache is lazily erasing the object, which having the parent table no longer existent it could result into undefined behavior. Update: there will be still cases the filter is not removed from the cache since the table has not kept a pointer to the cache handle to be able to forcibly release it later. We make sure that the filter destructor does not access the table pointer to get around such cases. Closes https://github.com/facebook/rocksdb/pull/2207 Differential Revision: D4941591 Pulled By: maysamyabandeh fbshipit-source-id: 56fbab2a11cf447e1aa67caa30b58d7bd7ce5bbd | 02 May 2017, 02:19:37 UTC |
47a09b0 | Maysam Yabandeh | 02 May 2017, 00:43:52 UTC | Avoid pinning when row cache is accessed Summary: With row cache being enabled, table cache is doing a short circuit for reading data. This path needs to be updated to take advantage of pinnable slice. In the meanwhile we disabling pinning in this path. Closes https://github.com/facebook/rocksdb/pull/2237 Differential Revision: D4982389 Pulled By: maysamyabandeh fbshipit-source-id: 542630d0cf23cfb1f0c397da82e7053df7966591 | 02 May 2017, 01:12:46 UTC |
aeaba07 | Siying Dong | 01 May 2017, 23:05:21 UTC | Remove an assert that causes TSAN failure. Summary: ColumnFamilyData::ConstructNewMemtable is called out of DB mutex, and it asserts current_ is not empty, but current_ should only be accessed inside DB mutex. Remove this assert to make TSAN happy. Closes https://github.com/facebook/rocksdb/pull/2235 Differential Revision: D4978531 Pulled By: siying fbshipit-source-id: 423685a7dae88ed3faaa9e1b9ccb3427ac704a4b | 01 May 2017, 23:35:15 UTC |
0b90aa9 | Siying Dong | 01 May 2017, 23:01:16 UTC | Set VALGRIND_VER Summary: VALGRIND_VER was left empty after moving the environment to GCC-5. Set it back. Closes https://github.com/facebook/rocksdb/pull/2234 Differential Revision: D4978534 Pulled By: siying fbshipit-source-id: f0640d58e8f575f75fb3f8b92e686c9e0b6a59bb | 01 May 2017, 23:35:15 UTC |
a2b0521 | Siying Dong | 29 April 2017, 00:00:24 UTC | Make PosixLogger::flush_pending_ atomic Summary: TSAN sometimes complaints data race of PosixLogger::flush_pending_. Make it atomic. Closes https://github.com/facebook/rocksdb/pull/2231 Differential Revision: D4973397 Pulled By: siying fbshipit-source-id: 571e886e3eca3231705919d573e250c1c1ec3764 | 29 April 2017, 00:07:56 UTC |
da4b207 | Yi Wu | 28 April 2017, 19:33:30 UTC | Fix WriteBatchWithIndex address use after scope error Summary: Fix use after scope error caught by ASAN. Closes https://github.com/facebook/rocksdb/pull/2228 Differential Revision: D4968028 Pulled By: yiwu-arbug fbshipit-source-id: a2a266c98634237494ab4fb2d666bc938127aeb2 | 28 April 2017, 20:12:10 UTC |
d616ebe | Siying Dong | 28 April 2017, 00:50:56 UTC | Add GPLv2 as an alternative license. Summary: Closes https://github.com/facebook/rocksdb/pull/2226 Differential Revision: D4967547 Pulled By: siying fbshipit-source-id: dd3b58ae1e7a106ab6bb6f37ab5c88575b125ab4 | 28 April 2017, 01:06:12 UTC |
4439b45 | Joel Marcey | 28 April 2017, 00:36:35 UTC | Add documentation license Summary: Closes https://github.com/facebook/rocksdb/pull/2224 Differential Revision: D4966524 Pulled By: siying fbshipit-source-id: 99f28471bcfc83b0a9df871d5247f62d4a6540ce | 28 April 2017, 01:06:11 UTC |
0ca3ead | Aaron Gao | 27 April 2017, 21:15:30 UTC | add GetRootDB() in DeleteFilesInRange Summary: In case users cast a subclass of db* into dbimpl* Closes https://github.com/facebook/rocksdb/pull/2222 Differential Revision: D4964486 Pulled By: lightmark fbshipit-source-id: 0ccdc08ee8e7a193dfbbe0218c3cbfd795662ca1 | 27 April 2017, 21:33:17 UTC |
cdad04b | Dmitri Smirnov | 27 April 2017, 19:19:55 UTC | Remove double buffering on RandomRead on Windows. 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 | 27 April 2017, 19:30:05 UTC |
e15382c | Siying Dong | 27 April 2017, 00:12:28 UTC | Disable two flaky tests Summary: Closes https://github.com/facebook/rocksdb/pull/2217 Differential Revision: D4959351 Pulled By: siying fbshipit-source-id: ce7c3a430bae0d15e06b3d5c958ebce969d08564 | 27 April 2017, 00:13:46 UTC |
2150cc1 | Aaron Gao | 26 April 2017, 22:28:50 UTC | fix WritableFile buffer size in direct IO Summary: �fix the buffer size in case of ppl use buffer size as their block_size. Closes https://github.com/facebook/rocksdb/pull/2198 Differential Revision: D4956878 Pulled By: lightmark fbshipit-source-id: 8bb0dc9c133887aadcd625d5261a3d1110b71473 | 26 April 2017, 22:57:02 UTC |
efc361e | Andrew Kryczka | 26 April 2017, 22:19:50 UTC | Add user stats Reset API 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 | 26 April 2017, 22:57:01 UTC |
6616e4d | Aaron Gao | 26 April 2017, 21:21:04 UTC | add prefetch to PosixRandomAccessFile in buffered io Summary: Every time after a compaction/flush finish, we issue user reads to put the table into block cache which includes a couple of IO that read footer, index blocks, meta block, etc. So we implement Prefetch here to reduce IO. Closes https://github.com/facebook/rocksdb/pull/2196 Differential Revision: D4931782 Pulled By: lightmark fbshipit-source-id: 5a13d58dcab209964352322217193bbf7ff78149 | 26 April 2017, 21:47:23 UTC |
f6a27d0 | Andrew Kryczka | 26 April 2017, 21:18:58 UTC | Extract statistics tests into separate file Summary: I'm going to add more DB tests for statistics as currently we have very few. I started a file dedicated to this purpose and moved the existing stats-specific tests there. Closes https://github.com/facebook/rocksdb/pull/2211 Differential Revision: D4951558 Pulled By: ajkr fbshipit-source-id: 05d11c35079c40ecabdfd2cf5556ccb761f694a4 | 26 April 2017, 21:47:23 UTC |
7eddecc | Aaron Gao | 26 April 2017, 20:28:39 UTC | support bulk loading with universal compaction Summary: Support buck load with universal compaction. More test cases to be added. Closes https://github.com/facebook/rocksdb/pull/2202 Differential Revision: D4935360 Pulled By: lightmark fbshipit-source-id: cc3ca1b6f42faa503207dab1408d6bcf393ee5b5 | 26 April 2017, 20:41:32 UTC |
3b4d1b7 | Aaron Gao | 26 April 2017, 08:09:05 UTC | add <sys/sysmacros.h> to avoid warning with glibc 2.25 Summary: https://github.com/facebook/rocksdb/issues/2152 Closes https://github.com/facebook/rocksdb/pull/2208 Differential Revision: D4945577 Pulled By: lightmark fbshipit-source-id: 4e679150f2c9443d3be0b6008b26b65fabbda75a | 26 April 2017, 08:26:55 UTC |
e5e545a | Andrew Kryczka | 24 April 2017, 21:57:27 UTC | Reunite checkpoint and backup core logic Summary: These code paths forked when checkpoint was introduced by copy/pasting the core backup logic. Over time they diverged and bug fixes were sometimes applied to one but not the other (like fix to include all relevant WALs for 2PC), or it required extra effort to fix both (like fix to forge CURRENT file). This diff reunites the code paths by extracting the core logic into a function, CreateCustomCheckpoint(), that is customizable via callbacks to implement both checkpoint and backup. Related changes: - flush_before_backup is now forcibly enabled when 2PC is enabled - Extracted CheckpointImpl class definition into a header file. This is so the function, CreateCustomCheckpoint(), can be called by internal rocksdb code but not exposed to users. - Implemented more functions in DummyDB/DummyLogFile (in backupable_db_test.cc) that are used by CreateCustomCheckpoint(). Closes https://github.com/facebook/rocksdb/pull/1932 Differential Revision: D4622986 Pulled By: ajkr fbshipit-source-id: 157723884236ee3999a682673b64f7457a7a0d87 | 24 April 2017, 22:06:46 UTC |
72c21fb | Aaron Gao | 24 April 2017, 20:38:29 UTC | call GetRootDB() before cast to DBImpl* in CancelAllBackgroundWork Summary: User could call this with wrapper class of DB or DBImpl Closes https://github.com/facebook/rocksdb/pull/2200 Differential Revision: D4935530 Pulled By: lightmark fbshipit-source-id: df9cb61d67d0f3bbcf62f714d77523a459a92883 | 24 April 2017, 20:47:17 UTC |
4c9447d | Maysam Yabandeh | 24 April 2017, 18:21:47 UTC | Add erase option to release cache Summary: This is useful when we put the entries in the block cache for accounting purposes and do not expect it to be used after it is released. If the cache does not erase the item in such cases not only the performance of cache is negatively affected but the item's destructor not being called at the time of release might violate the assumptions about the lifetime of the object. The new change adds a force_erase option to the Release method and returns a boolean to indicate whehter the item is successfully deleted. Closes https://github.com/facebook/rocksdb/pull/2180 Differential Revision: D4916032 Pulled By: maysamyabandeh fbshipit-source-id: 94409a346069923cac9de8e57adc313b4ed46f28 | 24 April 2017, 18:28:36 UTC |
04d5897 | Tomas Kolda | 22 April 2017, 03:41:37 UTC | AIX and Solaris Sparc Support Summary: Replacement of #2147 The change was squashed due to a lot of conflicts. Closes https://github.com/facebook/rocksdb/pull/2194 Differential Revision: D4929799 Pulled By: siying fbshipit-source-id: 5cd49c254737a1d5ac13f3c035f128e86524c581 | 22 April 2017, 03:48:04 UTC |
afff995 | Maysam Yabandeh | 22 April 2017, 00:30:30 UTC | Respect deprecated flag in table options Summary: Closes https://github.com/facebook/rocksdb/pull/2197 Differential Revision: D4932434 Pulled By: maysamyabandeh fbshipit-source-id: 6c83c12d6d47e3f0640ab84954944215968f266f | 22 April 2017, 00:42:10 UTC |
066cfba | Nick Anderson | 21 April 2017, 19:42:46 UTC | Adding -noprofile to CMakeLists for Windows Summary: In the off chance you have a `Microsoft.PowerShell_profile.ps1` profile the `execute_process` will load one's profile during running `cmake`, which will cause garbage output to be written to the `build_version.cc` file. If you add in a `-noprofile` flag, or you suppress output in your pshell profile, this is mitigated. Closes https://github.com/facebook/rocksdb/pull/2168 Differential Revision: D4927003 Pulled By: siying fbshipit-source-id: 83861752d6cf2627dd864eedd2acaa8aa8a6232e | 21 April 2017, 21:11:49 UTC |
cb885bc | Aaron Gao | 21 April 2017, 02:44:55 UTC | set compaction_iterator earliest_snapshot to max if no snapshot Summary: It is a potential bug that will be triggered if we ingest files before inserting the first key into an empty db. 0 is a special value reserved to indicate the concept of non-existence. But not good for seqno in this case because 0 is a valid seqno for ingestion(bulk loading) Closes https://github.com/facebook/rocksdb/pull/2183 Differential Revision: D4919827 Pulled By: lightmark fbshipit-source-id: 237eea40f88bd6487b66806109d90065dc02c362 | 21 April 2017, 02:56:59 UTC |
7534ba7 | Siying Dong | 20 April 2017, 22:56:50 UTC | StackableDB should pass ResetStats() Summary: Closes https://github.com/facebook/rocksdb/pull/2190 Differential Revision: D4922688 Pulled By: siying fbshipit-source-id: eaa3d122f8d389ae0508ec8b61f7780fd8b0a7ef | 20 April 2017, 23:11:56 UTC |
c1fbf91 | Tomas Kolda | 20 April 2017, 17:59:04 UTC | Fixing Solaris Sparc crash due to cached TLS Summary: Workaround for Solaris gcc binary. Program is crashing, because when TLS of perf context that is used twice on same frame, it is damaged thus Segmentation fault. Issue: #2153 Closes https://github.com/facebook/rocksdb/pull/2187 Differential Revision: D4922274 Pulled By: siying fbshipit-source-id: 549105ebce9a8ce08a737f4d6b9f2312ebcde9a8 | 20 April 2017, 18:06:09 UTC |
963eeba | Siying Dong | 20 April 2017, 17:34:01 UTC | Revert how check_format_compatible.sh checkout release branches. Summary: In a previous commit, I changed the way to checkout release branches from "git checkout <branch_name>" to "git checkout origin/<branch_name>". However, this doesn't seem to work in our CI environment. Revert it. Closes https://github.com/facebook/rocksdb/pull/2189 Differential Revision: D4922294 Pulled By: siying fbshipit-source-id: 482c17f9b05e6ccb190876b050682fe5a458103d | 20 April 2017, 18:06:09 UTC |
97005db | Siying Dong | 20 April 2017, 17:16:13 UTC | tools/check_format_compatible.sh to cover option file loading too 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 | 20 April 2017, 17:26:37 UTC |
8f61967 | Maysam Yabandeh | 20 April 2017, 15:34:42 UTC | Add cpu usage to regression benchmarks (4th attempt) Summary: Tested by running it on a remote machine. I could not run it on the particular remote machine which has a different location for time command since it is busy and the script does not allow concurrent runs. So I tested it by hacking the script and replacing the command with "\$(hostname)" and confirmed that the scripts prints out the host name of the remote machine. Closes https://github.com/facebook/rocksdb/pull/2181 Differential Revision: D4921654 Pulled By: maysamyabandeh fbshipit-source-id: 8abb5ea9f7234f3c50a749576ccbb47ff605beb9 | 20 April 2017, 16:31:09 UTC |
df74b77 | Andrew Kryczka | 19 April 2017, 20:15:16 UTC | Limit backups opened Summary: This was requested by a customer who wants to proactively monitor whether any valid backups are available. The existing performance was poor because Open() serially reads every small meta-file (one per backup), which was slow on HDFS. Now we only read the minimum number of meta-files to find `max_valid_backups_to_open` valid backups. The customer mentioned above can just set it to one. Closes https://github.com/facebook/rocksdb/pull/2151 Differential Revision: D4882564 Pulled By: ajkr fbshipit-source-id: cb0edf9e8ac693e4d5f24902e725a011ed8c0c2f | 19 April 2017, 20:26:47 UTC |
1dd7760 | Andrew Kryczka | 19 April 2017, 18:44:40 UTC | Change L0 compaction score using level size Summary: The goal is to avoid the problem of small number of L0 files triggering compaction to base level (which increased write-amp), while still allowing L0 compaction-by-size (so intra-L0 compactions cause score to increase). Closes https://github.com/facebook/rocksdb/pull/2172 Differential Revision: D4908552 Pulled By: ajkr fbshipit-source-id: 4b170142b2b368e24bd7948b2a6f24c69fabf73d | 19 April 2017, 19:00:01 UTC |
927bbab | Maysam Yabandeh | 19 April 2017, 18:02:09 UTC | Revert "Add cpu usage to regression benchmarks (3rd attempt)" Summary: This reverts commit 476e80be80903158ac0af486aad630efff70b036. Closes https://github.com/facebook/rocksdb/pull/2177 Differential Revision: D4914830 Pulled By: maysamyabandeh fbshipit-source-id: 039299348ceb325aa721eb35e3a26e890f84ee74 | 19 April 2017, 18:11:12 UTC |
8e84a38 | Maysam Yabandeh | 19 April 2017, 03:19:34 UTC | Re-add index_per_partition but as deprecated Summary: index_per_partition should have deprecated deprecated instead of being removed. It is causing backward compatibility issues. Closes https://github.com/facebook/rocksdb/pull/2173 Differential Revision: D4910947 Pulled By: maysamyabandeh fbshipit-source-id: 5c52939381847d232ede6866606f67f2b4b857ae | 19 April 2017, 03:35:46 UTC |
1553659 | Siying Dong | 19 April 2017, 01:31:15 UTC | Add more recent versions to tools/check_format_compatible.sh Summary: Need to add more recent versions to tools/check_format_compatible.sh to meka sure backward and forward compatibility. Closes https://github.com/facebook/rocksdb/pull/2175 Differential Revision: D4911585 Pulled By: siying fbshipit-source-id: 943e6488757efb11bb6720d811c7ba949915c9de | 19 April 2017, 01:57:11 UTC |
966ebb0 | Yi Wu | 19 April 2017, 00:12:50 UTC | Hide event listeners from lite build Summary: Fixing lite build failure introduce by #2169. Closes https://github.com/facebook/rocksdb/pull/2174 Reviewed By: sagar0 Differential Revision: D4910619 Pulled By: yiwu-arbug fbshipit-source-id: 5213b7b7431cc258688793c8c28153025588d8d9 | 19 April 2017, 00:26:19 UTC |
476e80b | Maysam Yabandeh | 19 April 2017, 00:09:47 UTC | Add cpu usage to regression benchmarks (3rd attempt) Summary: Tested by running rocks/tools/debug_regression_test.sh and verifying the local output: ``` cat local/rocks_regression_tests/OPTIONS-viewstate-66-1262-5000/2017-04-13-11-34-51/SUMMARY.csv commit id, benchmark, user@host,num-dbs,key-range,key-size,value-size,compress-rate,ops-per-thread,num-threads, cache-size,flushes,compactions,ops-per-s, p50, p75, p99, p99.9, p99.99,debug,real-sec,user-sec,sys-sec d2dce5611ab4b9a671ef518f648adf84d49e5356, readrandom, root@localhost, 12, 5000, 66, 1262, 50, 312, 16, 1073741824, 4, 16, 138458, 9380, 11530, 55200, 16803200, 32504000, 1, 0, 0, 0 d2dce5611ab4b9a671ef518f648adf84d49e5356, readwhilewriting, root@localhost, 12, 5000, 66, 1262, 50, 312, 16, 1073741824, 4, 16, 104511, Closes https://github.com/facebook/rocksdb/pull/2157 Differential Revision: D4909238 Pulled By: maysamyabandeh fbshipit-source-id: dc7bb8569c3c33b9f7c4ba47a757b24d27bb3b31 | 19 April 2017, 00:11:25 UTC |
c49d704 | Siying Dong | 18 April 2017, 23:30:51 UTC | Add DB:ResetStats() Summary: Add a function to allow users to reset internal stats without restarting the DB. Closes https://github.com/facebook/rocksdb/pull/2167 Differential Revision: D4907939 Pulled By: siying fbshipit-source-id: ab2dd85b88aabe9380da7485320a1d460d3e1f68 | 18 April 2017, 23:56:48 UTC |
0fcdccc | Yi Wu | 18 April 2017, 19:00:36 UTC | Blob storage helper methods Summary: Split out interfaces needed for blob storage from #1560, including * CompactionEventListener and OnFlushBegin listener interfaces. * Blob filename support. Closes https://github.com/facebook/rocksdb/pull/2169 Differential Revision: D4905463 Pulled By: yiwu-arbug fbshipit-source-id: 564e73448f1b7a367e5e46216a521e57ea9011b5 | 18 April 2017, 19:42:38 UTC |
a6439d7 | Tamir Duberstein | 18 April 2017, 06:52:27 UTC | CMake: compile with -O2 Summary: Seems pretty important. Closes https://github.com/facebook/rocksdb/pull/2161 Differential Revision: D4891097 Pulled By: yiwu-arbug fbshipit-source-id: 16dc0149dc89d426407fabab4a5ba1d6d1562269 | 18 April 2017, 06:56:46 UTC |
e67f0ad | Jay Lee | 16 April 2017, 18:42:01 UTC | enable O2 optimization for lz4 Summary: Closes https://github.com/facebook/rocksdb/pull/2164 Differential Revision: D4897389 Pulled By: yiwu-arbug fbshipit-source-id: fac15374ae7fef1ece70fd2b9018f2451f3c2f7c | 16 April 2017, 18:47:17 UTC |
bc39732 | Tamir Duberstein | 16 April 2017, 18:41:12 UTC | CMake: add support for SSE4.2 Summary: Closes https://github.com/facebook/rocksdb/pull/2159 Differential Revision: D4894483 Pulled By: yiwu-arbug fbshipit-source-id: 607e17e8ef5d30dce02c27be9d1de7d9f823b4ae | 16 April 2017, 18:47:17 UTC |
7d5f5aa | Tudor Bosman | 16 April 2017, 17:37:07 UTC | Separate compile and link for shared library Summary: Previously, the shared library (make shared_lib) was built with only one compile line, compiling all .cc files and linking the shared library in one step. That step would often take 10+ minutes on one machine, and could not take advantage of multiple CPUs (it's only one invocation of the compiler). This commit changes the shared_lib build to compile .o files individually (placing the resulting .o files in the directory shared-objects) and then link them into the shared library at the end, similarly to how the java static build (jls) does it. Tested by making sure that both static and shared libraries work, and by making sure that "make clean" cleans up the shared-objects directory. Closes https://github.com/facebook/rocksdb/pull/2165 Differential Revision: D4897121 Pulled By: yiwu-arbug fbshipit-source-id: 9811e043d1c01e10503593f3489d186c786ee7d7 | 16 April 2017, 17:48:43 UTC |
0716527 | Aaron Gao | 15 April 2017, 01:43:55 UTC | remove warning Summary: st_blocks shows 16 though the right value is 8. This happens occasionally which seems a bug. Closes https://github.com/facebook/rocksdb/pull/2160 Differential Revision: D4893542 Pulled By: lightmark fbshipit-source-id: 68e832586b58bbc6162efbe83ce273f1570d5be3 | 15 April 2017, 01:56:14 UTC |
6e8d6f4 | Aaron Gao | 15 April 2017, 01:43:32 UTC | readahead backwards from sst end Summary: prefetch some data from the end of the file for each compaction to reduce IO. Closes https://github.com/facebook/rocksdb/pull/2149 Differential Revision: D4880576 Pulled By: lightmark fbshipit-source-id: aa767cd1afc84c541837fbf1ad6c0d45b34d3932 | 15 April 2017, 01:56:14 UTC |
ca96654 | Siying Dong | 14 April 2017, 17:13:08 UTC | Change Build Env to gcc-5 Summary: Default to build using gcc-5. Only apply to Facebook-only environments. Closes https://github.com/facebook/rocksdb/pull/2158 Differential Revision: D4887568 Pulled By: siying fbshipit-source-id: 53496c9af3273ccd44441bd0bef9d29beefbc00b | 14 April 2017, 18:12:56 UTC |
e9e6e53 | Yi Wu | 13 April 2017, 21:46:25 UTC | Simplify write thread logic Summary: The concept about early exit in write thread implementation is a confusing one. It means that if early exit is allowed, batch group leader will not responsible to exit the batch group, but the last finished writer do. In case we need to mark log synced, or encounter memtable insert error, early exit is disallowed. This patch remove such a concept by: * In all cases, the last finished writer (not necessary leader) is responsible to exit batch group. * In case of parallel memtable write, leader will also mark log synced after memtable insert and before signal finish (call `CompleteParallelWorker()`). The purpose is to allow mark log synced (which require locking mutex) can run in parallel to memtable insert in other writers. * The last finish writer should handle memtable insert error (update bg_error_) before exiting batch group. Closes https://github.com/facebook/rocksdb/pull/2134 Differential Revision: D4869667 Pulled By: yiwu-arbug fbshipit-source-id: aec170847c85b90f4179d6a4608a4fe1361544e3 | 13 April 2017, 23:12:04 UTC |
6799c7e | Sagar Vemuri | 13 April 2017, 20:22:30 UTC | Pass in remote as a param to branch creation script Summary: When people are working off of a rocksdb fork, i.e. when their 'origin' points to github.com/<username>/rocksdb, the script creates a new branch and pushes to their origin. The new branch created by this script should instead be pushed to github.com/facebook/rocksdb. Many people might have named facebook/rocksdb remote as 'upstream' (or something else). This fix provides an option to specify the remote to push the branch to. The default is still 'origin' More context: When I created 5.4 branch using this script, it got pushed to sagar0/rocksdb instead of facebook/rocksdb, as I was working off of a fork. My 'origin' was pointing to sagar0/rocksdb. My 'upstream' was set to 'facebook/rocksdb'. So, I had to manually push the branch to my 'upstream'. Closes https://github.com/facebook/rocksdb/pull/2156 Differential Revision: D4885333 Pulled By: sagar0 fbshipit-source-id: 9410eab5bd9bbefc340059800bd6b8434406729d | 13 April 2017, 23:12:04 UTC |
44fa8ec | Aaron Gao | 13 April 2017, 20:07:33 UTC | change use_direct_writes to use_direct_io_for_flush_and_compaction 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 | 13 April 2017, 23:12:04 UTC |
13b5035 | Aaron Gao | 13 April 2017, 20:05:50 UTC | add space for buggy kernel warning Summary: add the missing space Closes https://github.com/facebook/rocksdb/pull/2150 Differential Revision: D4880696 Pulled By: lightmark fbshipit-source-id: a4e0ad6a8ea45d6469d3f6c8514fdeb4cf10aaf5 | 13 April 2017, 23:12:04 UTC |
b6b9359 | Igor Canadi | 13 April 2017, 18:58:44 UTC | Fix BYTES_WRITTEN accounting Summary: BYTES_WRITTEN accounting doesn't work with disabled WAL. For example, this is what we get in the LOG: ``` Cumulative writes: 9794K writes, 228M keys, 9794K commit groups, 1.0 writes per commit group, ingest: 0.00 GB, 0.00 MB/s ``` WAL bytes are tracked in a different statistic: https://github.com/facebook/rocksdb/blob/master/db/internal_stats.h#L105. BYTES_WRITTEN should count all the writes. Closes https://github.com/facebook/rocksdb/pull/2133 Differential Revision: D4880615 Pulled By: yiwu-arbug fbshipit-source-id: 8fd0b223099f3f5ad7df79d4e737d313687fec69 | 13 April 2017, 23:12:03 UTC |
13369fb | Islam AbdelRahman | 13 April 2017, 18:06:08 UTC | Update ShipIt to honor TARGETS updates Summary: Update ShipIt to update push changes to TARGETS Reviewed By: sdwilsh Differential Revision: D4873590 fbshipit-source-id: bb5ab9bed7ad7bc51f1e2ee1fe8204224aaae2fb | 13 April 2017, 23:12:03 UTC |
f2449ce | Islam AbdelRahman | 13 April 2017, 22:54:49 UTC | Remove .deprecated_arcconfig | 13 April 2017, 22:54:49 UTC |
415be22 | Sagar Vemuri | 13 April 2017, 00:30:06 UTC | RocksDB Release 5.4 : Update HISTORY.md and build version. Summary: Closes https://github.com/facebook/rocksdb/pull/2142 Reviewed By: siying Differential Revision: D4874696 Pulled By: sagar0 fbshipit-source-id: 03e6e21735bb74e5a37cc913aabb2c250af558cc | 13 April 2017, 00:36:27 UTC |
3eab41d | Daniel Black | 12 April 2017, 22:04:41 UTC | java dependencies test -s -> use test -d Summary: To correct a build process where the JAVA_TEST_LIBDIR is a symlink to a cache directory. Test -s (size 0) on symlinks returns true, resulting in a mkdir over the top of the symlink resulting in failure. As a solution -d checks if it is a directory (or the symlink refers to a directory), which works in the case of real directories and symlinks to directories. Trivial I know but it was really easy for me to use a symlink here to prevent frequent downloads in a CI environment. Thanks for your consideration. Closes https://github.com/facebook/rocksdb/pull/1917 Differential Revision: D4612263 Pulled By: siying fbshipit-source-id: 4d458f8e1760068cdd6b5eae4bce6e12c400df41 | 12 April 2017, 22:13:41 UTC |
a22ed4e | Siying Dong | 12 April 2017, 22:00:03 UTC | internal_repo_rocksdb to build Java and RocksDB LITE Summary: Build Java and RocksDB LITE as a customized unit test under internal_repo_rocksdb. One thing I'm not sure is that whether these two tests are triggered in every flavor. Reviewed By: IslamAbdelRahman Differential Revision: D4855868 fbshipit-source-id: 82a1628b458744d7692bbd29ef7424cca1294031 | 12 April 2017, 22:13:41 UTC |
9f2cc59 | Islam AbdelRahman | 12 April 2017, 01:17:47 UTC | sync TARGETS file | 12 April 2017, 01:17:47 UTC |
10d7546 | Aaron Gao | 11 April 2017, 23:59:50 UTC | set readahead buffer size from roundup(user_size) + 4k to roundup(use… Summary: Users usually set readahead buffer to a multiple of 4k, more than that, usually a multiple of blocks. So previously we set real buffer size 512 * n + 4k, which may introduce an additional block reading. Closes https://github.com/facebook/rocksdb/pull/2138 Differential Revision: D4871504 Pulled By: lightmark fbshipit-source-id: b070faa51d92e976e8e8468c00692699e585e243 | 12 April 2017, 00:13:33 UTC |
ba7da43 | Aaron Gao | 11 April 2017, 23:53:57 UTC | fix db_stress crash caused by buggy kernel warning Summary: filter the warning out and only print it once. Closes https://github.com/facebook/rocksdb/pull/2137 Differential Revision: D4870925 Pulled By: lightmark fbshipit-source-id: 91b363ce7f70bce88b0780337f408fc4649139b8 | 11 April 2017, 23:56:59 UTC |
6257837 | Siying Dong | 11 April 2017, 23:51:15 UTC | Add ROCKSDB_JAVA_NO_COMPRESSION flag Summary: In some CI test environment, compression libraries can't be successfully built. It still helps to build RocksDB there. Provide such an option to skip to download and build compression libraries. Closes https://github.com/facebook/rocksdb/pull/2135 Differential Revision: D4872617 Pulled By: siying fbshipit-source-id: bb21ac373bc62a2528cdf1ca4547e05fcae86214 | 11 April 2017, 23:56:59 UTC |
6a6723e | Sagar Vemuri | 11 April 2017, 23:11:27 UTC | Move MergeOperatorPinning tests to be with other merge operator tests Summary: Moved MergeOperatorPinning tests from db_test2.cc to db_merge_operator_test.cc. [This is the same code as PR #2104 , which has already been reviewed, but I am creating a new PR as I cannot import from #2104 onto phabricator anymore even after rebasing. I'll close and discard #2104.] Closes https://github.com/facebook/rocksdb/pull/2125 Differential Revision: D4863312 Pulled By: sagar0 fbshipit-source-id: 0f71a7690aa09c1d03ee85ce2bc1d2d89e4f4399 | 11 April 2017, 23:15:06 UTC |
6a8d5c0 | Maysam Yabandeh | 11 April 2017, 20:49:04 UTC | Revert "Report cpu usage using time command" Summary: This reverts commit 97ec8a134968c342cdf7244352220bb292fd950c. Closes https://github.com/facebook/rocksdb/pull/2136 Differential Revision: D4870610 Pulled By: maysamyabandeh fbshipit-source-id: cdbfba135b065562f38f704f350a9a4e63a9a122 | 11 April 2017, 20:57:58 UTC |
8f47a97 | Siying Dong | 11 April 2017, 15:38:22 UTC | File level histogram should be printed per CF, not per DB Summary: Currently level histogram is only printed out for DB stats and for default CF. This is confusing. Change to print for every CF instead. Closes https://github.com/facebook/rocksdb/pull/2126 Differential Revision: D4865373 Pulled By: siying fbshipit-source-id: 1c853e0ac66e00120ee931cabc9daf69ccc2d577 | 11 April 2017, 15:42:03 UTC |
9300ef5 | Manuel Ung | 10 April 2017, 22:47:20 UTC | Fix shared lock upgrades Summary: Upgrading a shared lock was silently succeeding because the actual locking code was skipped. This is because if the keys are tracked, it is assumed that they are already locked and do not require locking. Fix this by recording in tracked keys whether the key was locked exclusively or not. Note that lock downgrades are impossible, which is the behaviour we expect. This fixes facebook/mysql-5.6#587. Closes https://github.com/facebook/rocksdb/pull/2122 Differential Revision: D4861489 Pulled By: IslamAbdelRahman fbshipit-source-id: 58c7ebe7af098bf01b9774b666d3e9867747d8fd | 10 April 2017, 23:06:00 UTC |
1f8b119 | Manuel Ung | 10 April 2017, 22:38:34 UTC | Limit maximum memory used in the WriteBatch representation Summary: Extend TransactionOptions to include max_write_batch_size which determines the maximum size of the writebatch representation. If memory limit is exceeded, the operation will abort with subcode kMemoryLimit. Closes https://github.com/facebook/rocksdb/pull/2124 Differential Revision: D4861842 Pulled By: lth fbshipit-source-id: 46fd172ea67cc90bbba829bf0d70cfab2261c161 | 10 April 2017, 22:42:26 UTC |
97ec8a1 | Maysam Yabandeh | 10 April 2017, 21:49:12 UTC | Report cpu usage using time command Summary: Run the time command before regression tests, parse the output, and add the numbers to the report. Closes https://github.com/facebook/rocksdb/pull/2101 Differential Revision: D4862781 Pulled By: maysamyabandeh fbshipit-source-id: 4a81caa5d14187d67093aad154c8f0ad56aba901 | 10 April 2017, 21:59:31 UTC |
20778f2 | Maysam Yabandeh | 10 April 2017, 19:37:07 UTC | Adding comments to the write path Summary: also did minor refactoring Closes https://github.com/facebook/rocksdb/pull/2115 Differential Revision: D4855818 Pulled By: maysamyabandeh fbshipit-source-id: fbca6ac57e5c6677fffe8354f7291e596a50cb77 | 10 April 2017, 19:43:34 UTC |
7124268 | Sagar Vemuri | 10 April 2017, 18:13:23 UTC | Reduce the number of params needed to construct DBIter Summary: DBIter, and in-turn NewDBIterator and NewArenaWrappedDBIterator, take a bunch of params. They can be reduced by passing in ReadOptions directly instead of passing in every new param separately. It also seems much cleaner as a bunch of the params towards the end seem to be optional. (Recently I introduced max_skippable_internal_keys, which added one more to the already huge count). Idea courtesy IslamAbdelRahman Closes https://github.com/facebook/rocksdb/pull/2116 Differential Revision: D4857128 Pulled By: sagar0 fbshipit-source-id: 7d239df094b94bd9ea79d145cdf825478ac037a8 | 10 April 2017, 18:14:14 UTC |
04abb2b | Willem Jan Withagen | 09 April 2017, 18:15:35 UTC | FreeBSD only requires WITH_JEMALLOC, not the rest Summary: The compiler error: ``` /home/jenkins/workspace/ceph-master/src/rocksdb/db/db_impl.cc:20:10: fatal error: 'jemalloc/jemalloc.h' file not found ^ 1 error generated. ``` But is does compile with the `WITH_JEMALLOC` set. So ignore all the other settings. Closes https://github.com/facebook/rocksdb/pull/2118 Differential Revision: D4858387 Pulled By: yiwu-arbug fbshipit-source-id: 05b982969dcab53669a73a903641e71641c714e7 | 09 April 2017, 18:26:50 UTC |
6173018 | Islam AbdelRahman | 07 April 2017, 23:58:07 UTC | dummy diff Summary: Closes https://github.com/facebook/rocksdb/pull/2114 Differential Revision: D4854860 Pulled By: IslamAbdelRahman fbshipit-source-id: b871c5b9ccc52d20f5ceacdd172dc70b1dbf9110 | 08 April 2017, 00:07:37 UTC |
360e996 | Islam AbdelRahman | 07 April 2017, 21:58:58 UTC | Summary: Remove .arcconfig fbshipit-source-id: fe9f000138776a14c507b24c952ecf50b48d71a9 | 07 April 2017, 21:58:58 UTC |
69a5e64 | Islam AbdelRahman | 07 April 2017, 21:40:30 UTC | Deprecate .arcconfig fbshipit-source-id: 2e88ce2a16d16620aa6ef36aabbf3e91be2fc779 | 07 April 2017, 21:40:30 UTC |
9690653 | Maysam Yabandeh | 07 April 2017, 18:25:42 UTC | Add a verify phase to benchmarks Summary: Check the result of the benchmark againt a specified truth_db, which is expected to be produced using the same benchmark but perhaps on a different commit or with different configs. The verification is simple and assumes that key/values are generated deterministically. This assumption would break if db_bench using rand variable differently from the benchmark that produced truth_db. Currently it is checked to work on fillrandom and readwhilewriting. A param finish_after_writes is added to ensure that the background writing thread will write the same number of entries between two benchmarks. Example: $ TEST_TMPDIR=/dev/shm/truth_db ./db_bench --benchmarks="fillrandom,readwhilewriting" --num=200000 --finish_after_writes=true $ TEST_TMPDIR=/dev/shm/tmpdb ./db_bench --benchmarks="fillrandom,readwhilewriting,verify" --truth_db /dev/shm/truth_db/dbbench --num=200000 --finish_after_writes=true Verifying db <= truth_db... Verifying db >= truth_db... ...Verified Closes https://github.com/facebook/rocksdb/pull/2098 Differential Revision: D4839233 Pulled By: maysamyabandeh fbshipit-source-id: 2f4ed31 | 07 April 2017, 18:39:12 UTC |
dd8f9e3 | Ayappan | 07 April 2017, 17:41:38 UTC | Fix compilation for GCC-5 Summary: Fixes this issue https://github.com/facebook/rocksdb/issues/2108 Closes https://github.com/facebook/rocksdb/pull/2109 Differential Revision: D4851965 Pulled By: yiwu-arbug fbshipit-source-id: 6ee807b | 07 April 2017, 17:54:12 UTC |
c2954f9 | Volker Mische | 07 April 2017, 17:36:09 UTC | Add Travis job to build examples Summary: Currently the examples fail, having a job building them would prevent that from happening. Closes https://github.com/facebook/rocksdb/pull/2007 Differential Revision: D4831570 Pulled By: yiwu-arbug fbshipit-source-id: e38adfa | 07 April 2017, 17:39:15 UTC |
72fc1e9 | Nikhil Benesch | 07 April 2017, 17:26:19 UTC | avoid non-existent O_DIRECT on OpenBSD Summary: OpenBSD doesn't have `O_DIRECT`, so avoid it. (RocksDB compiles successfully on OpenBSD with this patch.) Closes https://github.com/facebook/rocksdb/pull/2106 Differential Revision: D4847833 Pulled By: siying fbshipit-source-id: 214b785 | 07 April 2017, 17:39:15 UTC |
ff97287 | Siying Dong | 07 April 2017, 03:06:34 UTC | Refactor compaction picker code Summary: 1. Move universal compaction picker to separate files compaction_picker_universal.cc and compaction_picker_universal.h. 2. Rename some functions to make the code easier to understand. 3. Move leveled compaction picking code to a dedicated class, so that we we don't need to pass some common variable around when calling functions. It also allowed us to break down LevelCompactionPicker::PickCompaction() to smaller functions. Closes https://github.com/facebook/rocksdb/pull/2100 Differential Revision: D4845948 Pulled By: siying fbshipit-source-id: efa0ab4 | 07 April 2017, 03:09:34 UTC |
9e72939 | Aaron Gao | 07 April 2017, 01:08:53 UTC | only FALLOC_FL_PUNCH_HOLE when ftruncate is buggy Summary: In RocksDB, we sometimes preallocate the estimated space for a file to have better perf with fallocate (if supported). Usually it is a little bit bigger than the real resulting file size. At this time, we have to let the Filesystem reclaim the space not used. Ideally, calling ftruncate to truncate the file to its real size should be enough. HOWEVER, it isn't on tmpfs, which we witness in our case, with some buggy kernel version. ftruncate a file with preallocated space doesn't change number of the blocks used by the file, which means the space not used by the file is not returned to the filesystems. So in this case we need fallocate with FALLOC_FL_PUNCH_HOLE to explicitly reclaim the used blocks. It is a hack to cope with the kernel bug and usually we should not need it. Closes https://github.com/facebook/rocksdb/pull/2102 Differential Revision: D4848934 Pulled By: lightmark fbshipit-source-id: f1b40b5 | 07 April 2017, 01:25:03 UTC |
343b59d | Sagar Vemuri | 06 April 2017, 21:49:13 UTC | Move various string utility functions into string_util Summary: This is an effort to club all string related utility functions into one common place, in string_util, so that it is easier for everyone to know what string processing functions are available. Right now they seem to be spread out across multiple modules, like logging and options_helper. Check the sub-commits for easier reviewing. Closes https://github.com/facebook/rocksdb/pull/2094 Differential Revision: D4837730 Pulled By: sagar0 fbshipit-source-id: 344278a | 06 April 2017, 21:54:12 UTC |