manuzhang opened a new pull request, #948: URL: https://github.com/apache/iceberg-cpp/pull/948
## Summary - reuse parsed manifest-list entries across separate `SnapshotCache` wrappers and scans - store parsed entries in `FileIO`-owned state without changing `Snapshot`'s public layout - coalesce concurrent parsing and tie parsed-entry lifetime to metadata byte-cache eviction - keep existing manifest spans valid after shared-cache eviction and expose them as immutable spans ## Why PR #875 avoids repeated storage reads for immutable metadata, but each new scan still reparses cached manifest-list bytes. This follow-up reuses the parsed `ManifestFile` entries while the corresponding byte-cache entry remains alive. Parsed entries are not retained for oversized content that bypasses the byte cache, and failures are shared with current waiters without becoming permanent cached failures. ## Dependency Depends on #875. Until #875 merges, GitHub's comparison against `main` includes the lower metadata-content-cache commit; the isolated change is commit `d93c92c`. ## Validation - `pre-commit run --show-diff-on-failure --all-files` - focused C++23 syntax checks for snapshot caching, snapshot expiration, and manifest writer tests -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
