Go to file
Andrew Kryczka 097f9f4425 Fix CompactionIterator flag for penultimate level output (#10967)
Summary:
We were not resetting it in non-debug mode so it could be true once and then stay true for future keys where it should be false. This PR adds the reset logic.

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

Test Plan:
- built `db_bench` with DEBUG_LEVEL=0
- ran benchmark: `TEST_TMPDIR=/dev/shm/prefix ./db_bench -benchmarks=fillrandom -compaction_style=1 -preserve_internal_time_seconds=100 -preclude_last_level_data_seconds=10 -write_buffer_size=1048576 -target_file_size_base=1048576 -subcompactions=8 -duration=120`
- compared "output_to_penultimate_level: X bytes + last: Y bytes" lines in LOG output
  - Before this fix, Y was always zero
  - After this fix, Y gradually increased throughout the benchmark

Reviewed By: riversand963

Differential Revision: D41417726

Pulled By: ajkr

fbshipit-source-id: ace1e9a289e751a5b0c2fbaa8addd4eda5525329
2022-11-21 16:14:03 -08:00
.circleci Upgrade CircleCI Windows Build (#10090) 2022-10-28 09:14:47 -07:00
.github/workflows
buckifier
build_tools
cache Observe and warn about misconfigured HyperClockCache (#10965) 2022-11-21 12:08:21 -08:00
cmake
coverage
db Fix CompactionIterator flag for penultimate level output (#10967) 2022-11-21 16:14:03 -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 Observe and warn about misconfigured HyperClockCache (#10965) 2022-11-21 12:08:21 -08:00
java Add some async read stats (#10947) 2022-11-13 21:38:35 -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 Remove prototype FastLRUCache (#10954) 2022-11-16 10:15:55 -08:00
trace_replay Refactor block cache tracing APIs (#10811) 2022-10-21 12:15:35 -07:00
util Fix use of crc32c 3way on portable builds using MSVC (#10667) 2022-11-08 11:56:55 -08:00
utilities Fix a bug where GetContext does not update READ_NUM_MERGE_OPERANDS (#10925) 2022-11-07 15:42:10 -08:00
.clang-format
.gitignore
.lgtm.yml
.watchmanconfig
AUTHORS
CMakeLists.txt Remove prototype FastLRUCache (#10954) 2022-11-16 10:15:55 -08:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md
COPYING
DEFAULT_OPTIONS_HISTORY.md
DUMP_FORMAT.md
HISTORY.md Fix CompactionIterator flag for penultimate level output (#10967) 2022-11-21 16:14:03 -08:00
INSTALL.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_LITE.md
TARGETS Remove prototype FastLRUCache (#10954) 2022-11-16 10:15:55 -08:00
USERS.md
Vagrantfile
WINDOWS_PORT.md
common.mk
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
issue_template.md
rocksdb.pc.in
src.mk Remove prototype FastLRUCache (#10954) 2022-11-16 10:15:55 -08:00
thirdparty.inc

README.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.