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

Shai Erera commented on LUCENE-5139:
------------------------------------

That assertion seems to be what I was talking about -- an IndexSearcher sees 
more docs than its matching TaxonomyReader.

The reason we don't have a Directory-based SearcherTaxoManager version (yet!) 
is that we'd need to guarantee the two Directories (index and taxo) actually 
agree on their state. That is, all the categories that are indexed in the 
search index, also exist in the taxonomy index. Also, that all the categories 
that are encoded in the taxonomy index (and their ordinals) are consistent with 
the ones in the search index. In other words, that the ordinal=7 in both 
Directories denote the same category!

We could perhaps write an OptimisticSearcherTaxoManager which takes two 
Directories. You could also write one yourself to try it -- should be very 
easy. You can copy most of the code from STManager (with the writers).
                
> ArrayIndexOutOfBoundsException in FacetsAccumulator.accumulate while indexing
> -----------------------------------------------------------------------------
>
>                 Key: LUCENE-5139
>                 URL: https://issues.apache.org/jira/browse/LUCENE-5139
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: modules/facet
>    Affects Versions: 4.4
>         Environment: Ubuntu 64 bit
>            Reporter: Rob Audenaerde
>         Attachments: testfacetindexing.zip
>
>
> It is a hard to reproduce problem, but I see it from time to time. I am 
> indexing some 100k documents and while I am doing that, I use the search and 
> facet module. 
> In some cases, I get an AIOOBE on the FacetAccumulator.accumulate method. See 
> for example this little stacktrace:
> java.lang.ArrayIndexOutOfBoundsException: 1400222
>      at 
> org.apache.lucene.facet.search.FastCountingFacetsAggregator.aggregate(FastCountingFacetsAggregator.java:87)
>      at 
> org.apache.lucene.facet.search.FacetsAccumulator.accumulate(FacetsAccumulator.java:167)
>      at 
> org.apache.lucene.facet.search.FacetsCollector.getFacetResults(FacetsCollector.java:214)
>      at ...
> Some more detail:
> I have a index that is being written to by an IndexWriter. The index is 
> searched by a SearcherManager that uses the same Directory. The 
> searcherManager has a scheduled maybeRefresh each 1000ms. When refreshing, I 
> also check whether the taxonomy has changed. If so, I replace it by the new 
> one. I use this code:
> {code}
> TaxonomyReader newReader = TaxonomyReader.openIfChanged( this.taxoReader );
> if ( newReader != null )
> {
>       this.taxoReader = newReader;
>       LOG.info( "Reopening taxonomyReader because it has changed!" );
> }
> {code}
> I will try to make it more reproducable; but maybe someone already has an 
> idea on what might trigger this.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to