Go to file
Cheng Chang 89cc06b3e7 Add a new db_map_fuzzer (#7762)
Summary:
Execute randomly generated operations on both a DB and a std::map,
then reopen the DB and make sure that iterating the DB produces the
same key-value pairs as iterating through the std::map.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/7762

Test Plan: cd fuzz && make db_map_fuzzer && ./db_map_fuzzer

Reviewed By: pdillinger

Differential Revision: D25437485

Pulled By: cheng-chang

fbshipit-source-id: 3a93f7efd046b194193e45d2ab1ad81565510781
2020-12-09 16:26:35 -08:00
.circleci Migrate away from broken macos on Travis (#7745) 2020-12-04 23:24:27 -08:00
.github/workflows
buckifier Make the TARGETS file Starlark compliant (#7743) 2020-12-07 10:28:26 -08:00
build_tools RocksJava static lib dependencies should support MacOS 10.12+ (#7683) 2020-11-17 15:34:05 -08:00
cache Fix typos in comments (#7687) 2020-11-19 13:32:50 -08:00
cmake
coverage
db Always track WAL obsoletion (#7759) 2020-12-09 16:02:12 -08:00
db_stress_tool
docs
env Use default FileSystem in GenerateUniqueId (#7672) 2020-11-16 20:48:13 -08:00
examples
file
fuzz Add a new db_map_fuzzer (#7762) 2020-12-09 16:26:35 -08:00
hdfs
include/rocksdb Range Locking: Allow different LockManagers, add Range Lock definitions (#7443) 2020-12-07 20:18:07 -08:00
java
logging
memory
memtable
monitoring
options
port Warn about practically unfixable TSAN warnings in stack trace (#7723) 2020-12-01 10:17:56 -08:00
table Add blob support to DBIter (#7731) 2020-12-04 21:29:38 -08:00
test_util Port corruption test to use custom env (#7699) 2020-11-20 18:40:24 -08:00
third-party Fix Compilation on ppc64le using Clang 11 (#7713) 2020-12-01 11:21:44 -08:00
tools add 6.15.fb to check_format_compatible.sh (#7738) 2020-12-03 12:45:14 -08:00
trace_replay
util Fix build on FreeBSD/powerpc64(le) (#7732) 2020-12-08 15:31:56 -08:00
utilities LockTree library, originally from PerconaFT (#7753) 2020-12-09 12:10:57 -08:00
.clang-format
.gitignore Fuzzing RocksDB (#7685) 2020-11-17 12:56:48 -08:00
.lgtm.yml
.travis.yml Migrate away from broken macos on Travis (#7745) 2020-12-04 23:24:27 -08:00
.watchmanconfig
AUTHORS
CMakeLists.txt LockTree library, originally from PerconaFT (#7753) 2020-12-09 12:10:57 -08:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md
COPYING
DEFAULT_OPTIONS_HISTORY.md
DUMP_FORMAT.md
HISTORY.md Write min_log_number_to_keep to MANIFEST during atomic flush under 2 phase commit (#7570) 2020-12-03 19:22:24 -08:00
INSTALL.md
LANGUAGE-BINDINGS.md
LICENSE.Apache
LICENSE.leveldb
Makefile Add further tests to ASSERT_STATUS_CHECKED (1) (#7679) 2020-12-08 15:55:04 -08:00
README.md
ROCKSDB_LITE.md
TARGETS LockTree library, originally from PerconaFT (#7753) 2020-12-09 12:10:57 -08:00
USERS.md add ArangoDB to USERS.md, and fix typos in that file (#7675) 2020-11-16 18:29:51 -08:00
Vagrantfile
WINDOWS_PORT.md
appveyor.yml
defs.bzl
issue_template.md
src.mk LockTree library, originally from PerconaFT (#7753) 2020-12-09 12:10:57 -08:00
thirdparty.inc

README.md

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

CircleCI Status TravisCI Status Appveyor 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/ 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.