Skip to content
Please note that GitHub no longer supports your web browser.

We recommend upgrading to the latest Google Chrome or Firefox.

Learn more
A library that provides an embeddable, persistent key-value store for fast storage.
C++ Java Python Perl C Shell Other
Branch: master
Clone or download
maysamyabandeh and facebook-github-bot Exclude MergeInProgress status from errors in stress tests (#6257)
Summary:
When called on transactions, MultiGet could return a legit MergeInProgress status. The patch excludes this case from errors.
Pull Request resolved: #6257

Differential Revision: D19275787

Pulled By: maysamyabandeh

fbshipit-source-id: f7158229422af015947e592ae066b4273c9fb9a4
Latest commit 83957dc Jan 3, 2020
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
buckifier PosixRandomAccessFile::MultiRead() to use I/O uring if supported (#5881) Dec 8, 2019
build_tools Improve instructions to install formatter (#6162) Dec 12, 2019
cache Remove key length assertion LRUHandle::CalcTotalCharge (#6115) Dec 2, 2019
cmake cmake: do not build tests for Release build and cleanups (#5916) Dec 13, 2019
coverage Fix interpreter lines for files with python2-only syntax. Jul 9, 2019
db Prevent an incompatible combination of options (#6254) Jan 3, 2020
db_stress_tool Exclude MergeInProgress status from errors in stress tests (#6257) Jan 3, 2020
docs Blog post for write_unprepared (#5711) Aug 15, 2019
env Fix unity test (#6178) Dec 14, 2019
examples Add example to show the effect of Get in snapshot isolation (#6059) Dec 11, 2019
file Prevent file prefetch when mmap is enabled. (#6206) Dec 18, 2019
hdfs Add copyright headers per FB open-source checkup tool. (#5199) Apr 18, 2019
include/rocksdb Fixed spelling in function comments (#6248) Dec 26, 2019
java RocksDB#keyMayExist should not assume database values are unicode str… Dec 20, 2019
logging Introduce a new storage specific Env API (#5761) Dec 13, 2019
memory Charge block cache for cache internal usage (#5797) Sep 16, 2019
memtable Misc hashing updates / upgrades (#5909) Oct 25, 2019
monitoring Apply formatter to recent 200+ commits. (#5830) Sep 20, 2019
options Introduce a new storage specific Env API (#5761) Dec 13, 2019
port Work around weird unused errors with Mingw (#6075) Nov 27, 2019
table BlockBasedTable::ApproximateSize() should use total order seek (#6222) Dec 19, 2019
test_util Prevent an incompatible combination of options (#6254) Jan 3, 2020
third-party Apply formatter to some recent commits (#6138) Dec 9, 2019
tools Re-enable level_compaction_dynamic_level_bytes in crash test (#6251) Dec 30, 2019
trace_replay Misc hashing updates / upgrades (#5909) Oct 25, 2019
util crash_test to cover bottommost compression and some other changes (#6215 Dec 21, 2019
utilities Prevent an incompatible combination of options (#6254) Jan 3, 2020
.clang-format A script that automatically reformat affected lines Jan 14, 2014
.gitignore Make buckifier python3 compatible (#5922) Oct 23, 2019
.lgtm.yml Create lgtm.yml for LGTM.com C/C++ analysis (#4058) Jun 26, 2018
.travis.yml Small tidy and speed up of the travis build (#6181) Dec 17, 2019
.watchmanconfig Added .watchmanconfig file to rocksdb repo (#5593) Jul 19, 2019
AUTHORS Update RocksDB Authors File Oct 18, 2017
CMakeLists.txt Introduce a new storage specific Env API (#5761) Dec 13, 2019
CODE_OF_CONDUCT.md Adopt Contributor Covenant Aug 30, 2019
CONTRIBUTING.md Add Code of Conduct Dec 6, 2017
COPYING Add GPLv2 as an alternative license. Apr 28, 2017
DEFAULT_OPTIONS_HISTORY.md options.delayed_write_rate use the rate of rate_limiter by default. May 24, 2017
DUMP_FORMAT.md First version of rocksdb_dump and rocksdb_undump. Jun 19, 2015
HISTORY.md RocksDB#keyMayExist should not assume database values are unicode str… Dec 20, 2019
INSTALL.md Update the version of the dependencies used by the RocksJava static b… Dec 19, 2018
LANGUAGE-BINDINGS.md LANGUAGE-BINDINGS.md: mention python-rocksdb Mar 20, 2019
LICENSE.Apache Change RocksDB License Jul 15, 2017
LICENSE.leveldb Add back the LevelDB license file Jul 17, 2017
Makefile Fix a clang analyzer report, and 'analyze' make rule (#6244) Dec 25, 2019
README.md Replaced some words (#5877) Oct 7, 2019
ROCKSDB_LITE.md Fix some typos in comments and docs. Mar 8, 2018
TARGETS Introduce a new storage specific Env API (#5761) Dec 13, 2019
USERS.md Add avrio to USERS.md (#5748) Sep 16, 2019
Vagrantfile Adding CentOS 7 Vagrantfile & build script Feb 26, 2018
WINDOWS_PORT.md #5145 , rename port/dirent.h to port/port_dirent.h to avoid compile e… Apr 4, 2019
appveyor.yml Add Visual Studio 2015 to AppVeyor (#5446) Dec 11, 2019
defs.bzl Add clarifying/instructive header to TARGETS and defs.bzl Nov 6, 2019
issue_template.md Add a template for issues Sep 29, 2017
src.mk Introduce a new storage specific Env API (#5761) Dec 13, 2019
thirdparty.inc Fix build jemalloc api (#5470) Jun 25, 2019

README.md

RocksDB: A Persistent Key-Value Store for Flash and RAM Storage

Linux/Mac Build Status Windows Build status PPC64le Build Status

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/

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.

You can’t perform that action at this time.