You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Rob Audenaerde (JIRA)" <ji...@apache.org> on 2013/12/16 10:34:07 UTC

[jira] [Commented] (LUCENE-5139) ArrayIndexOutOfBoundsException in FacetsAccumulator.accumulate while indexing

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

Rob Audenaerde commented on LUCENE-5139:
----------------------------------------

In the end we managed to get around this problem by implementing locking around commits (because multiples thread could call commit() on either iw or tw).

> 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 was sent by Atlassian JIRA
(v6.1.4#6159)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org