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 "Thomas Mueller (Jira)" <ji...@apache.org> on 2021/08/30 16:06:00 UTC

[jira] [Commented] (OAK-9561) Flaky test: DelayedFacetReadTest.facet

    [ https://issues.apache.org/jira/browse/OAK-9561?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17406799#comment-17406799 ] 

Thomas Mueller commented on OAK-9561:
-------------------------------------

To me it looks like a reader isn't close in case the asynchronous thread executes a bit later (which usually doesn't happen, but can happen).

It looks like the usage counter is incremented in two places, but then only decremented once, so won't go to 0:

{noformat}
[branch] StandardDirectoryReader(:nrt _0(4.7):c100 _1(4.7):c500) 2100061450 open reader -> 1
java.lang.Exception
	at org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.NRTIndex.createReader(NRTIndex.java:340)
	at org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.NRTIndex.getPrimaryReader(NRTIndex.java:126)
	at org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.NRTIndex.getReaders(NRTIndex.java:171)
	at org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexNodeManager.getNRTReaders(LuceneIndexNodeManager.java:263)
	at org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexNodeManager.<init>(LuceneIndexNodeManager.java:139)
	at org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexNodeManager.open(LuceneIndexNodeManager.java:77)
	at org.apache.jackrabbit.oak.plugins.index.lucene.IndexTracker.findIndexNode(IndexTracker.java:259)
	at org.apache.jackrabbit.oak.plugins.index.lucene.IndexTracker.acquireIndexNode(IndexTracker.java:228)
	at org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndex$LazyLuceneIndexNode.findIndexNode(LucenePropertyIndex.java:1753)
	at org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndex$LazyLuceneIndexNode.getIndexStatistics(LucenePropertyIndex.java:1768)
	at org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndex$LazyLuceneIndexNode.getIndexStatistics(LucenePropertyIndex.java:1)
	at org.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndexPlanner.defaultPlan(FulltextIndexPlanner.java:769)
	at org.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndexPlanner.getPlanBuilder(FulltextIndexPlanner.java:294)
	at org.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndexPlanner.getPlan(FulltextIndexPlanner.java:117)
	at org.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndex.getPlans(FulltextIndex.java:129)
	at org.apache.jackrabbit.oak.query.QueryImpl.getBestSelectorExecutionPlan(QueryImpl.java:1099)
	at org.apache.jackrabbit.oak.query.QueryImpl.getBestSelectorExecutionPlan(QueryImpl.java:1046)
	at org.apache.jackrabbit.oak.query.ast.SelectorImpl.prepare(SelectorImpl.java:308)
	at org.apache.jackrabbit.oak.query.QueryImpl.prepare(QueryImpl.java:707)
	at org.apache.jackrabbit.oak.query.QueryEngineImpl.prepareAndSelect(QueryEngineImpl.java:304)
	at org.apache.jackrabbit.oak.query.QueryEngineImpl.executeQuery(QueryEngineImpl.java:278)
	at org.apache.jackrabbit.oak.jcr.query.QueryManagerImpl.executeQuery(QueryManagerImpl.java:136)
	at org.apache.jackrabbit.oak.jcr.query.QueryImpl$2.perform(QueryImpl.java:104)
	at org.apache.jackrabbit.oak.jcr.query.QueryImpl$2.perform(QueryImpl.java:100)
	at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.perform(SessionDelegate.java:209)
	at org.apache.jackrabbit.oak.jcr.query.QueryImpl.execute(QueryImpl.java:99)
	at org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.DelayedFacetReadTest$1.run(DelayedFacetReadTest.java:232)
	at java.lang.Thread.run(Thread.java:745)
