[ https://issues.apache.org/jira/browse/OAK-5461?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15826045#comment-15826045 ]
Julian Reschke commented on OAK-5461: ------------------------------------- Exception in thread "SnapshotThread" java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(Unknown Source) at java.util.ArrayList$Itr.next(Unknown Source) at org.apache.jackrabbit.oak.commons.FileIOUtils.append(FileIOUtils.java:156) at org.apache.jackrabbit.oak.plugins.blob.datastore.BlobIdTracker$BlobIdStore.merge(BlobIdTracker.java:410) at org.apache.jackrabbit.oak.plugins.blob.datastore.BlobIdTracker$BlobIdStore.snapshot(BlobIdTracker.java:530) at org.apache.jackrabbit.oak.plugins.blob.datastore.BlobIdTrackerStoreTest$4.run(BlobIdTrackerStoreTest.java:379) > [BlobGC] BlobIdTracker remove() should merge generations > -------------------------------------------------------- > > Key: OAK-5461 > URL: https://issues.apache.org/jira/browse/OAK-5461 > Project: Jackrabbit Oak > Issue Type: Bug > Components: blob > Reporter: Amit Jain > Assignee: Amit Jain > Fix For: 1.5.18, 1.6 > > > On a new setup if the blob gc is executed before taking a snapshot then the > blobs ids are retrieved from the datastore and GC removes are synchronized > with this retrieved file. But these removed blob ids may also be present in > the tracker generation and therefore may get resurrected on next snapshot. > This will happen as no snapshot has taken place which is possible if the > {{blobGcMaxAgeInSecs}} is configured to be less than the > {{blobTrackSnapshotIntervalInSecs}}. > The effect of the above situation would be that the removed blob ids would > always turn up as GC candidates until the tracker is reset and log a warning > during GC as they are not present anymore. -- This message was sent by Atlassian JIRA (v6.3.4#6332)