unsubscribe On Mon, 17 Feb 2025 at 16:55, Marco Matessi <mate...@esteco.com> wrote:
> Subject: Segment Store Corruption Issues with Apache Oak > > Dear Apache Oak Community, > > We are experiencing various issues with the corruption of the Segment > Store using different versions of Apache Oak (from 1.66 to 1.72), and > we are unable to determine the cause. Please find the stack-trace at > the end of this message. We are using SegmentNodeStore and > FileDataStore with Java 21 and the latest version of Quarkus. > > Are you aware of any bugs or discouraged installation scenarios that > could lead to segment store corruption? > > Any insights or suggestions would be greatly appreciated. > > Best regards, > > Marco > > 2024-12-18 14:41:04,639 c-bpc-050038e quarkus-run.jar[2636470] ERROR > [org.apa.jac.oak.seg.SegmentNotFoundExceptionListener] (main) Segment > not found: 22356ab4-4e25-4ba6-a49d-8d75ea17fde9. SegmentId age=35ms: > org.apache.jackrabbit.oak.segment.SegmentNotFoundException: Segment > 22356ab4-4e25-4ba6-a49d-8d75ea17fde9 not found > at > org.apache.jackrabbit.oak.segment.file.AbstractFileStore.readSegmentUncached(AbstractFileStore.java:297) > at > org.apache.jackrabbit.oak.segment.file.FileStore.lambda$readSegment$10(FileStore.java:512) > at > org.apache.jackrabbit.oak.segment.SegmentCache$NonEmptyCache.lambda$getSegment$0(SegmentCache.java:163) > at > org.apache.jackrabbit.guava.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4938) > at > org.apache.jackrabbit.guava.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3576) > at > org.apache.jackrabbit.guava.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2318) > at > org.apache.jackrabbit.guava.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2191) > at > org.apache.jackrabbit.guava.common.cache.LocalCache$Segment.get(LocalCache.java:2081) > at > org.apache.jackrabbit.guava.common.cache.LocalCache.get(LocalCache.java:4019) > at > org.apache.jackrabbit.guava.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4933) > at > org.apache.jackrabbit.oak.segment.SegmentCache$NonEmptyCache.getSegment(SegmentCache.java:160) > at > org.apache.jackrabbit.oak.segment.file.FileStore.readSegment(FileStore.java:512) > at > org.apache.jackrabbit.oak.segment.SegmentId.getSegment(SegmentId.java:153) > at > org.apache.jackrabbit.oak.segment.CachingSegmentReader$2.apply(CachingSegmentReader.java:129) > at > org.apache.jackrabbit.oak.segment.CachingSegmentReader$2.apply(CachingSegmentReader.java:125) > at > org.apache.jackrabbit.oak.segment.ReaderCache.get(ReaderCache.java:117) > at > org.apache.jackrabbit.oak.segment.CachingSegmentReader.readTemplate(CachingSegmentReader.java:125) > at > org.apache.jackrabbit.oak.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:126) > at > org.apache.jackrabbit.oak.segment.SegmentNodeState.getProperties(SegmentNodeState.java:254) > at > org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.compareAgainstBaseState(EmptyNodeState.java:136) > at > org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeDeleted(EditorDiff.java:170) > at > org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.compareAgainstBaseState(EmptyNodeState.java:142) > at > org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeDeleted(EditorDiff.java:170) > at > org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.compareAgainstBaseState(EmptyNodeState.java:142) > at > org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeDeleted(EditorDiff.java:170) > at > org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.compareAgainstBaseState(EmptyNodeState.java:142) > at > org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeDeleted(EditorDiff.java:170) > at > org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.compareAgainstBaseState(EmptyNodeState.java:142) > at > org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeDeleted(EditorDiff.java:170) > at > org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:582) > at > org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:147) > at > org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:444) > at > org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:651) > at > org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:147) > at > org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:444) > at > org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:651) > at > org.apache.jackrabbit.oak.spi.commit.EditorDiff.process(EditorDiff.java:51) > at > org.apache.jackrabbit.oak.spi.commit.EditorHook.processCommit(EditorHook.java:54) > at > org.apache.jackrabbit.oak.spi.commit.CompositeHook.processCommit(CompositeHook.java:60) > at > org.apache.jackrabbit.oak.plugins.version.VersionHook.processCommit(VersionHook.java:86) > at > org.apache.jackrabbit.oak.spi.commit.CompositeHook.processCommit(CompositeHook.java:60) > at > org.apache.jackrabbit.oak.spi.commit.CompositeHook.processCommit(CompositeHook.java:60) > at > org.apache.jackrabbit.oak.segment.scheduler.Commit.apply(Commit.java:99) > at > org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler.execute(LockBasedScheduler.java:299) > at > org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler.schedule(LockBasedScheduler.java:270) > at > org.apache.jackrabbit.oak.segment.SegmentNodeStore.merge(SegmentNodeStore.java:211) > at > org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:262) > at > org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.commit(SessionDelegate.java:394) > at > org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.save(SessionDelegate.java:549) > at > org.apache.jackrabbit.oak.jcr.session.SessionImpl$9.performVoid(SessionImpl.java:459) > at > org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performVoid(SessionDelegate.java:299) > at > org.apache.jackrabbit.oak.jcr.session.SessionImpl.save(SessionImpl.java:456) >