Summary: For some reason I still cannot figure out, the manual flush in this test was sometimes producing a third tiny file. I saw it a bunch of times on ppc64le, but even running a qemu system with that architecture (and playing with various other options) could not repro. However we did get an instrumented Travis run to confirm the problem is indeed a third tiny file - https://travis-ci.org/github/facebook/rocksdb/jobs/761986592. We can avoid it by filling memtables less full and using manual flush. Pull Request resolved: https://github.com/facebook/rocksdb/pull/8044 Reviewed By: akankshamahajan15 Differential Revision: D26892635 Pulled By: ajkr fbshipit-source-id: 775c04176931cf01d07cc78fb82cfe3a11beebcf
RocksDB: A Persistent Key-Value Store for Flash and RAM Storage
RocksDB is developed and maintained by Facebook Database Engineering Team. It is built on earlier work on LevelDB by Sanjay Ghemawat (sanjay@google.com) and Jeff Dean (jeff@google.com)
This code is a library that forms the core building block for a fast key-value server, especially suited for storing data on flash drives. It has a Log-Structured-Merge-Database (LSM) design with flexible tradeoffs between Write-Amplification-Factor (WAF), Read-Amplification-Factor (RAF) and Space-Amplification-Factor (SAF). It has multi-threaded compactions, making it especially suitable for storing multiple terabytes of data in a single database.
Start with example usage here: https://github.com/facebook/rocksdb/tree/master/examples
See the github wiki for more explanation.
The public interface is in include/
. Callers should not include or
rely on the details of any other header files in this package. Those
internal APIs may be changed without warning.
Design discussions are conducted in https://www.facebook.com/groups/rocksdb.dev/ and https://rocksdb.slack.com/
License
RocksDB is dual-licensed under both the GPLv2 (found in the COPYING file in the root directory) and Apache 2.0 License (found in the LICENSE.Apache file in the root directory). You may select, at your option, one of the above-listed licenses.