[
https://issues.apache.org/jira/browse/OAK-6193?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Francesco Mari updated OAK-6193:
--------------------------------
Attachment: OAK-6193-01.patch
In order to implement a proper protocol for responsive, graceful shutdown, I
had to introduce a RW lock. The shutdown protocol is explained in detail in the
patch. [~mduerig], [~dulceanu] can you take a look at this?
> IllegalStateException when closing the FileStore during garbage collection
> --------------------------------------------------------------------------
>
> Key: OAK-6193
> URL: https://issues.apache.org/jira/browse/OAK-6193
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: segment-tar
> Reporter: Michael Dürig
> Assignee: Francesco Mari
> Labels: gc
> Fix For: 1.8, 1.7.8
>
> Attachments: OAK-6193-01.patch
>
>
> When the file store is shut down during gc compaction is properly aborted.
> Afterwards it will trigger a cleanup cycle though, which runs concurrently to
> the proceeding shutdown potentially causing an {{ISE}}:
> {noformat}
> at com.google.common.base.Preconditions.checkState(Preconditions.java:134)
> at org.apache.jackrabbit.oak.segment.file.TarWriter.close(TarWriter.java:333)
> at
> org.apache.jackrabbit.oak.segment.file.TarWriter.createNextGeneration(TarWriter.java:376)
> at
> org.apache.jackrabbit.oak.segment.file.FileStore.newWriter(FileStore.java:682)
> at
> org.apache.jackrabbit.oak.segment.file.FileStore.access$1700(FileStore.java:100)
> at
> org.apache.jackrabbit.oak.segment.file.FileStore$GarbageCollector.cleanup(FileStore.java:1069)
> at
> org.apache.jackrabbit.oak.segment.file.FileStore$GarbageCollector.cleanupGeneration(FileStore.java:1195)
> at
> org.apache.jackrabbit.oak.segment.file.FileStore$GarbageCollector.run(FileStore.java:803)
> at org.apache.jackrabbit.oak.segment.file.FileStore.gc(FileStore.java:387)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)