[ https://issues.apache.org/jira/browse/OAK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrei Dulceanu updated OAK-8832: --------------------------------- Attachment: OAK-8832.patch > Offline Compaction fails while erroneously accessing external blob > ------------------------------------------------------------------- > > Key: OAK-8832 > URL: https://issues.apache.org/jira/browse/OAK-8832 > Project: Jackrabbit Oak > Issue Type: Bug > Components: segment-tar > Affects Versions: 1.10.0, 1.12.0, 1.8.11, 1.14.0, 1.16.0, 1.18.0, 1.20.0, > 1.22.0 > Reporter: Andrei Dulceanu > Assignee: Andrei Dulceanu > Priority: Critical > Attachments: OAK-8832.patch > > > Relevant stack trace: > {noformat} > INFO [2019-12-06 01:07:39,345] > org.apache.jackrabbit.oak.segment.file.FileStore: TarMK GC #0: compacting > root. > java.lang.IllegalStateException: Attempt to read external blob with blobId > [95c88847bd388c05fc332e737dda714630c11351d1949ffd1a03b7b09b92d1ea#71399] > without specifying BlobStore > INFO [2019-12-06 01:07:39,753] > org.apache.jackrabbit.oak.segment.file.FileStore: TarMK closed: > /mnt/sandbox/tmp/1575594001228-0 > at > org.apache.jackrabbit.oak.segment.SegmentBlob.getBlob(SegmentBlob.java:248) > at > org.apache.jackrabbit.oak.segment.SegmentBlob.getLength(SegmentBlob.java:257) > at > org.apache.jackrabbit.oak.segment.SegmentBlob.length(SegmentBlob.java:109) > at > org.apache.jackrabbit.oak.segment.SegmentBlob.equals(SegmentBlob.java:185) > at com.google.common.base.Objects.equal(Objects.java:52) > at > org.apache.jackrabbit.oak.plugins.memory.AbstractPropertyState.equal(AbstractPropertyState.java:59) > at > org.apache.jackrabbit.oak.segment.SegmentPropertyState.equals(SegmentPropertyState.java:249) > at > org.apache.jackrabbit.oak.segment.SegmentNodeState.compareProperties(SegmentNodeState.java:664) > at > org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:558) > at > org.apache.jackrabbit.oak.segment.Compactor$CompactDiff.diff(Compactor.java:165) > at > org.apache.jackrabbit.oak.segment.Compactor.compact(Compactor.java:123) > at > org.apache.jackrabbit.oak.segment.Compactor$CompactDiff.childNodeChanged(Compactor.java:217) > at > org.apache.jackrabbit.oak.segment.CancelableDiff.childNodeChanged(CancelableDiff.java:85) > at > org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:598) > at > org.apache.jackrabbit.oak.segment.Compactor$CompactDiff.diff(Compactor.java:165) > at > org.apache.jackrabbit.oak.segment.Compactor.compact(Compactor.java:123) > at > org.apache.jackrabbit.oak.segment.Compactor$CompactDiff.childNodeChanged(Compactor.java:217) > at > org.apache.jackrabbit.oak.segment.CancelableDiff.childNodeChanged(CancelableDiff.java:85) > at > org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:598) > at > org.apache.jackrabbit.oak.segment.Compactor$CompactDiff.diff(Compactor.java:165) > at > org.apache.jackrabbit.oak.segment.Compactor.compact(Compactor.java:123) > at > org.apache.jackrabbit.oak.segment.Compactor$CompactDiff.childNodeChanged(Compactor.java:217) > at > org.apache.jackrabbit.oak.segment.CancelableDiff.childNodeChanged(CancelableDiff.java:85) > at > org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:422) > at > org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:651) > at > org.apache.jackrabbit.oak.segment.Compactor$CompactDiff.diff(Compactor.java:165) > at > org.apache.jackrabbit.oak.segment.Compactor.compact(Compactor.java:123) > at > org.apache.jackrabbit.oak.segment.Compactor$CompactDiff.childNodeChanged(Compactor.java:217) > at > org.apache.jackrabbit.oak.segment.CancelableDiff.childNodeChanged(CancelableDiff.java:85) > at > org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:598) > at > org.apache.jackrabbit.oak.segment.Compactor$CompactDiff.diff(Compactor.java:165) > at > org.apache.jackrabbit.oak.segment.Compactor.compact(Compactor.java:123) > at > org.apache.jackrabbit.oak.segment.Compactor$CompactDiff.childNodeChanged(Compactor.java:217) > at > org.apache.jackrabbit.oak.segment.CancelableDiff.childNodeChanged(CancelableDiff.java:85) > at > org.apache.jackrabbit.oak.segment.MapRecord$3.childNodeChanged(MapRecord.java:408) > at > org.apache.jackrabbit.oak.segment.MapRecord$4.childNodeChanged(MapRecord.java:449) > at > org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:495) > at > org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:440) > at > org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:398) > at > org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:651) > at > org.apache.jackrabbit.oak.segment.Compactor$CompactDiff.diff(Compactor.java:165) > at > org.apache.jackrabbit.oak.segment.Compactor.compact(Compactor.java:123) > at > org.apache.jackrabbit.oak.segment.Compactor$CompactDiff.childNodeChanged(Compactor.java:217) > at > org.apache.jackrabbit.oak.segment.CancelableDiff.childNodeChanged(CancelableDiff.java:85) > at > org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:422) > at > org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:651) > at > org.apache.jackrabbit.oak.segment.Compactor$CompactDiff.diff(Compactor.java:165) > at > org.apache.jackrabbit.oak.segment.Compactor.compact(Compactor.java:123) > at > org.apache.jackrabbit.oak.segment.Compactor$CompactDiff.childNodeChanged(Compactor.java:217) > at > org.apache.jackrabbit.oak.segment.CancelableDiff.childNodeChanged(CancelableDiff.java:85) > at > org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:422) > at > org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:651) > at > org.apache.jackrabbit.oak.segment.Compactor$CompactDiff.diff(Compactor.java:165) > at > org.apache.jackrabbit.oak.segment.Compactor.compact(Compactor.java:123) > at > org.apache.jackrabbit.oak.segment.Compactor$CompactDiff.childNodeChanged(Compactor.java:217) > at > org.apache.jackrabbit.oak.segment.CancelableDiff.childNodeChanged(CancelableDiff.java:85) > at > org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:422) > at > org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:651) > at > org.apache.jackrabbit.oak.segment.Compactor$CompactDiff.diff(Compactor.java:165) > at > org.apache.jackrabbit.oak.segment.Compactor.compact(Compactor.java:123) > at > org.apache.jackrabbit.oak.segment.Compactor$CompactDiff.childNodeChanged(Compactor.java:217) > at > org.apache.jackrabbit.oak.segment.CancelableDiff.childNodeChanged(CancelableDiff.java:85) > at > org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:495) > at > org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:651) > at > org.apache.jackrabbit.oak.segment.Compactor$CompactDiff.diff(Compactor.java:165) > at > org.apache.jackrabbit.oak.segment.Compactor.compact(Compactor.java:123) > at > org.apache.jackrabbit.oak.segment.CheckpointCompactor.compactWithCache(CheckpointCompactor.java:249) > at > org.apache.jackrabbit.oak.segment.CheckpointCompactor.compact(CheckpointCompactor.java:172) > at > org.apache.jackrabbit.oak.segment.CheckpointCompactor.compact(CheckpointCompactor.java:119) > at > org.apache.jackrabbit.oak.segment.file.AbstractCompactionStrategy.compact(AbstractCompactionStrategy.java:150) > at > org.apache.jackrabbit.oak.segment.file.FullCompactionStrategy.compact(FullCompactionStrategy.java:42) > at > org.apache.jackrabbit.oak.segment.file.AbstractGarbageCollectionStrategy.compactFull(AbstractGarbageCollectionStrategy.java:77) > at > org.apache.jackrabbit.oak.segment.file.SynchronizedGarbageCollectionStrategy.compactFull(SynchronizedGarbageCollectionStrategy.java:59) > at > org.apache.jackrabbit.oak.segment.file.GarbageCollector.compactFull(GarbageCollector.java:296) > at > org.apache.jackrabbit.oak.segment.file.FileStore.compactFull(FileStore.java:394) > at org.apache.jackrabbit.oak.segment.tool.Compact.run(Compact.java:274) > at > com.adobe.granite.farmer.core.compaction.Compactor.compact(Compactor.java:85) > at > com.adobe.granite.farmer.core.compaction.Compactor.compact(Compactor.java:47) > at > com.adobe.granite.farmer.core.compaction.CompactorJob.execute(CompactorJob.java:77) > at > com.adobe.granite.farmer.PublishFarmerApplication$RunnerJob.execute(PublishFarmerApplication.java:238) > at org.quartz.core.JobRunShell.run(JobRunShell.java:202) > at > org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) > {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005)