You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Julian Reschke (Jira)" <ji...@apache.org> on 2020/08/21 13:51:00 UTC

[jira] [Reopened] (OAK-9173) Oak-run indexing fails with "This map is closed"

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

Julian Reschke reopened OAK-9173:
---------------------------------

Fails for me on Windows:

{noformat}
[ERROR] Tests run: 6, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 0.073 s <<< FAILURE! - in org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileStoreIteratorTest
[ERROR] simpleTraversal(org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileStoreIteratorTest)  Time elapsed: 0.014 s  <<< ERROR!
java.lang.IllegalStateException: java.io.IOException: Unable to delete file: target\test
        at org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileStoreIteratorTest.newFlatFileStore(FlatFileStoreIteratorTest.java:56)
        at org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileStoreIteratorTest.simpleTraversal(FlatFileStoreIteratorTest.java:65)
Caused by: java.io.IOException: Unable to delete file: target\test
        at org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileStoreIteratorTest.newFlatFileStore(FlatFileStoreIteratorTest.java:56)
        at org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileStoreIteratorTest.simpleTraversal(FlatFileStoreIteratorTest.java:65)

[ERROR] invalidOrderAccess(org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileStoreIteratorTest)  Time elapsed: 0.001 s  <<< ERROR!
java.lang.IllegalStateException: java.io.IOException: Unable to delete file: target\test
        at org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileStoreIteratorTest.newFlatFileStore(FlatFileStoreIteratorTest.java:56)
        at org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileStoreIteratorTest.invalidOrderAccess(FlatFileStoreIteratorTest.java:104)
Caused by: java.io.IOException: Unable to delete file: target\test
        at org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileStoreIteratorTest.newFlatFileStore(FlatFileStoreIteratorTest.java:56)
        at org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileStoreIteratorTest.invalidOrderAccess(FlatFileStoreIteratorTest.java:104)

{noformat}

> Oak-run indexing fails with "This map is closed"
> ------------------------------------------------
>
>                 Key: OAK-9173
>                 URL: https://issues.apache.org/jira/browse/OAK-9173
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: indexing, oak-run
>            Reporter: Thomas Mueller
>            Assignee: Thomas Mueller
>            Priority: Major
>             Fix For: 1.34.0
>
>
> Near the very end of the indexing, the log file contains the following error message
> {noformat}
> 06:21:13.704 [main] INFO  o.a.j.oak.plugins.index.IndexUpdate - Reindexing Traversed #13370000 /content/... [9179.83 nodes/s, 33047386.33 nodes/hr] (Elapsed 19.05 min, Expected 0.000 ns, Completed 99.95%)
> 06:21:14.524 [main] INFO  o.a.j.o.i.i.d.f.l.PersistedLinkedList - Entries: 1 map size: 1 file size: 9838592 bytes
> 06:21:17.463 [main] INFO  o.a.j.o.i.i.d.f.l.PersistedLinkedList - Cache hits 467781832 misses 836251
> 06:21:17.463 [main] INFO  o.a.j.o.i.i.d.f.l.PersistedLinkedList - Cache hits 467781980 misses 836251
> 06:21:24.400 [main] ERROR com.adobe.granite.indexing.tool.Main - Can't perform operation
> java.lang.IllegalStateException: This map is closed [1.4.194/4]
> 	at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:765)
> 	at org.h2.mvstore.MVMap.beforeWrite(MVMap.java:1044)
> 	at org.h2.mvstore.MVMap.remove(MVMap.java:542)
> 	at org.apache.jackrabbit.oak.index.indexer.document.flatfile.linkedList.PersistedLinkedList.remove(PersistedLinkedList.java:140)
> 	at org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileStoreIterator.computeNextEntry(FlatFileStoreIterator.java:102)
> 	at org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileStoreIterator.computeNext(FlatFileStoreIterator.java:85)
> 	at org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileStoreIterator.computeNext(FlatFileStoreIterator.java:39)
> 	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
> 	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
> 	at org.apache.jackrabbit.oak.index.indexer.document.DocumentStoreIndexer.reindex(DocumentStoreIndexer.java:123)
> {noformat}
> The root cause seems to be:
>  * The "main" iterator reaches the end, so that the map, and the file, is closed.
>  * But then, a "clone of the iterator" (not sure if that's the right word) is still open and tries to continue.
>  * This fails because the map is marked closed.
> We need to keep the map + file open for a longer time.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)