QuakeWang opened a new pull request, #1012: URL: https://github.com/apache/paimon-rust/pull/1012
### Purpose Opening a BTree reader eagerly reads and decodes its null bitmap, even when queries never access null rows. This change avoids that unnecessary block read. ### Brief change log - Load the null bitmap on first access with `OnceCell`; reuse successful loads and allow failed loads to retry. - Return `UnexpectedEof` for short bitmap/CRC reads instead of panicking. ### Tests - Recorded read ranges verify zero null-block reads for open, equality, range, and `IS NOT NULL`, and one successful load for repeated/concurrent `IS NULL`. - Covered absent blocks, I/O retries, CRC/deserialization failures, short reads, and scanner error propagation. - Passed Paimon/REST tests, workspace check, Clippy, formatting, and dependency checks. ### API and Format Breaking Rust API: `null_bitmap()` is now async and returns `io::Result<&RoaringTreemap>`; callers must use `.await?`. Null bitmap errors move from open to first access. Storage format is unchanged. ### Documentation Updated reader documentation and release compatibility notes. -- 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]
