JingsongLi opened a new pull request, #8880: URL: https://github.com/apache/paimon/pull/8880
## What changed - Add a `LocalKvStateFactory` backed by `LocalKvDb`, with separate databases for value, set, and list states while sharing the block cache and optional compaction executor. - Add value envelopes so empty serialized values remain distinguishable from `LocalKvDb` tombstones. - Add insertion-ordered list fragments with flush/compaction merging, including thread-isolated merge codecs for concurrent foreground flush and background compaction. - Add set composite-key range scans, LRU caching, and sorted bulk loading. - Add optional RocksDB-like non-strict TTL semantics: expired entries remain readable until compaction removes them. ## Why The lookup/state callers currently depend on RocksDB state implementations. These LocalKv-backed state primitives provide the core capability needed to migrate those callers without requiring a native RocksDB backend. Caller migrations and benchmark comparisons are intentionally left for follow-up PRs so this PR stays focused on the state contracts and storage behavior. ## Validation - `mvn -o -pl paimon-core -am -Pfast-build -DfailIfNoTests=false -DwildcardSuites=none -Dtest=LocalKvStateFactoryTest test` (13 tests) - `mvn -o -pl paimon-core -DskipTests validate` - `git diff --check` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
