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

Rob Audenaerde edited comment on LUCENE-5139 at 7/26/13 12:24 PM:
------------------------------------------------------------------

Hi Shai, I cannot directly use the SearcherTaxonomyManager, because it can only 
be constructed using an IndexWriter. For my use case, I have this:
{code}
        this.searcherManager = new SearcherManager( this.indexDirectory, new 
SearcherFactory() );
{code}

I use an indexDirectory. It would be nice if I can use this construction like 
this: 
{code}
        this.searcherTaxoManager = new SearcherTaxonomyManager( 
this.indexDirectory, this.taxoDirectory, new SearcherFactory() );
{code}

However:

I created some tests; using the {SearchedTaxonomyManager} and the Writers I 
don't get any errors. When not using the {SearchedTaxonomyManager} I sometimes 
get this assertion failure: 

  java.lang.AssertionError: ord=2 vs maxOrd=1
        at 
org.apache.lucene.facet.search.FastCountingFacetsAggregator.aggregate(FastCountingFacetsAggregator.java:86)
        at 
org.apache.lucene.facet.search.FacetsAccumulator.accumulate(FacetsAccumulator.java:167)
        at 
org.apache.lucene.facet.search.FacetsCollector.getFacetResults(FacetsCollector.java:214)
        at 
org.audenaerde.FacetSearchWhileIndexingLuceneTest$Searcher.run(FacetSearchWhileIndexingLuceneTest.java:126)

I will attach the code to this issue.

                
      was (Author: robau):
    Hi Shai, I cannot directly use the SearcherTaxonomyManager, because it can 
only be constructed using an IndexWriter. For my use case, I have this:
{code}
        this.searcherManager = new SearcherManager( this.indexDirectory, new 
SearcherFactory() );
{code}

I created some tests; using the {SearchedTaxonomyManager} and the Writers I 
don't get any errors. When not using the {SearchedTaxonomyManager} I sometimes 
get this assertion failure: 

  java.lang.AssertionError: ord=2 vs maxOrd=1
        at 
org.apache.lucene.facet.search.FastCountingFacetsAggregator.aggregate(FastCountingFacetsAggregator.java:86)
        at 
org.apache.lucene.facet.search.FacetsAccumulator.accumulate(FacetsAccumulator.java:167)
        at 
org.apache.lucene.facet.search.FacetsCollector.getFacetResults(FacetsCollector.java:214)
        at 
org.audenaerde.FacetSearchWhileIndexingLuceneTest$Searcher.run(FacetSearchWhileIndexingLuceneTest.java:126)

                  
> 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
>
> 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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to