Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
500 commits
Select commit Hold shift + click to select a range
b67149a
Skip DumpStats() on dropped CF (#13900)
hx235 Aug 26, 2025
749e11f
Add compaction on deletion-trigger test to db stress test (#13894)
nmk70 Aug 28, 2025
e59bbd7
First step to improve parallel compression efficiency (#13850)
pdillinger Aug 28, 2025
68efd6f
Refactor ProcessKeyValueCompaction into smaller functions (#13879)
hx235 Aug 28, 2025
2950e99
Require C++20 (#13904)
pdillinger Aug 28, 2025
ac4d563
Add random seed to db_crashtest.py to make reproduce test easier. (#1…
Aug 29, 2025
fc8bc60
Avoid overwriting non-okay status due to shutdown or manual compactio…
hx235 Sep 2, 2025
8fa2aae
Re-enable Remote Compaction Stress Test (#13913)
jaykorean Sep 2, 2025
a34683b
Disable Remote Compaction when Integrated BlobDB is enabled in Stress…
jaykorean Sep 3, 2025
dfbcdaf
Disable Remote Compaction in UDT enabled Stress Tests (#13919)
jaykorean Sep 3, 2025
a805c9b
Add option to limit max prefetching in MultiScan (#13920)
cbi42 Sep 5, 2025
0044a76
Make failure to load UDI when opening an SST a soft failure (#13921)
anand1976 Sep 6, 2025
96f796f
Add logging for errors in external file ingestion path (#13905)
archang19 Sep 8, 2025
5a498bf
Disable Remote Compaction In Stress Test (#13925)
jaykorean Sep 8, 2025
6b02f13
Turn on stats collection in crash test (#13926)
hx235 Sep 8, 2025
86bb0c0
Use C++20 in public API, fix CI (#13915)
pdillinger Sep 8, 2025
1aca60c
Improve efficiency in PointLockManager by using separate Condvar (#13…
Sep 8, 2025
85f1ba5
Add support for custom IOActivity types (#13924)
archang19 Sep 9, 2025
0e59c38
Add copyright to header file (#13930)
anand1976 Sep 9, 2025
8b8a3de
Fix PointLockManager in C++20 (#13933)
Sep 10, 2025
67af5bd
Add Temperature::kIce (#13927)
pdillinger Sep 10, 2025
f46242c
Fix uninitialized value complaint in valgrind (#13934)
Sep 10, 2025
d87e598
Update error logging and status reporting for unsupported iouring (#1…
archang19 Sep 11, 2025
799f83a
Rename and clarify CompactionJobStats::has_num_input_records for clar…
hx235 Sep 11, 2025
4f12c55
Make Remote Compaction Failures fall back to local in Stress Test (#1…
jaykorean Sep 12, 2025
54941a8
Fix a race condition in FIFO size-based compaction where concurrent t…
hx235 Sep 12, 2025
acf9d4e
Fix UDT handling in MultiScan (#13938)
cbi42 Sep 12, 2025
29d9798
Revamp of parallel compression (#13910)
pdillinger Sep 14, 2025
2620c85
Support async IO for MultiScan (#13932)
cbi42 Sep 15, 2025
7c3472b
Work around GCC TSAN bug (#13958)
pdillinger Sep 16, 2025
95813a8
Fix error from transactiondb layer in stress test (#13950)
Sep 17, 2025
3c85aa8
Some follow-up to parallel compression revamp (#13959)
pdillinger Sep 17, 2025
631fb86
Correctly handle upper bound iteration result from a UDI (#13960)
anand1976 Sep 17, 2025
20bcd01
Record smallest seqno in table properties for faster file ingestion (…
cbi42 Sep 18, 2025
6127a42
Use/endorse (Auto)HyperClockCache by default over LRUCache (#13964)
pdillinger Sep 18, 2025
6a202c5
Fix nullptr access in IsInjectedError() for stress test (#13968)
hx235 Sep 18, 2025
5a1ff2c
Force caller to pass comparator in MultiScanArgs (#13970)
Sep 18, 2025
94e65a2
Add option to validate key during seek in SkipList Memtable (#13902)
Sep 18, 2025
ef6fbe7
Attempt fix initialization order dep on kPageSize (#13973)
pdillinger Sep 19, 2025
e9fc03e
Expose C bindings for Column Family export/import (#13874)
pcholakov Sep 19, 2025
7983739
Unpin skipped data blocks in MultiScan (#13972)
cbi42 Sep 19, 2025
19c8d1b
(Re-)fix initialization order dep on kPageSize (#13976)
pdillinger Sep 19, 2025
fa3e61c
Improve sst_dump --command=recompress (#13977)
pdillinger Sep 19, 2025
a843991
Allow standalone file and directory arguments to sst_dump (#13978)
pdillinger Sep 19, 2025
f9f408f
Start migration of HCC implementation to BitFields (#13965)
pdillinger Sep 20, 2025
73432a3
Improve random seed override support in stress test (#13952)
Sep 20, 2025
841e364
Fix flaky unit test `IngestDBGeneratedFileTest2.NonZeroSeqno` (#13979)
cbi42 Sep 20, 2025
3cdd328
Update main for 10.8 (#13980)
cbi42 Sep 22, 2025
7ae602e
Support output temperature in CompactFiles (#13955)
Sep 22, 2025
eb1d924
Fix an assertion failure in stress test (#13988)
cbi42 Sep 22, 2025
ab10ea0
Add in-memory data structures and (de)serialization support for subco…
hx235 Sep 22, 2025
54373ba
Revert "Create a new API FileSystem::SyncFile for file sync (#13762)"…
cbi42 Sep 22, 2025
eaeafa7
Revert "Improve random seed override support in stress test (#13952)"…
hx235 Sep 23, 2025
afbbc90
Fail multi scan upon Prepare failure or bad scan options (#13974)
anand1976 Sep 23, 2025
bbd8f0d
Bug fix in random seed override support in stress test (#13991)
Sep 23, 2025
6051d84
Prohibit unsupported multiscan + delrange combo in crash tests (#13992)
anand1976 Sep 24, 2025
134cfb6
Speed up AutoHCC check in dtor (#13998)
pdillinger Sep 24, 2025
169f90c
Allow UDIs with non BytewiseComparator (#13999)
anand1976 Sep 24, 2025
90241e1
Add shared mutex field to IODebugContext (#13993)
archang19 Sep 24, 2025
1c8a012
Add kCool Temperature (#14000)
pdillinger Sep 25, 2025
862438a
Fix handling of out-of-range scan option (#13995)
cbi42 Sep 26, 2025
e859c3b
Improve version macros (#14004)
pdillinger Sep 26, 2025
3d53af9
Allow passing comparator in UDI (#14001)
Sep 26, 2025
c0e484c
Blog about IO tagging (#14005)
hx235 Sep 26, 2025
feb1486
No StandaloneRangeDeletionFile Optimization for Leveled Compaction (#…
jaykorean Sep 29, 2025
d8c058c
Blog about unified memory limit (#14002)
hx235 Sep 29, 2025
f5fb597
Resolve missing/inconsistent tickers in Java (#14012)
pdillinger Sep 29, 2025
0352424
Fix incorrect MultiScan handling of range limit between files (#14011)
anand1976 Sep 30, 2025
13172e2
Add method to estimate index size (#14010)
nmk70 Oct 1, 2025
1e5fa69
Resuming and persisting subcompaction progress in CompactionJob (#13983)
hx235 Oct 1, 2025
742741b
Support Super Block Alignment (#13909)
Oct 2, 2025
9d3afcf
Fix regression in LZ4 compression performance since 10.6 (#14017)
pdillinger Oct 2, 2025
7c22fbe
Disable a param combo in crash test to fix a data race (#14023)
Oct 3, 2025
2fab774
Typo fix (#14024)
SeaOtocinclus Oct 3, 2025
bdf5a8f
Avoid reseeking upon skipping too many keys in crash tests (#14015)
anand1976 Oct 4, 2025
27625f4
Fix range delete file caused MultiScan issue (#14028)
Oct 6, 2025
4ab1bc8
Disable standlone delete range file ingest in db_crashtest.py if mult…
anand1976 Oct 7, 2025
194160d
Use wget for folly dependency download (#14030)
anand1976 Oct 7, 2025
5ace84e
Pass the correct comparator to MultiScanArgs (#14033)
anand1976 Oct 7, 2025
cbfcac8
Stress Test Improvement (#14022)
jaykorean Oct 8, 2025
f722e68
New FlushWAL() API to take extra fields such as rate limiter priority…
hx235 Oct 9, 2025
2d331cc
Blog post for parallel compression revamp (#14035)
pdillinger Oct 9, 2025
04c085a
Disable skip_stats_update_on_db_open in crash tests for multiscan (#1…
anand1976 Oct 10, 2025
1585f22
Move the MultiScan seek key check to upper layer (#14040)
Oct 13, 2025
112ff5b
Allow empty MultiScan result in BlockBasedTableIterator Prepare (#14046)
anand1976 Oct 14, 2025
f7e4009
Integrate compaction resumption with DB::OpenAndCompact() (#13984)
hx235 Oct 15, 2025
1d18c4e
Reduce macos github CI build time (#14048)
Oct 16, 2025
42842ed
Use new TableFactory for each remote compaction in stress test (#14050)
jaykorean Oct 16, 2025
a1dad12
Reduce github CI build time (#14057)
Oct 17, 2025
ad83352
Support dumping compaction progress file in ldb (#14058)
hx235 Oct 17, 2025
622186a
Update error message for plain table reader max file size (#14056)
archang19 Oct 17, 2025
8edb99f
Statistics for successfully resumed compaction output bytes (#14054)
hx235 Oct 17, 2025
3687dc4
Add prefetch feature enum to FSSupportedOps (#13917)
nmk70 Oct 18, 2025
a8a5ade
Fix a nullptr access bug in MultiScan (#14062)
Oct 20, 2025
f343f7e
Use ccache to accelerate windows build (#14064)
Oct 20, 2025
6d9b526
Add OpenAndCompact() to db_bench (#14003)
hx235 Oct 20, 2025
e32c14e
Stress/crash test improvement to remote compaction with resumable com…
hx235 Oct 21, 2025
e691965
Start 10.9.0 development (#14067)
jaykorean Oct 22, 2025
144e9f1
Fix compaction picking with L0 standalone range deletion file (#14061)
cbi42 Oct 23, 2025
fac8222
Make Meta Internal Linter happy (#14074)
jaykorean Oct 24, 2025
dce33f9
Follow up on MultiScan change in #14040 (#14055)
Oct 24, 2025
2edc660
Fix multiscan assert failure in stress test (#14077)
cbi42 Oct 24, 2025
e687ca7
Fix a missing CV signal in `FindObsoleteFiles()` (#14069)
andrew-kryczka Oct 24, 2025
10478b9
Fix unsigned underflow in WAL TTL logic when system clock goes backwa…
andrew-kryczka Oct 25, 2025
32f6671
optimize C API to reduce memory allocations and using PinnableSlice f…
zaidoon1 Oct 27, 2025
a3aa44a
Fix regression test script for internal use (#14079)
jaykorean Oct 27, 2025
12b85c8
Fix timestamp handling in LevelIterator MultiScan seeks (#14085)
cbi42 Oct 28, 2025
fd0b4e0
Disable mmap_read in Stress Test (#14083)
jaykorean Oct 28, 2025
64817ae
Disable internal reseeking for multiscan stress test (#14087)
cbi42 Oct 29, 2025
1bb704b
optimize memory allocations and vector overhead in RocksDB C API usin…
zaidoon1 Oct 29, 2025
0eb5b43
Change PosixWritableFile Truncate to reseek to new end of file (#14088)
anand1976 Oct 29, 2025
94d91da
Update folly (part way), fix USE_FOLLY_LITE (#14071)
pdillinger Oct 29, 2025
9577b92
Fix ODR violation from open source folly build, update (#14094)
pdillinger Nov 3, 2025
befa6b8
Fix and check for potential ODR violations (#14096)
pdillinger Nov 5, 2025
d56da8c
More folly build updates (#14099)
pdillinger Nov 5, 2025
7603712
Introduce tail estimation to prevent oversized compaction files (#14051)
nmk70 Nov 6, 2025
37176a4
Auto-tune manifest file size (#14076)
pdillinger Nov 7, 2025
2bee297
CI: move valgrind to weekly (#14110)
pdillinger Nov 7, 2025
ea75cdc
Fix a bug in MultiScan that moves iterator backward (#14106)
cbi42 Nov 7, 2025
5879f8b
Add option to verify block checksums of output files (#14103)
jaykorean Nov 7, 2025
b897c37
Merge BuiltinFilterBitsBuilder into FilterBitsBuilder for accurate fi…
nmk70 Nov 10, 2025
b33c547
Add trivial move support in CompactFiles API (#14112)
Nov 10, 2025
9fbb68b
Api to get SST file with key ranges for a particular level and key ra…
Nov 11, 2025
c757f5b
Java's Get() to directly return for NotFound (#14095)
siying Nov 11, 2025
2cf81e0
fix compiler warning for mutex->AssertHeld (#14115)
Nov 12, 2025
f6c9c3b
Use AutoHCC by default in tools (#14120)
pdillinger Nov 13, 2025
b9951de
Introducing Prepare all iterators for LevelIterator (#14100)
Nov 18, 2025
57a6fb9
Refactor and support option migration for db with multiple CFs (#14059)
hx235 Nov 19, 2025
0762586
Relax an assertion related to parallel compression (#14130)
pdillinger Nov 19, 2025
6786902
More options for sst_dump recompress (#14133)
pdillinger Nov 19, 2025
8c8586a
Add oncall to BUCK file (#14134)
jaykorean Nov 19, 2025
c76cacc
Fix overflow in MultiplyCheckOverflow() due to std::numeric_limits<ui…
hx235 Nov 20, 2025
dc33c1a
Include verify_output_flags to check resumable compaction compatibili…
hx235 Nov 21, 2025
c4bbad4
Update format-diff script to add text to new files (#14143)
jaykorean Nov 21, 2025
2f583ae
Move prepared_iter size assertion after cleanup (#14144)
jaykorean Nov 21, 2025
8c7c8b8
Fix a bug where compaction with range deletion can persist kTypeMaxVa…
cbi42 Nov 21, 2025
35148ac
Improve distinct compression for index and data blocks (#14140)
pdillinger Nov 22, 2025
42ba71f
Start 10.10.0 development (#14148)
Nov 24, 2025
9c2c8f5
Fix AutoSkipCompressorWrapper with new logic (#14150)
pdillinger Nov 24, 2025
9e14d06
Support ccache in make file (#14123)
Nov 24, 2025
ac412b1
Add checks to terminate early when backup is stopped (#14129)
archang19 Nov 25, 2025
4951494
Continue migration of HCC impl to BitFields (#14027)
pdillinger Dec 1, 2025
d2fe0ee
Fix use-after-free in BlockBasedTable after best-efforts recovery ret…
hx235 Dec 3, 2025
340ac7e
Improve sst_dump raw mode dump result (#14166)
xingbowang Dec 4, 2025
707e405
Revert #14122 "Fix a bug where compaction ..." (#14170)
xingbowang Dec 4, 2025
7c48905
Fix missing const for arg of OptionChangeMigration (#14173)
xingbowang Dec 5, 2025
e3b5464
GitHub Actions nightly crash test runs on ARM (#14172)
pdillinger Dec 5, 2025
5d0cf98
Surface MultiScan async read failure instead of asserting (#14171)
anand1976 Dec 5, 2025
80c4a67
Remote Compaction C API (#14136)
nsaji-stripe Dec 8, 2025
eedf1fe
Display copy-paste friendly flag value in db_crashtest.py (#14180)
hx235 Dec 9, 2025
a1d8318
Fix resumable compaction to prevent resumption at truncated range del…
hx235 Dec 12, 2025
5a06787
IO uring improvements (#14158)
mszeszko-meta Dec 12, 2025
9065ace
Disable multiscan+timestamp in crash test (#14189)
pdillinger Dec 16, 2025
41beb14
Improve db_crashtest.py for remote DB (#14195)
pdillinger Dec 22, 2025
7e9f54d
Remove remaining pieces of Lua integration (#14200)
pdillinger Dec 23, 2025
e77ba4b
Start 10.11.0 development (#14192)
mszeszko-meta Dec 23, 2025
45690d0
CompactionServiceOptionsOverride setters C API (#14183)
nsaji-stripe Dec 29, 2025
276721c
eliminate per-iterator heap allocation by constructing InternalKeyCom…
zaidoon1 Dec 29, 2025
3818cc1
Fix a bug in seqno zeroing logic with UDT (#14207)
xingbowang Dec 29, 2025
1cc1df8
Finish migrating HCC to BitFields API (#14154)
pdillinger Dec 30, 2025
8b6f98c
Fixing typos in comments and documentation (#14205)
SeaOtocinclus Jan 3, 2026
387cb4a
Clarify/rename atomic wrapper stuff + blog post (#14213)
pdillinger Jan 6, 2026
4e10e0b
Fix cases of db dir going missing in db_crashtest.py (#14219)
pdillinger Jan 6, 2026
a7c1acb
Mark RateLimiter::GetMode method as const (#14221)
xingbowang Jan 6, 2026
6f03c3d
Fix a flaky unit test UdtTombstoneCollapsingTest (#14220)
xingbowang Jan 6, 2026
429b36c
Add C API for block_align option in BlockBasedTableOptions (#14153)
zaidoon1 Jan 7, 2026
2b28885
Introducing IO Dispatcher (#14135)
Jan 7, 2026
4bf2bcd
Allow setting options for multiple column families (#14201)
Jan 8, 2026
4bcec5a
Fix autoconf download failure in folly build (#14226)
xingbowang Jan 9, 2026
a6325e9
Add block type to corruption error message (#14225)
xingbowang Jan 9, 2026
2893c25
Support printing block checksum in sst_dump (#14222)
xingbowang Jan 10, 2026
2568381
Fix stress test deadlock failure in TestPut (#14235)
xingbowang Jan 14, 2026
57036b6
Migrate blob handling to new compression APIs (#14234)
pdillinger Jan 14, 2026
a1af6f9
Use new compression APIs internally for sample_for_compression (#14230)
pdillinger Jan 14, 2026
c6d08d3
Use new compression APIs in db_bench (#14241)
pdillinger Jan 16, 2026
88aff40
New io stats for unknown file temperature last vs. non-last (#14243)
pdillinger Jan 16, 2026
2a7a6a6
Don't assert on async_read.status in MultiScan code path (#14244)
anand1976 Jan 20, 2026
ea5e649
Fix an infinite compaction loop bug with udt (#14228)
xingbowang Jan 20, 2026
eb5e1a2
Use unique DB directory when TEST_TMPDIR is set (#14249)
xingbowang Jan 21, 2026
a6af317
Use format_version=7 by default, fix perf bug (#14239)
pdillinger Jan 21, 2026
f312633
Fix AbortIO documentation to match actual behavior (#14251)
archang19 Jan 22, 2026
f84351d
Fix AbortIO hang when aborting multiple io_uring handles (#14252)
archang19 Jan 22, 2026
b89d290
Add MultiScan statistics (#14248)
anand1976 Jan 22, 2026
a9906f0
A better approach to clearing DBs for crash test (#14254)
pdillinger Jan 22, 2026
6a79e02
Support pre-defined compression dictionaries (#14253)
pdillinger Jan 23, 2026
ad218ca
Temporary disable multiscan_use_async_io in crash test (#14263)
pdillinger Jan 26, 2026
cc69112
Start version 10.12 development (#14259)
pdillinger Jan 26, 2026
a3fe685
math.h BottomNBits: Fix integer underflow (#14231)
evanj Jan 27, 2026
de06ce3
Remove PutUntil API (#14257)
mszeszko-meta Jan 27, 2026
acfea34
Work around GCC 12 false positive warning for string::insert (#14265)
mszeszko-meta Jan 27, 2026
2366f63
Remove compression support (#14266)
mszeszko-meta Jan 28, 2026
80f3d86
Remove FIFO eviction support (#14268)
mszeszko-meta Jan 28, 2026
6b5ccbb
Remove inline values support (#14270)
mszeszko-meta Jan 29, 2026
148f6c9
Replace GC cutoff threshold with a constant (#14272)
mszeszko-meta Jan 29, 2026
56d40be
Remove path_relative config option (#14273)
mszeszko-meta Jan 29, 2026
053b0d5
Remove blob_dir config option (#14275)
mszeszko-meta Jan 29, 2026
374c8dd
Remove bytes_per_sync config option (#14276)
mszeszko-meta Jan 29, 2026
83d24db
Remove unused public APIs (#14277)
mszeszko-meta Jan 29, 2026
e94df3d
Remove dead code and unused includes (#14278)
mszeszko-meta Jan 29, 2026
21a8b5f
Fixes the Windows VS 2022 build (#14280)
adamretter Jan 29, 2026
656b734
Support abort background compaction jobs. (#14227)
xingbowang Jan 30, 2026
27d70ec
Propagate Poll errors in FilePrefetchBuffer::PollIfNeeded (#14282)
archang19 Jan 30, 2026
feffb67
Replace Prefetch Logic in BlockBasedTableIterator with IODispatcher. …
Feb 2, 2026
d1b6373
Add `WriteBatch::Handler::LogData` iteration callback function (#14245)
hemal-stripe Feb 3, 2026
92378eb
Add CLAUDE.md and optimize tooling for claude code (#14293)
xingbowang Feb 3, 2026
82ff067
Add a cleanup target to crash_test.mk (#14286)
anand1976 Feb 3, 2026
c2fab46
Re-sync with internal repository
facebook-github-bot Feb 3, 2026
48ec45d
Remove useless option CompressedSecondaryCacheOptions::compress_forma…
pdillinger Feb 4, 2026
47344a0
Fix string-conversion issue in internal_repo_rocksdb/repo/utilities/p…
r-barnes Feb 5, 2026
6ac0da3
Fix crash in GetLiveFilesStorageInfo on read-only DB (#14306)
archang19 Feb 5, 2026
a668dcb
Add Txn db support to ldb (#14304)
anand1976 Feb 6, 2026
3695cb6
Fix AbortIO consuming completions for non-aborted handles (#14301)
anand1976 Feb 6, 2026
8f9cb1a
Introduce Memory restrictions for IO Dispatcher. (#14300)
Feb 6, 2026
6284a79
Upgrade clang format in CI to 21.1.2 (#14311)
joshkang97 Feb 6, 2026
51feb25
Fix string-conversion issue in internal_repo_rocksdb/repo/utilities/p…
r-barnes Feb 9, 2026
56cb88e
Fix racy assertion in AbortIOPartialHandlesBug test (#14319)
anand1976 Feb 10, 2026
3148c6c
Fix string-conversion issue in internal_repo_rocksdb/repo/table/block…
r-barnes Feb 11, 2026
d8b1893
DROP support for block-based SST format_version < 2 (#14315)
pdillinger Feb 11, 2026
c318422
Fix an internal comment about resumable compaction (#14215)
hx235 Feb 13, 2026
d72a471
Replace resumable compaction job unit test with compaction service un…
hx235 Feb 13, 2026
7ecc121
Fix format compatibility issues, extend test (#14323)
pdillinger Feb 13, 2026
c33a498
Default CompactionOptionsUniversal::reduce_file_locking to be true (#…
hx235 Feb 13, 2026
672389f
Remove obsolete compression code and some .h->.cc movement (#14325)
pdillinger Feb 13, 2026
871f79d
Reformat source files (#14331)
pdillinger Feb 13, 2026
9f47518
Add interpolation search as an alternative to binary search (#14247)
joshkang97 Feb 14, 2026
b040ab8
Add a new picking algorithm in fifo compaction (#14326)
xingbowang Feb 15, 2026
88ff4f6
Disable Interpolation Search in DB Stress (#14339)
mszeszko-meta Feb 17, 2026
821bd37
Cap max table files size in db stress FIFO compactions (#14341)
mszeszko-meta Feb 17, 2026
ebd1000
Fix UB in ReadBe64FromKey shift by 64 (#14340)
mszeszko-meta Feb 17, 2026
5f692d7
Fall back to sync read when async IO is unavailable (#14337)
mszeszko-meta Feb 17, 2026
09bda51
Propagate file_checksum through FileOptions on NewRandomAccessFile (#…
archang19 Feb 17, 2026
49695ef
Add debug assertion for clean cut invariant in expanding compaction i…
hx235 Feb 17, 2026
f065e1c
Fix up authors.yml for blog entries (#14342)
pdillinger Feb 17, 2026
653fd9c
Bug fix for bg error recovery in TransactionDB (#14313)
anand1976 Feb 17, 2026
d693d5a
Blog post on CPU bug (#14078)
pdillinger Feb 17, 2026
641f470
Refactor data block footer to reserve metadata bits for future featur…
pdillinger Feb 18, 2026
1f9d8ee
Remove obsolete code for block-based format_version < 2 (after #14315…
pdillinger Feb 18, 2026
d3817f0
Remove deprecated DB::Open raw pointer variants (and more) (#14335)
pdillinger Feb 18, 2026
61b4edd
Test compaction forward compatibility (#14344)
pdillinger Feb 18, 2026
3556c22
Remove deprecated option skip_checking_sst_file_sizes_on_db_open (#14…
xingbowang Feb 19, 2026
cfc2a52
Add clang-tidy-comment workflow (#14348)
xingbowang Feb 19, 2026
9800221
Fix interpolation search target key less than shared prefix length. (…
joshkang97 Feb 19, 2026
407f02d
Remove deprecated SliceTransform::InRange() virtual method (#14353)
hx235 Feb 20, 2026
520c3ec
Prepare for 11.0 major release (#14357)
pdillinger Feb 20, 2026
f1a6759
Fix flaky DBTestXactLogIterator.TransactionLogIteratorCheckWhenArchiv…
pdillinger Feb 20, 2026
4c89ff1
Remove deprecated SstFileWriter::Add() and skip_filters parameter (#1…
hx235 Feb 20, 2026
6d6f7d8
Check io_uring probe result in SupportedOps (#14355)
archang19 Feb 20, 2026
29819f3
Remove deprecated `ReadOptions::managed`, `ColumnFamilyOptions::snap_…
hx235 Feb 20, 2026
aa7571c
Run clang-tidy in github CI (#14347)
xingbowang Feb 20, 2026
4e11dd7
V2 serialization format for wide columns with blob references (#14314)
xingbowang Feb 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
88 changes: 88 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# When making changes, verify the output of:
# clang-tidy -list-checks
---
Checks: "-*,\
bugprone-argument-comment,\
bugprone-dangling-handle,\
bugprone-fold-init-type,\
bugprone-forward-declaration-namespace,\
bugprone-forwarding-reference-overload,\
bugprone-shadow,\
bugprone-sizeof-*,\
bugprone-string-constructor,\
bugprone-undefined-memory-manipulation,\
bugprone-unused-return-value,\
bugprone-use-after-move,\
cert-env33-c,\
cert-err58-cpp,\
cert-msc30-c,\
cert-msc50-cpp,\
clang-analyzer-core.NullDereference,\
clang-analyzer-core.StackAddressEscape,\
clang-analyzer-deadcode.DeadStores,\
clang-diagnostic-*,\
-clang-diagnostic-missing-designated-field-initializers,\
concurrency-mt-unsafe,\
cppcoreguidelines-avoid-non-const-global-variables,\
cppcoreguidelines-missing-std-forward,\
cppcoreguidelines-pro-type-member-init,\
cppcoreguidelines-special-member-functions,\
cppcoreguidelines-virtual-class-destructor,\
google-build-using-namespace,\
google-explicit-constructor,\
google-readability-avoid-underscore-in-googletest-name,\
misc-definitions-in-headers,\
misc-redundant-expression,\
modernize-make-shared,\
modernize-use-emplace,\
modernize-use-noexcept,\
modernize-use-override,\
modernize-use-using,\
performance-faster-string-find,\
performance-for-range-copy,\
performance-implicit-conversion-in-loop,\
performance-inefficient-algorithm,\
performance-inefficient-string-concatenation,\
performance-inefficient-vector-operation,\
performance-move-const-arg,\
performance-move-constructor-init,\
performance-no-automatic-move,\
performance-no-int-to-ptr,\
performance-noexcept-move-constructor,\
performance-noexcept-swap,\
performance-trivially-destructible,\
performance-type-promotion-in-math-fn,\
performance-unnecessary-copy-initialization,\
performance-unnecessary-value-param,\
readability-braces-around-statements,\
readability-duplicate-include,\
readability-isolate-declaration,\
readability-operators-representation,\
readability-redundant-string-init"

WarningsAsErrors: "bugprone-use-after-move"

CheckOptions:
- key: bugprone-easily-swappable-parameters.MinimumLength
value: 4
- key: cppcoreguidelines-avoid-non-const-global-variables.AllowThreadLocal
value: true
- key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor
value: true
- key: cppcoreguidelines-special-member-functions.AllowImplicitlyDeletedCopyOrMove
value: true
- key: modernize-use-using.IgnoreExternC
value: true
- key: performance-move-const-arg.CheckTriviallyCopyableMove
value: false
- key: performance-unnecessary-value-param.AllowedTypes
value: '[Pp]ointer$;[Pp]tr$;[Rr]ef(erence)?$'
- key: performance-unnecessary-copy-initialization.AllowedTypes
value: '[Pp]ointer$;[Pp]tr$;[Rr]ef(erence)?$'
- key: readability-operators-representation.BinaryOperators
value: '&&;&=;&;|;~;!;!=;||;|=;^;^='
- key: readability-redundant-string-init.StringNames
value: '::std::basic_string'
- key: readability-named-parameter.InsertPlainNamesInForwardDecls
value: true
...
10 changes: 10 additions & 0 deletions .github/actions/build-folly/action.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
name: build-folly
description: Build folly and dependencies (skipped if cache hit)
inputs:
cache-hit:
description: Whether the folly cache was hit
required: true
runs:
using: composite
steps:
- name: Build folly and dependencies
if: ${{ inputs.cache-hit != 'true' }}
run: make build_folly
shell: bash
- name: Skip folly build (using cached version)
if: ${{ inputs.cache-hit == 'true' }}
run: echo "Folly build skipped - using cached version"
shell: bash
33 changes: 33 additions & 0 deletions .github/actions/cache-folly/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: cache-folly
description: Cache folly build to speed up CI
outputs:
cache-hit:
description: Whether the cache was hit
value: ${{ steps.cache-folly-build.outputs.cache-hit }}
runs:
using: composite
steps:
- name: Extract FOLLY_MK_HASH
id: extract-folly-hash
shell: bash
run: |
FOLLY_MK_HASH=$(md5sum folly.mk | cut -d' ' -f1)
echo "hash=$FOLLY_MK_HASH" >> $GITHUB_OUTPUT
- name: Extract FOLLY_INSTALL_DIR
id: extract-folly-install-dir
shell: bash
run: |
FOLLY_INSTALL_DIR=$(cd third-party/folly && python3 build/fbcode_builder/getdeps.py show-inst-dir)
echo "dir=$(echo $FOLLY_INSTALL_DIR | sed 's|installed/folly|installed|')" >> $GITHUB_OUTPUT
- name: Cache folly build
id: cache-folly-build
uses: actions/cache@v4
with:
# Cache the folly build directory
path: ${{ steps.extract-folly-install-dir.outputs.dir }}
# Key is based on:
# - OS and architecture
# - The docker image, which may not always be specified/known
# - Hash of folly.mk, which includes the folly repository commit hash
# NOTE: this is still only intended for DEBUG folly builds
key: folly-build-${{ runner.os }}-${{ runner.arch }}-${{ github.job_container.image }}-${{ steps.extract-folly-hash.outputs.hash }}
21 changes: 21 additions & 0 deletions .github/actions/cache-getdeps-downloads/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: cache-getdeps-downloads
description: Cache getdeps downloads to avoid unreliable mirrors and speed up builds
outputs:
cache-hit:
description: Whether the cache was hit
value: ${{ steps.cache-downloads.outputs.cache-hit }}
runs:
using: composite
steps:
- name: Cache getdeps downloads
id: cache-downloads
uses: actions/cache@v4
with:
# Use a fixed path that we control - folly.mk will sync with getdeps downloads dir
path: /tmp/rocksdb-getdeps-cache
# Use a rolling cache key - the cache accumulates downloads over time
# The key includes a weekly timestamp to ensure periodic refresh
key: getdeps-downloads-${{ runner.os }}-${{ runner.arch }}-week-${{ github.run_id }}
restore-keys: |
getdeps-downloads-${{ runner.os }}-${{ runner.arch }}-week-
getdeps-downloads-${{ runner.os }}-${{ runner.arch }}-
8 changes: 4 additions & 4 deletions .github/actions/install-maven/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ runs:
steps:
- name: Install Maven
run: |
wget --no-check-certificate https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.gz
tar zxf apache-maven-3.9.6-bin.tar.gz
echo "export M2_HOME=$(pwd)/apache-maven-3.9.6" >> $GITHUB_ENV
echo "$(pwd)/apache-maven-3.9.6/bin" >> $GITHUB_PATH
wget --no-check-certificate https://archive.apache.org/dist/maven/maven-3/3.9.11/binaries/apache-maven-3.9.11-bin.tar.gz
tar zxf apache-maven-3.9.11-bin.tar.gz
echo "export M2_HOME=$(pwd)/apache-maven-3.9.11" >> $GITHUB_ENV
echo "$(pwd)/apache-maven-3.9.11/bin" >> $GITHUB_PATH
shell: bash
6 changes: 5 additions & 1 deletion .github/actions/setup-folly/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,9 @@ runs:
using: composite
steps:
- name: Checkout folly sources
run: make checkout_folly
run: |
make checkout_folly
shell: bash
- name: Install patchelf and libaio
run: apt-get update -y && apt-get install -y patchelf libaio-dev
shell: bash
33 changes: 24 additions & 9 deletions .github/actions/windows-build-steps/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,26 @@ runs:
steps:
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.3.1
- name: Cache ccache directory
id: ccache-cache
uses: actions/cache@v4
with:
path: C:\a\rocksdb\rocksdb\.ccache
key: rocksdb-build-${{ runner.os }}-${{ runner.arch }}-ccache-${{ hashFiles('CMakeLists.txt', 'cmake/**/*.cmake') }}-v1
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
max-size: "10GB"
- name: Custom steps
env:
THIRDPARTY_HOME: ${{ github.workspace }}/thirdparty
CMAKE_HOME: C:/Program Files/CMake
CMAKE_BIN: C:/Program Files/CMake/bin/cmake.exe
CTEST_BIN: C:/Program Files/CMake/bin/ctest.exe
JAVA_HOME: C:/Program Files/BellSoft/LibericaJDK-8
SNAPPY_HOME: ${{ github.workspace }}/thirdparty/snappy-1.1.8
SNAPPY_INCLUDE: ${{ github.workspace }}/thirdparty/snappy-1.1.8;${{ github.workspace }}/thirdparty/snappy-1.1.8/build
SNAPPY_LIB_DEBUG: ${{ github.workspace }}/thirdparty/snappy-1.1.8/build/Debug/snappy.lib
SNAPPY_HOME: ${{ github.workspace }}/thirdparty/snappy-1.2.2
SNAPPY_INCLUDE: ${{ github.workspace }}/thirdparty/snappy-1.2.2;${{ github.workspace }}/thirdparty/snappy-1.2.2/build
SNAPPY_LIB_DEBUG: ${{ github.workspace }}/thirdparty/snappy-1.2.2/build/Debug/snappy.lib
run: |-
# NOTE: if ... Exit $LASTEXITCODE lines needed to exit and report failure
echo ===================== Install Dependencies =====================
Expand All @@ -22,14 +32,14 @@ runs:
mkdir $Env:THIRDPARTY_HOME
cd $Env:THIRDPARTY_HOME
echo "Building Snappy dependency..."
curl -Lo snappy-1.1.8.zip https://github.com/google/snappy/archive/refs/tags/1.1.8.zip
curl -Lo snappy-1.2.2.zip https://github.com/google/snappy/archive/refs/tags/1.2.2.zip
if(!$?) { Exit $LASTEXITCODE }
unzip -q snappy-1.1.8.zip
unzip -q snappy-1.2.2.zip
if(!$?) { Exit $LASTEXITCODE }
cd snappy-1.1.8
cd snappy-1.2.2
mkdir build
cd build
& cmake -G "$Env:CMAKE_GENERATOR" ..
& cmake -G "$Env:CMAKE_GENERATOR" .. -DSNAPPY_BUILD_TESTS=OFF -DSNAPPY_BUILD_BENCHMARKS=OFF
if(!$?) { Exit $LASTEXITCODE }
msbuild Snappy.sln -maxCpuCount -property:Configuration=Debug -property:Platform=x64
if(!$?) { Exit $LASTEXITCODE }
Expand All @@ -38,11 +48,12 @@ runs:
$env:Path = $env:JAVA_HOME + ";" + $env:Path
mkdir build
cd build
& cmake -G "$Env:CMAKE_GENERATOR" -DCMAKE_BUILD_TYPE=Debug -DOPTDBG=1 -DPORTABLE="$Env:CMAKE_PORTABLE" -DSNAPPY=1 -DJNI=1 ..
& cmake -G "$Env:CMAKE_GENERATOR" -DCMAKE_BUILD_TYPE=Debug -DWIN_CI=1 -DPORTABLE="$Env:CMAKE_PORTABLE" -DSNAPPY=1 -DXPRESS=1 -DJNI=1 ..
if(!$?) { Exit $LASTEXITCODE }
cd ..
echo "Building with VS version: $Env:CMAKE_GENERATOR"
msbuild build/rocksdb.sln -maxCpuCount -property:Configuration=Debug -property:Platform=x64
# use more parallel processes than the number of processes available, as most of the compile command would be cache hit
msbuild build/rocksdb.sln /m:32 /p:LinkIncremental=false -property:Configuration=Debug -property:Platform=x64
if(!$?) { Exit $LASTEXITCODE }
echo ========================= Test RocksDB =========================
build_tools\run_ci_db_test.ps1 -SuiteRun arena_test,db_basic_test,db_test,db_test2,db_merge_operand_test,bloom_test,c_test,coding_test,crc32c_test,dynamic_bloom_test,env_basic_test,env_test,hash_test,random_test -Concurrency 16
Expand All @@ -52,3 +63,7 @@ runs:
& ctest -C Debug -j 16
if(!$?) { Exit $LASTEXITCODE }
shell: pwsh
- name: Show ccache stats
shell: pwsh
run: |
ccache --show-stats -v
105 changes: 105 additions & 0 deletions .github/workflows/clang-tidy-comment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
name: clang-tidy
on:
push:
pull_request_target:
types: [opened, synchronize, reopened]

permissions:
pull-requests: write

jobs:
clang-tidy:
if: github.repository_owner == 'facebook'
runs-on:
labels: 4-core-ubuntu
container:
image: ghcr.io/facebook/rocksdb_ubuntu:24.0
steps:
- uses: actions/checkout@v4.1.0
with:
ref: ${{ github.event_name == 'pull_request_target' && github.event.pull_request.head.sha || github.sha }}
- name: Mark workspace as safe for git
run: git config --global --add safe.directory $GITHUB_WORKSPACE
- name: Determine diff base
id: diff-base
run: |
if [ "${{ github.event_name }}" = "pull_request_target" ]; then
BASE="${{ github.event.pull_request.base.sha }}"
else
BASE="${{ github.event.before }}"
fi
if [ -z "$BASE" ] || echo "$BASE" | grep -q '^0\{40\}$'; then
echo "skip=true" >> "$GITHUB_OUTPUT"
echo "No valid diff base; skipping clang-tidy."
else
git fetch --depth=1 origin "$BASE"
echo "ref=$BASE" >> "$GITHUB_OUTPUT"
echo "skip=false" >> "$GITHUB_OUTPUT"
fi
- name: Install clang-tidy
if: steps.diff-base.outputs.skip != 'true'
run: apt-get update && apt-get install -y clang-tidy
- name: Generate compile_commands.json
if: steps.diff-base.outputs.skip != 'true'
run: |
mkdir build && cd build
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DCMAKE_C_COMPILER=clang-18 \
-DCMAKE_CXX_COMPILER=clang++-18 ..
cd ..
ln -sf build/compile_commands.json compile_commands.json
- name: Run clang-tidy on changed files
id: clang-tidy
if: steps.diff-base.outputs.skip != 'true'
run: |
python3 tools/run_clang_tidy.py \
-j 4 \
--diff-base ${{ steps.diff-base.outputs.ref }} \
--github-annotations \
--github-step-summary \
--comment-output clang-tidy-comment.md
continue-on-error: true
- name: Post clang-tidy results to PR
if: github.event_name == 'pull_request_target' && always() && steps.diff-base.outputs.skip != 'true'
uses: actions/github-script@v7
with:
script: |
const fs = require('fs');
const commentPath = 'clang-tidy-comment.md';
if (!fs.existsSync(commentPath)) {
core.info('No comment file generated; skipping PR comment.');
return;
}
const body = fs.readFileSync(commentPath, 'utf8');
const marker = '<!-- clang-tidy-bot -->';
const prNumber = context.payload.pull_request.number;
try {
const { data: comments } = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: prNumber,
});
const existing = comments.find(c => c.body.includes(marker));
if (existing) {
await github.rest.issues.updateComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: existing.id,
body,
});
core.info(`Updated existing comment ${existing.id}`);
} else {
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: prNumber,
body,
});
core.info('Created new PR comment');
}
} catch (err) {
core.warning(`Could not post PR comment: ${err.message}`);
}
- name: Fail if clang-tidy found issues
if: steps.clang-tidy.outcome == 'failure'
run: exit 1
Loading