[branch] StandardDirectoryReader(:nrt _0(4.7):c100 _1(4.7):c500) 2100061450 tryIncB -> 2
java.lang.Exception
	at org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.NRTIndex.getPrimaryReader(NRTIndex.java:134)
	at org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.NRTIndex.getReaders(NRTIndex.java:171)
	at org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexNodeManager.getNRTReaders(LuceneIndexNodeManager.java:263)
	at org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexNodeManager.<init>(LuceneIndexNodeManager.java:139)
	at org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexNodeManager.open(LuceneIndexNodeManager.java:77)
	at org.apache.jackrabbit.oak.plugins.index.lucene.IndexTracker.findIndexNode(IndexTracker.java:259)
	at org.apache.jackrabbit.oak.plugins.index.lucene.IndexTracker.acquireIndexNode(IndexTracker.java:228)
	at org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndex$LazyLuceneIndexNode.findIndexNode(LucenePropertyIndex.java:1753)
	at org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndex$LazyLuceneIndexNode.getIndexStatistics(LucenePropertyIndex.java:1768)
	at org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndex$LazyLuceneIndexNode.getIndexStatistics(LucenePropertyIndex.java:1)
	at org.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndexPlanner.defaultPlan(FulltextIndexPlanner.java:769)
	at org.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndexPlanner.getPlanBuilder(FulltextIndexPlanner.java:294)
	at org.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndexPlanner.getPlan(FulltextIndexPlanner.java:117)
	at org.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndex.getPlans(FulltextIndex.java:129)
	at org.apache.jackrabbit.oak.query.QueryImpl.getBestSelectorExecutionPlan(QueryImpl.java:1099)
	at org.apache.jackrabbit.oak.query.QueryImpl.getBestSelectorExecutionPlan(QueryImpl.java:1046)
	at org.apache.jackrabbit.oak.query.ast.SelectorImpl.prepare(SelectorImpl.java:308)
	at org.apache.jackrabbit.oak.query.QueryImpl.prepare(QueryImpl.java:707)
	at org.apache.jackrabbit.oak.query.QueryEngineImpl.prepareAndSelect(QueryEngineImpl.java:304)
	at org.apache.jackrabbit.oak.query.QueryEngineImpl.executeQuery(QueryEngineImpl.java:278)
	at org.apache.jackrabbit.oak.jcr.query.QueryManagerImpl.executeQuery(QueryManagerImpl.java:136)
	at org.apache.jackrabbit.oak.jcr.query.QueryImpl$2.perform(QueryImpl.java:104)
	at org.apache.jackrabbit.oak.jcr.query.QueryImpl$2.perform(QueryImpl.java:100)
	at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.perform(SessionDelegate.java:209)
	at org.apache.jackrabbit.oak.jcr.query.QueryImpl.execute(QueryImpl.java:99)
	at org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.DelayedFacetReadTest$1.run(DelayedFacetReadTest.java:232)
	at java.lang.Thread.run(Thread.java:745)
abc..
main closed2
main closed3
[main] StandardDirectoryReader(:nrt _0(4.7):c100 _1(4.7):c500) 2100061450 defRef -> 2
java.lang.Exception
	at org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.NRTIndex.decrementReaderUseCount(NRTIndex.java:302)
	at org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.NRTIndex.decrementReaderUseCount(NRTIndex.java:292)
	at org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.NRTIndex.close(NRTIndex.java:215)
	at org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.NRTIndexFactory.close(NRTIndexFactory.java:100)
	at org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.DelayedFacetReadTest.tearDown(DelayedFacetReadTest.java:128)
{noformat}

> Flaky test: DelayedFacetReadTest.facet 
> ---------------------------------------
>
>                 Key: OAK-9561
>                 URL: https://issues.apache.org/jira/browse/OAK-9561
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: indexing, query
>            Reporter: Thomas Mueller
>            Priority: Major
>
> Sometimes we see:
> {noformat}
> Error Message
> Unclosed reader found with refCount 1 for index /oak:index/hybridtest (nrt1629897373046)
> Stacktrace
> java.lang.IllegalStateException: Unclosed reader found with refCount 1 for index /oak:index/hybridtest (nrt1629897373046)
> 	at org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.NRTIndex.assertAllReadersAreClosed(NRTIndex.java:270)
> 	at org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.NRTIndex.close(NRTIndex.java:204)
> 	at org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.NRTIndexFactory.close(NRTIndexFactory.java:100)
> 	at org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.DelayedFacetReadTest.tearDown(DelayedFacetReadTest.java:121)
> 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> {noformat}



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