- 01 9月, 2017 1 次提交
-
-
由 Maysam Yabandeh 提交于
Summary: Closes https://github.com/facebook/rocksdb/pull/2798 Differential Revision: D5724173 Pulled By: maysamyabandeh fbshipit-source-id: fb6b782d933fb4be315b1a231a6a67a66fdc9c96
-
- 31 8月, 2017 5 次提交
-
-
由 Sagar Vemuri 提交于
Summary: **Summary**: Set defaults for high-pri and low-pri thread pools in regression test script. **Reason for this change**: With #2680 , high-pri and low-pri thread pools get different numbers than before if `num_high_pri_threads` and `num_low_pri_threads` options are not explicitly passed to db_bench in regression test script ... leading to a false-positive regression. **Test Plan**: REMOTE_HOST=udb1671.prn3 TEST_MODE=1 FBSOURCE=~/fbsource ~/fbsource/fbcode/rocks/tools/debug_regression_test.sh viewstate (with very minor changes to the internals). Observe P50 and P99 which showed up as regressions in our graphs. Stats with the commit prior to #2680 , ie. 4f81ab38 : seekrandomwhilewriting : 75.096 micros/op 13316 ops/sec; 168.6 MB/s (7499074 of 7500000 found) Microseconds per seek: Count: 120000000 Average: 1197.7254 StdDev: 33.35 Min: 187 Median: 980.5292 Max: 1816424 Percentiles: **P50: 980.53** P75: 1494.57 **P99: 4185.64** P99.9: 7800.11 P99.99: 15039.64 Stats at #2680, ie. at commit dce6d5a8 (false-positive regression): seekrandomwhilewriting : 85.330 micros/op 11719 ops/sec; 148.4 MB/s (7499073 of 7500000 found) Microseconds per seek: Count: 120000000 Average: 1362.3261 StdDev: 27.86 Min: 185 Median: 1088.1915 Max: 652760 Percentiles: **P50: 1088.19** P75: 1658.12 **P99: 5361.15** P99.9: 7997.95 P99.99: 11730.07 Stats with the current change on top of dce6d5a8 : seekrandomwhilewriting : 77.780 micros/op 12856 ops/sec; 162.8 MB/s (7499102 of 7500000 found) Microseconds per seek: Count: 120000000 Average: 1226.6744 StdDev: 17.16 Min: 185 Median: 994.2956 Max: 2553530 Percentiles: **P50: 994.30** P75: 1513.68 **P99: 4284.30** P99.9: 9338.64 P99.99: 23008.86 Closes https://github.com/facebook/rocksdb/pull/2801 Differential Revision: D5742338 Pulled By: sagar0 fbshipit-source-id: cc5d727c1a131f2a7070d1bb892efbe929b976ff
-
由 Andrew Kryczka 提交于
Summary: Closes https://github.com/facebook/rocksdb/pull/2810 Differential Revision: D5739947 Pulled By: ajkr fbshipit-source-id: 09f99718b6b083c2711dcf17f7b68c305f3fd261
-
由 Artem Danilov 提交于
Summary: This branch extends existing property map which keeps values in doubles to keep values in strings so that it can be used to provide wider range of properties. The immediate need for that is to provide IO stall stats in an easy parseable way to MyRocks which is also part of this branch. Closes https://github.com/facebook/rocksdb/pull/2794 Differential Revision: D5717676 Pulled By: Tema fbshipit-source-id: e34ba5b79ba774697f7b97ce1138d8fd55471b8a
-
由 Changli Gao 提交于
Summary: Closes https://github.com/facebook/rocksdb/pull/2789 Differential Revision: D5738335 Pulled By: ajkr fbshipit-source-id: f371303c42b144d0a0424e9304b0df545f073ad1
-
由 Maysam Yabandeh 提交于
Summary: Closes https://github.com/facebook/rocksdb/pull/2738 Differential Revision: D5736261 Pulled By: maysamyabandeh fbshipit-source-id: 49d27e9ccd786c4056a3d586a060fe460ea883ac
-
- 30 8月, 2017 4 次提交
-
-
由 Andrew Kryczka 提交于
Summary: fixed in #2799 Closes https://github.com/facebook/rocksdb/pull/2805 Differential Revision: D5734324 Pulled By: ajkr fbshipit-source-id: a285d4e84bf1018dc2257fd6c3e7c075a7243263
-
由 Yi Wu 提交于
Summary: GCC < 5 + ASAN does not instrument aligned_alloc, which can make ASAN report false-positive with "free on address which was not malloc" error. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61693 Also suppress leak warning with LRUCache::DisownData(). Closes https://github.com/facebook/rocksdb/pull/2783 Differential Revision: D5696465 Pulled By: yiwu-arbug fbshipit-source-id: 87c607c002511fa089b18cc35e24909bee0e74b4
-
由 Huachao Huang 提交于
Summary: Since tombstones are not stored in order, we may get a wrong smallest key if we only consider the first added tombstone. Check https://github.com/facebook/rocksdb/issues/2752 for more details. Closes https://github.com/facebook/rocksdb/pull/2799 Differential Revision: D5728217 Pulled By: ajkr fbshipit-source-id: 4a53edb0ca80d2a9fcf10749e52d47d57d6417d3
-
由 Andrew Kryczka 提交于
Summary: * db/range_del_aggregator.cc (AddTombstone): Avoid a potential use-after-move bug. The original code would both use and move `tombstone` in a context where the order of those operations is not specified. The fix is to perform the use on a new, preceding statement. Author: meyering Closes https://github.com/facebook/rocksdb/pull/2796 Differential Revision: D5721163 Pulled By: ajkr fbshipit-source-id: a1d328d6a77a17c6425e8069860a202e615e2f48
-
- 29 8月, 2017 3 次提交
-
-
由 Paweł Bylica 提交于
Summary: This if followup of #2195. Closes https://github.com/facebook/rocksdb/pull/2772 Differential Revision: D5722495 Pulled By: sagar0 fbshipit-source-id: 169d0cef53b03056ea7b9454954a35c707a67d52
-
由 Paweł Bylica 提交于
Summary: Adds support for CMake packages: https://cmake.org/cmake/help/v3.9/manual/cmake-packages.7.html#creating-packages. This allow using RocksDB by other CMake projects this way: ``` cmake_minimum_required(VERSION 3.5) project(rdbt) find_package(RocksDB CONFIG) add_executable(rdbt test.cpp) target_link_libraries(rdbt PRIVATE RocksDB::rocksdb) ``` Closes https://github.com/facebook/rocksdb/pull/2773 Differential Revision: D5722587 Pulled By: sagar0 fbshipit-source-id: 0d90dc4a77b42a617cdbe1348a370e719c282b87
-
由 benoitc 提交于
Summary: small edit of the language binding file to add the Erlang binding. Closes https://github.com/facebook/rocksdb/pull/2797 Differential Revision: D5722235 Pulled By: sagar0 fbshipit-source-id: 8ecd74996dad4cac19666783256cfa4d9ce09160
-
- 27 8月, 2017 1 次提交
-
-
由 Maysam Yabandeh 提交于
Summary: Closes https://github.com/facebook/rocksdb/pull/2792 Differential Revision: D5715365 Pulled By: maysamyabandeh fbshipit-source-id: 0837b93ea1d4b0a08dfb3cd0d1feb6e098ef26a4
-
- 26 8月, 2017 3 次提交
-
-
由 Maysam Yabandeh 提交于
Summary: Divide the old snapshots to two lists: a few that fit into a cached array and the rest in a vector, which is expected to be empty in normal cases. The former is to optimize concurrent reads from snapshots without requiring locks. It is done by an array of std::atomic, from which std::memory_order_acquire reads are compiled to simple read instructions in most of the x86_64 architectures. Closes https://github.com/facebook/rocksdb/pull/2758 Differential Revision: D5660504 Pulled By: maysamyabandeh fbshipit-source-id: 524fcf9a8e7f90a92324536456912a99aaa6740c
-
由 Maysam Yabandeh 提交于
Summary: Closes https://github.com/facebook/rocksdb/pull/2790 Differential Revision: D5711609 Pulled By: maysamyabandeh fbshipit-source-id: ea103dac013c0a6a031834541ad67e7d95a80fe8
-
由 Yi Wu 提交于
Summary: Fixing flaky blob_db_test. To close a blob file, blob db used to add a CloseSeqWrite job to the background thread to close it. Changing file close to be synchronous in order to simplify logic, and fix flaky blob_db_test. Closes https://github.com/facebook/rocksdb/pull/2787 Differential Revision: D5699387 Pulled By: yiwu-arbug fbshipit-source-id: dd07a945cd435cd3808fce7ee4ea57817409474a
-
- 25 8月, 2017 3 次提交
-
-
由 Yi Wu 提交于
Summary: Allow user to reduce number of levels in LSM by issue a full CompactRange() and put the result in a lower level, and then reopen DB with reduced options.num_levels. Previous this will fail on reopen on when recovery replaying the previous MANIFEST and found a historical file was on a higher level than the new options.num_levels. The workaround was after CompactRange(), reopen the DB with old num_levels, which will create a new MANIFEST, and then reopen the DB again with new num_levels. This patch relax the check of levels during recovery. It allows DB to open if there was a historical file on level > options.num_levels, but was also deleted. Closes https://github.com/facebook/rocksdb/pull/2740 Differential Revision: D5629354 Pulled By: yiwu-arbug fbshipit-source-id: 545903f6b36b6083e8cbaf777176aef2f488021d
-
由 Yi Wu 提交于
Summary: It should hold db mutex while accessing max_total_in_memory_state_. Closes https://github.com/facebook/rocksdb/pull/2784 Differential Revision: D5696536 Pulled By: yiwu-arbug fbshipit-source-id: 45430634d7fe11909b38e42e5f169f618681c4ee
-
由 Maysam Yabandeh 提交于
Summary: Closes https://github.com/facebook/rocksdb/pull/2788 Differential Revision: D5700189 Pulled By: maysamyabandeh fbshipit-source-id: 6f043e652093ff904e52f6d35190855781b87673
-
- 24 8月, 2017 9 次提交
-
-
由 Andrew Kryczka 提交于
Summary: store a zero as the checksum when disabled since it's easier to keep block trailer a fixed length. Closes https://github.com/facebook/rocksdb/pull/2781 Differential Revision: D5694702 Pulled By: ajkr fbshipit-source-id: 69cea9da415778ba2b600dfd9d0dfc8cb5188ecd
-
由 Andrew Kryczka 提交于
Summary: This is the warning that clang considers a bug and has been causing it to fail: ``` table/block_based_table_reader.cc:240:27: warning: Potential leak of memory pointed to by 'block.value' for (; biter.Valid(); biter.Next()) { ^~~~~ ``` Actually clang just doesn't have enough knowledge to statically determine it's safe. We can teach it using an assert. Closes https://github.com/facebook/rocksdb/pull/2779 Differential Revision: D5691225 Pulled By: ajkr fbshipit-source-id: 3f0d545bf44636953b30ee5243c63239e8f16d8e
-
由 Andrew Kryczka 提交于
Summary: One of the core assumptions of DeleteRange is that files containing portions of the same range tombstone are treated as a single unit from the perspective of compaction picker. Need better tests for this. This PR adds the tests for manual compaction. Closes https://github.com/facebook/rocksdb/pull/2769 Differential Revision: D5676677 Pulled By: ajkr fbshipit-source-id: 1b4b3382b300ff7048b872911405fdf900e4fbec
-
由 Maysam Yabandeh 提交于
Summary: Closes https://github.com/facebook/rocksdb/pull/2756 Differential Revision: D5660516 Pulled By: maysamyabandeh fbshipit-source-id: f3f3d3b5f544007a7fbdd78e49e4738b4437c7ee
-
由 mkosieradzki 提交于
Summary: Solves #2632 Added OptimisticTransactionDB to the C API. Added missing merge operations to Transaction. Added missing get_for_update operation to transaction If required I will create tests for this another day. Closes https://github.com/facebook/rocksdb/pull/2633 Differential Revision: D5600906 Pulled By: yiwu-arbug fbshipit-source-id: da23e4484433d8f59d471f778ff2ae210e3fe4eb
-
由 BH1XUW 提交于
Summary: I made another rust binding.
👻 * Use C++ API (instead of C API) * Try to follow [Rust Guidelines](https://aturon.github.io/README.html) * Working in progress (the APIs are not stable yet) Closes https://github.com/facebook/rocksdb/pull/2438 Differential Revision: D5690612 Pulled By: siying fbshipit-source-id: 11d3956c33b5e5366555afbf3786b782be3046e7 -
由 Andres Suarez 提交于
Reviewed By: mzlee Differential Revision: D5688624 fbshipit-source-id: c726b4e56bd823b994a7b713488fef93c6f796d0
-
由 Andrew Kryczka 提交于
Summary: Allow `Slice` holding nullptr as a sentinel value but not in comparisons. This new restriction eliminates the need for the manual checks in 39ef9005, while still conforming to glibc's `memcmp` API. Thanks siying for the idea. Users may need to migrate, so mentioned it in HISTORY.md. Closes https://github.com/facebook/rocksdb/pull/2777 Differential Revision: D5686016 Pulled By: ajkr fbshipit-source-id: 03a2ca3fd9a0ebade9d0d5686c81d59a9534f563
-
由 Maysam Yabandeh 提交于
Summary: The ::Get from DB is not augmented with an overload method that takes a PinnableSlice instead of a string. Transactions however are not yet upgraded to use the new API. As a result, transaction users such as MyRocks cannot benefit from it. This patch updates the transactional API with a PinnableSlice overload. Closes https://github.com/facebook/rocksdb/pull/2736 Differential Revision: D5645770 Pulled By: maysamyabandeh fbshipit-source-id: f6af520df902f842de1bcf99bed3e8dfc43ad96d
-
- 23 8月, 2017 3 次提交
-
-
由 Maysam Yabandeh 提交于
Summary: This is the continuation of https://github.com/facebook/rocksdb/pull/2661 for filter partitions. When pin_l0 is set (along with cache_xxx), then open table open the filter partitions are loaded into the cache and pinned there. Closes https://github.com/facebook/rocksdb/pull/2766 Differential Revision: D5671098 Pulled By: maysamyabandeh fbshipit-source-id: 174f24018f1d7f1129621e7380287b65b67d2115
-
由 Andrew Kryczka 提交于
Summary: it doesn't take nullptr according to its declaration in glibc, and calling it in this way causes our sanitizers (ubsan, clang analyze) to fail. Closes https://github.com/facebook/rocksdb/pull/2776 Differential Revision: D5683260 Pulled By: ajkr fbshipit-source-id: 114b137ee188172f96eedc43139255cae7bee80a
-
由 Chen Shen 提交于
Summary: In Java API, `SstFileWriter.put/merge/delete` takes `Slice` type of key and value, which is a Java wrapper object around C++ Slice object. The Slice object inherited [ `finalize`](https://github.com/facebook/rocksdb/blob/3c327ac2d0fd50bbd82fe1f1af5de909dad769e6/java/src/main/java/org/rocksdb/AbstractNativeReference.java#L69) method, which [added huge overhead](https://softwareengineering.stackexchange.com/questions/288715/is-overriding-object-finalize-really-bad/288753#288753) to JVM while creating new SstFile. To address this issue, this PR overload the merge method to take Java byte array instead of the Slice object, and added unit test for it. We also benchmark these two different merge function, where we could see GC Stall reduced from 50% to 1%, and the throughput increased from 50MB to 200MB. Closes https://github.com/facebook/rocksdb/pull/2746 Reviewed By: sagar0 Differential Revision: D5653145 Pulled By: scv119 fbshipit-source-id: b55ea58554b573d0b1c6f6170f8d9223811bc4f5
-
- 22 8月, 2017 3 次提交
-
-
由 Andrew Kryczka 提交于
Summary: The goal is to reduce the number of histogram buckets, particularly now that we print these histograms for each column family. I chose 1.5 as the factor. We can adjust it later to either make buckets more granular or make fewer buckets. Closes https://github.com/facebook/rocksdb/pull/2139 Differential Revision: D4872076 Pulled By: ajkr fbshipit-source-id: 87790d782a605506c3d24190a028cecbd7aa564a
-
由 Paweł Bylica 提交于
Summary: - Allow setting custom installation prefix. - Add option to disable building tests. Closes https://github.com/facebook/rocksdb/pull/2195 Differential Revision: D5054239 Pulled By: sagar0 fbshipit-source-id: 2de6bef8b7eafed60a830e1796b262f9e6f79da0
-
由 Archit Mishra 提交于
Summary: Changes: * checks if ASAN mode is on, and uses malloc and free in the constructor and destructor Closes https://github.com/facebook/rocksdb/pull/2767 Differential Revision: D5671243 Pulled By: armishra fbshipit-source-id: 8e4ad0f7f163400c4effa8617d3b30134119d802
-
- 21 8月, 2017 2 次提交
-
-
由 yiwu-arbug 提交于
Summary: If GC kicks in between * A Get() reads index entry from base db. * The Get() read from a blob file The GC can delete the corresponding blob file, making the key not found. Fortunately we have existing logic to avoid deleting a blob file if it is referenced by a snapshot. So the fix is to explicitly create a snapshot before reading index entry from base db. Closes https://github.com/facebook/rocksdb/pull/2754 Differential Revision: D5655956 Pulled By: yiwu-arbug fbshipit-source-id: e4ccbc51331362542e7343175bbcbdea5830f544
-
由 yiwu-arbug 提交于
Summary: When out of space, blob db should GC the oldest file. The current implementation GC the newest one instead. Fixing it. Closes https://github.com/facebook/rocksdb/pull/2757 Differential Revision: D5657611 Pulled By: yiwu-arbug fbshipit-source-id: 56c30a4c52e6ab04551dda8c5c46006d4070b28d
-
- 20 8月, 2017 1 次提交
-
-
由 Andrew Kryczka 提交于
Summary: add this counter stat to track usage of deletion-dropping optimization. if usage is low, we can delete it to prevent bugs like #2726. Closes https://github.com/facebook/rocksdb/pull/2761 Differential Revision: D5665421 Pulled By: ajkr fbshipit-source-id: 881befa2d199838dac88709e7b376a43d304e3d4
-
- 19 8月, 2017 2 次提交
-
-
由 Maysam Yabandeh 提交于
Summary: https://github.com/facebook/rocksdb/pull/2661 mistakenly updates the version. This patch reverts it. Closes https://github.com/facebook/rocksdb/pull/2760 Differential Revision: D5662089 Pulled By: maysamyabandeh fbshipit-source-id: f4735e37921c0ced6081a89080c78ac3728aa8bd
-
由 Andrew Kryczka 提交于
Summary: it's a new feature that'll be released in 5.8, introduced by PR #2498. Closes https://github.com/facebook/rocksdb/pull/2759 Differential Revision: D5661923 Pulled By: ajkr fbshipit-source-id: 9ba9f0d146c453715358ef2dd298aa7765649d7c
-