Skip to content

Add RocksDBShutdownHook to CMake build configuration#31

Open
littleeleventhwolf wants to merge 1 commit into
ververica:mainfrom
littleeleventhwolf:hotfix/cmakelists
Open

Add RocksDBShutdownHook to CMake build configuration#31
littleeleventhwolf wants to merge 1 commit into
ververica:mainfrom
littleeleventhwolf:hotfix/cmakelists

Conversation

@littleeleventhwolf

Copy link
Copy Markdown

What is the purpose of the change

Add RocksDBShutdownHook.java to JAVA_MAIN_CLASSES list in CMakeLists.txt to resolve compilation errors related to missing symbol references in RocksDB.java.
image

Brief change log

  • Add RocksDBShutdownHook.java to JAVA_MAIN_CLASSES list in CMakeLists.txt.

Verifying this change

This change is a code cleanup without any test coverage.

Added RocksDBShutdownHook.java to JAVA_MAIN_CLASSES list in CMakeLists.txt to resolve compilation errors related to missing symbol references in RocksDB.java.
jackylee-ch added a commit to jackylee-ch/ForSt that referenced this pull request Jun 7, 2026
Closes the q4 3.3×-gap investigation and flips the KV data-block format (C) to
the writer default, gated on a 5/5 scan-heavy perf pass.

WHY no further q4 lever (the investigation's core output — falsification table in
docs/superpowers/specs/2026-06-04-q4-decay-autopsy.md): every decay hypothesis was
measured to ground — NOT memory/swap; SST read-amp FIXED by C; resident clone/lock
~1%; the 993ms resident stalls a <1% red herring (counterfactual); resident state
flat (not 3a); resident scan O(matched) not O(total); active-cursor sort 16ns +
unsorted-buffer eliminated. Root = the active-memtable BTreeMap O(log N) seek
(~724ns), which is IRREDUCIBLE and the same class RocksDB's own memtable seek pays
(so not the gap). Arena-skiplist spike REFUTED the only unsafe lever: BTreeMap
742ns < crossbeam SkipMap 2289 < contiguous arena skiplist 3397 ns/seek
(cross-validates CURSOR_DIAG scan 724ns). Smaller-memtable (b) refuted (O(log N)
size-insensitive: 256mb 740 ≈ 1024mb 724ns). PMC decision: no unsafe exception
(docs/.../2026-06-04-PMC-q4-arena-skiplist-DECISION.md).

FLIP: sst_write_kv_format() now defaults ON; FRS_SST_KV_BLOCK_FORMAT=0 is the
instant opt-out to v1 Arrow blocks. Gated by the ververica#31 scan-heavy v1-vs-v2 run
(5/5 neutral-or-better: q5/q8 finish faster, q7 +23%, q11 v2-finishes-v1-doesn't,
q15 ≈) + q4 (v2 throughout) + correctness proven both modes (dual-version
byte-identical, engine ground-truth, suites green default-v2 AND opt-out-v1).
Coverage caveat: the scan/iter-heavy RISK set + q4, not the full q0–q22 (light
queries are source-bound, block-format-agnostic); env=0 reverts instantly.
Two v1-path tests pinned to v1 (force_kv_block_format(false)) since they assert the
Arrow decoder.

Diagnostics added (all env-gated, off by default, additive): FRS_DECAY_DIAG
(per-flush LSM/state), FRS_BULK_SAMPLE (1/K per-tier ns breakdown +
resident_total/examined/seeks), FRS_CURSOR_DIAG (scan-vs-sort split).

Suites green: storage 352, engine 262, ffi 96 + integration, under default-v2 and
the v1 opt-out.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant