XiaoHongbo-Hope opened a new pull request, #897: URL: https://github.com/apache/paimon-rust/pull/897
### Purpose Opening the same immutable `.blob` file with a new reader currently reloads its footer and index, adding two object-store range reads each time. This caches the decoded index across readers, following the bounded process-local cache used by PyPaimon in [apache/paimon#9547](https://github.com/apache/paimon/pull/9547). ### Changes - Cache up to 16 decoded BLOB indexes in a process-local LRU. - Share immutable indexes with `Arc`; readers and BLOB payloads are not cached. - Keep cache locks out of asynchronous I/O. - Verify that reopening the same file performs no footer or index reads. ### Trade-offs - Cold reads are unchanged. - Cache hits avoid two range requests per BLOB file. - Up to 16 decoded indexes remain in memory. - This relies on Paimon data file paths being immutable; there is no API or format change. ### Tests - `cargo test -p paimon --lib blob` (139 passed) - `cargo clippy -p paimon --lib -- -D warnings` - `cargo fmt --all --check` - `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]
