Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-7005

org.apache.lucene.index.IndexNotFoundException when querying

XMLWordPrintable

    • Hide

      Run test AffinityTopologyChangeTest in a loop, it will eventually fail (< 1% of the time).
      Although the test is for the AffinityIndexManager, it could happen on other index managers based on Infinispan Directory.

      Show
      Run test AffinityTopologyChangeTest in a loop, it will eventually fail (< 1% of the time). Although the test is for the AffinityIndexManager, it could happen on other index managers based on Infinispan Directory.

      This happens when querying an Index stored in the Infinispan directory at the same time writes are happening. It is very hard to reproduce, the stack trace is:

      java.util.concurrent.CompletionException: org.hibernate.search.exception.SearchException: HSEARCH000103: Unable to initialize IndexManager named 'entity.205'
              at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:273)
              at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:280)
              at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1592)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
              at java.lang.Thread.run(Thread.java:745)
      Caused by: org.hibernate.search.exception.SearchException: HSEARCH000103: Unable to initialize IndexManager named 'entity.205'
              at org.hibernate.search.indexes.impl.IndexManagerHolder.createIndexManager(IndexManagerHolder.java:275)
              at org.hibernate.search.indexes.impl.IndexManagerHolder.createIndexManager(IndexManagerHolder.java:528)
              at org.hibernate.search.indexes.impl.IndexManagerHolder.getOrCreateIndexManager(IndexManagerHolder.java:163)
              at org.hibernate.search.engine.impl.DynamicShardingStrategy.getIndexManagersFromShards(DynamicShardingStrategy.java:82)
              at org.hibernate.search.engine.impl.DynamicShardingStrategy.getIndexManagersForQuery(DynamicShardingStrategy.java:71)
              at org.hibernate.search.query.engine.impl.LuceneHSQuery.getIndexManagers(LuceneHSQuery.java:611)
              at org.hibernate.search.query.engine.impl.LuceneHSQuery.buildSearcher(LuceneHSQuery.java:447)
              at org.hibernate.search.query.engine.impl.LuceneHSQuery.buildSearcher(LuceneHSQuery.java:380)
              at org.hibernate.search.query.engine.impl.LuceneHSQuery.queryEntityInfos(LuceneHSQuery.java:138)
              at org.infinispan.query.impl.CacheQueryImpl.list(CacheQueryImpl.java:161)
              at org.infinispan.query.affinity.AffinityTopologyChangeTest$QueryingNode.executeTask(AffinityTopologyChangeTest.java:164)
              at org.infinispan.query.affinity.AffinityTopologyChangeTest$TaskNode.lambda$null$0(AffinityTopologyChangeTest.java:129)
              at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
              ... 3 more
      Caused by: org.hibernate.search.exception.SearchException: Unable to open Lucene IndexReader for IndexManager entity.205
              at org.hibernate.search.indexes.impl.SharingBufferReaderProvider.createReader(SharingBufferReaderProvider.java:113)
              at org.hibernate.search.indexes.impl.SharingBufferReaderProvider.initialize(SharingBufferReaderProvider.java:91)
              at org.hibernate.search.indexes.impl.PropertiesParseHelper.createDirectoryBasedReaderProvider(PropertiesParseHelper.java:172)
              at org.hibernate.search.indexes.spi.DirectoryBasedIndexManager.createIndexReader(DirectoryBasedIndexManager.java:208)
              at org.hibernate.search.indexes.spi.DirectoryBasedIndexManager.initialize(DirectoryBasedIndexManager.java:87)
              at org.infinispan.query.affinity.AffinityIndexManager.initialize(AffinityIndexManager.java:139)
              at org.hibernate.search.indexes.impl.IndexManagerHolder.createIndexManager(IndexManagerHolder.java:271)
              ... 15 more
      Caused by: org.apache.lucene.index.IndexNotFoundException: no segments* file found in InfinispanDirectory{indexName='entity.205'}: files: [_0.cfe, _0.cfs, _0.si, pending_segments_2]
              at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:726)
              at org.apache.lucene.index.StandardDirectoryReader.open(StandardDirectoryReader.java:50)
              at org.apache.lucene.index.DirectoryReader.open(DirectoryReader.java:63)
              at org.hibernate.search.indexes.impl.SharingBufferReaderProvider.readerFactory(SharingBufferReaderProvider.java:131)
              at org.hibernate.search.indexes.impl.SharingBufferReaderProvider$PerDirectoryLatestReader.<init>(SharingBufferReaderProvider.java:206)
              at org.hibernate.search.indexes.impl.SharingBufferReaderProvider.createReader(SharingBufferReaderProvider.java:108)
              ... 21 more
      

              gfernand@redhat.com Gustavo Fernandes (Inactive)
              gfernand@redhat.com Gustavo Fernandes (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: