Find a file
Yanqin Jin 3d0d6b8140 Make best-efforts recovery verify SST unique ID before Version construction (#10962)
Summary:
The check for SST unique IDs added to best-efforts recovery (`Options::best_efforts_recovery` is true).

With best_efforts_recovery being true, RocksDB will recover to the latest point in
MANIFEST such that all valid SST files included up to this point pass unique ID checks as well.

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

Test Plan: make check

Reviewed By: pdillinger

Differential Revision: D41378241

Pulled By: riversand963

fbshipit-source-id: a036064e2c17dec13d080a24ef2a9f85d607b16c
2022-11-22 22:53:31 -08:00
.circleci Upgrade CircleCI Windows Build (#10090) 2022-10-28 09:14:47 -07:00
.github/workflows
buckifier
build_tools
cache Add a SecondaryCache::InsertSaved() API, use in CacheDumper impl (#10945) 2022-11-21 16:17:36 -08:00
cmake
coverage
db Make best-efforts recovery verify SST unique ID before Version construction (#10962) 2022-11-22 22:53:31 -08:00
db_stress_tool Test Merge with timestamps in stress test (#10948) 2022-11-17 20:43:50 -08:00
docs Blog post for Aligning Compaction Output File Boundaries (#10917) 2022-11-07 19:28:05 -08:00
env Added placeholders for MADV defines (#10881) 2022-11-02 14:42:42 -07:00
examples Add rocksdb_backup_restore_example to examples/.gitignore (#10825) 2022-11-02 15:02:09 -07:00
file Fix db_stress failure in async_io in FilePrefetchBuffer (#10949) 2022-11-14 16:14:41 -08:00
fuzz
include/rocksdb Make best-efforts recovery verify SST unique ID before Version construction (#10962) 2022-11-22 22:53:31 -08:00
java improve copying of Env in Options (#10666) 2022-11-22 15:48:59 -08:00
logging Observe and warn about misconfigured HyperClockCache (#10965) 2022-11-21 12:08:21 -08:00
memory Run clang format against files under example/, memory/ and memtable/ folders (#10893) 2022-10-28 13:16:50 -07:00
memtable Run clang format against files under example/, memory/ and memtable/ folders (#10893) 2022-10-28 13:16:50 -07:00
microbench
monitoring Add some async read stats (#10947) 2022-11-13 21:38:35 -08:00
options
plugin
port Fix include of windows.h in mmap.h (#10885) 2022-10-26 18:07:57 -07:00
table Don't attempt to use SecondaryCache on block_cache_compressed (#10944) 2022-11-11 17:35:53 -08:00
test_util clang format files under test_util/ (#10855) 2022-10-24 20:32:25 -07:00
third-party
tools Post 7.9.0 release branch cut updates (#10974) 2022-11-21 19:24:42 -08:00
trace_replay fix compile warnings (#10976) 2022-11-22 15:51:01 -08:00
util Fix use of crc32c 3way on portable builds using MSVC (#10667) 2022-11-08 11:56:55 -08:00
utilities Add a SecondaryCache::InsertSaved() API, use in CacheDumper impl (#10945) 2022-11-21 16:17:36 -08:00
.clang-format
.gitignore
.lgtm.yml
.watchmanconfig
AUTHORS
CMakeLists.txt Add a SecondaryCache::InsertSaved() API, use in CacheDumper impl (#10945) 2022-11-21 16:17:36 -08:00
CODE_OF_CONDUCT.md
common.mk
CONTRIBUTING.md
COPYING
crash_test.mk Allow a custom DB cleanup command to be passed to db_crashtest.py (#10883) 2022-10-27 19:47:01 -07:00
DEFAULT_OPTIONS_HISTORY.md
DUMP_FORMAT.md
HISTORY.md Make best-efforts recovery verify SST unique ID before Version construction (#10962) 2022-11-22 22:53:31 -08:00
INSTALL.md
issue_template.md
LANGUAGE-BINDINGS.md
LICENSE.Apache
LICENSE.leveldb
Makefile Fix broken dependency: update zlib from 1.2.12 to 1.2.13 (#10833) 2022-11-14 11:49:06 -08:00
PLUGINS.md
README.md
rocksdb.pc.in
ROCKSDB_LITE.md
src.mk Add a SecondaryCache::InsertSaved() API, use in CacheDumper impl (#10945) 2022-11-21 16:17:36 -08:00
TARGETS Add a SecondaryCache::InsertSaved() API, use in CacheDumper impl (#10945) 2022-11-21 16:17:36 -08:00
thirdparty.inc
USERS.md
Vagrantfile
WINDOWS_PORT.md

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

CircleCI 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/main/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.

Questions and discussions are welcome on the RocksDB Developers Public Facebook group and email list on Google Groups.

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.