From 081092020439fce98452d6664351d800398ddfbf Mon Sep 17 00:00:00 2001 From: Nuno Santos Date: Tue, 23 Dec 2025 11:49:17 +0100 Subject: [PATCH] CachingSegmentArchiveReader#readSegment should check if archive contains segment before looking up in the PersistentCache --- .../persistentcache/CachingSegmentArchiveReader.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/persistentcache/CachingSegmentArchiveReader.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/persistentcache/CachingSegmentArchiveReader.java index 1bca0f2f073..8ef42fbf4d2 100644 --- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/persistentcache/CachingSegmentArchiveReader.java +++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/spi/persistence/persistentcache/CachingSegmentArchiveReader.java @@ -46,7 +46,11 @@ public CachingSegmentArchiveReader( @Override @Nullable public Buffer readSegment(long msb, long lsb) throws IOException { - return persistentCache.readSegment(msb, lsb, () -> delegate.readSegment(msb, lsb)); + if (delegate.containsSegment(msb, lsb)) { + return persistentCache.readSegment(msb, lsb, () -> delegate.readSegment(msb, lsb)); + } else { + return null; + } } @Override