[ 
https://issues.apache.org/jira/browse/OAK-9847?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nitin Gupta closed OAK-9847.
----------------------------

> Offline compaction cleanup failures for migrated AzureSegmentStores with 
> missing graph files
> --------------------------------------------------------------------------------------------
>
>                 Key: OAK-9847
>                 URL: https://issues.apache.org/jira/browse/OAK-9847
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: segment-azure, segment-tar
>    Affects Versions: 1.44.0
>            Reporter: Andrei Dulceanu
>            Assignee: Andrei Dulceanu
>            Priority: Major
>             Fix For: 1.46.0
>
>
> There are cases in which the cleanup step in offline compaction fails for 
> AzureSegmentStores migrated to their Tar counterpart and then compacted. This 
> happens because some AzureSegmentStores are not correctly closed and as a 
> result the graph file is missing for some archives. Moreover, it was observed 
> that some stores contained old archives with a GCGeneration greater than that 
> of the current head, making them (and the segments inside) unreclaimable.
> This improvement makes sure that all data segments coming from a generation 
> greater than that of the root record are marked as collectable.
> Below an example stacktrace of the cleanup failure:
> {noformat}
> INFO  [2022-06-13 03:43:04,814] 
> org.apache.jackrabbit.oak.segment.file.FileStore: TarMK GC #0: cleanup 
> started using reclaimer (full generation older than 1.1, with 1 retained 
> generations)
> WARN  [2022-06-13 03:43:08,910] 
> org.apache.jackrabbit.oak.segment.file.tar.GraphLoader: Invalid graph magic 
> number
> WARN  [2022-06-13 03:43:13,498] 
> org.apache.jackrabbit.oak.segment.file.tar.GraphLoader: Invalid graph magic 
> number
> WARN  [2022-06-13 03:43:14,500] 
> org.apache.jackrabbit.oak.segment.file.tar.GraphLoader: Invalid graph magic 
> number
> WARN  [2022-06-13 03:43:16,608] 
> org.apache.jackrabbit.oak.segment.file.tar.GraphLoader: Invalid graph magic 
> number
> WARN  [2022-06-13 03:43:16,748] 
> org.apache.jackrabbit.oak.segment.file.tar.GraphLoader: Invalid graph magic 
> number
> INFO  [2022-06-13 03:43:17,124] 
> org.apache.jackrabbit.oak.segment.file.FileStore: TarMK closed: 
> /mnt/sandbox/tmp/1655089520931-0
> java.lang.NullPointerException
>       at 
> org.apache.jackrabbit.oak.segment.file.tar.TarReader.getReferences(TarReader.java:328)
>       at 
> org.apache.jackrabbit.oak.segment.file.tar.TarReader.mark(TarReader.java:417)
>       at 
> org.apache.jackrabbit.oak.segment.file.tar.TarFiles.cleanup(TarFiles.java:690)
>       at 
> org.apache.jackrabbit.oak.segment.file.DefaultCleanupStrategy.cleanup(DefaultCleanupStrategy.java:55)
>       at 
> org.apache.jackrabbit.oak.segment.file.AbstractGarbageCollectionStrategy.cleanup(AbstractGarbageCollectionStrategy.java:155)
>       at 
> org.apache.jackrabbit.oak.segment.file.AbstractGarbageCollectionStrategy.cleanup(AbstractGarbageCollectionStrategy.java:87)
>       at 
> org.apache.jackrabbit.oak.segment.file.SynchronizedGarbageCollectionStrategy.cleanup(SynchronizedGarbageCollectionStrategy.java:73)
>       at 
> org.apache.jackrabbit.oak.segment.file.GarbageCollector.cleanup(GarbageCollector.java:305)
>       at 
> org.apache.jackrabbit.oak.segment.file.FileStore.cleanup(FileStore.java:419)
>       at org.apache.jackrabbit.oak.segment.tool.Compact.run(Compact.java:296)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to