You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Joe Calderon <ca...@gmail.com> on 2009/10/23 20:03:53 UTC

field collapsing bug (java.lang.ArrayIndexOutOfBoundsException)

seems to happen when sort on anything besides strictly score, even
score desc, num desc triggers it, using latest nightly and 10/14 patch

Problem accessing /solr/core1/select. Reason:

    4731592

java.lang.ArrayIndexOutOfBoundsException: 4731592
	at org.apache.lucene.search.FieldComparator$StringOrdValComparator.copy(FieldComparator.java:660)
	at org.apache.solr.search.NonAdjacentDocumentCollapser$DocumentComparator.compare(NonAdjacentDocumentCollapser.java:235)
	at org.apache.solr.search.NonAdjacentDocumentCollapser$DocumentPriorityQueue.lessThan(NonAdjacentDocumentCollapser.java:173)
	at org.apache.lucene.util.PriorityQueue.insertWithOverflow(PriorityQueue.java:158)
	at org.apache.solr.search.NonAdjacentDocumentCollapser.doCollapsing(NonAdjacentDocumentCollapser.java:95)
	at org.apache.solr.search.AbstractDocumentCollapser.collapse(AbstractDocumentCollapser.java:208)
	at org.apache.solr.handler.component.CollapseComponent.doProcess(CollapseComponent.java:98)
	at org.apache.solr.handler.component.CollapseComponent.process(CollapseComponent.java:66)
	at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:195)
	at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
	at org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.handleRequest(RequestHandlers.java:233)
	at org.apache.solr.core.SolrCore.execute(SolrCore.java:1316)
	at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)
	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)
	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387)
	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	at org.mortbay.jetty.Server.handle(Server.java:326)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:864)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)

Re: field collapsing bug (java.lang.ArrayIndexOutOfBoundsException)

Posted by Martijn v Groningen <ma...@gmail.com>.
I was able to reproduce the exact same stacktrace you have sent. The
exception occured when I removed a document from a newly created index
(with a commit) and then did a search with field collapsing enabled. I
have attached a new patch to SOLR-236 that includes a fix for this
bug.

Martijn

2009/10/25 Martijn v Groningen <ma...@gmail.com>:
> Hi Joe,
>
> Can you give a bit more context info? Like the exact search and the
> field types you are using for example. Also are you doing a lot of
> frequent updates to the index?
>
> Cheers,
>
> Martijn
>
> 2009/10/23 Joe Calderon <ca...@gmail.com>:
>> seems to happen when sort on anything besides strictly score, even
>> score desc, num desc triggers it, using latest nightly and 10/14 patch
>>
>> Problem accessing /solr/core1/select. Reason:
>>
>>    4731592
>>
>> java.lang.ArrayIndexOutOfBoundsException: 4731592
>>        at org.apache.lucene.search.FieldComparator$StringOrdValComparator.copy(FieldComparator.java:660)
>>        at org.apache.solr.search.NonAdjacentDocumentCollapser$DocumentComparator.compare(NonAdjacentDocumentCollapser.java:235)
>>        at org.apache.solr.search.NonAdjacentDocumentCollapser$DocumentPriorityQueue.lessThan(NonAdjacentDocumentCollapser.java:173)
>>        at org.apache.lucene.util.PriorityQueue.insertWithOverflow(PriorityQueue.java:158)
>>        at org.apache.solr.search.NonAdjacentDocumentCollapser.doCollapsing(NonAdjacentDocumentCollapser.java:95)
>>        at org.apache.solr.search.AbstractDocumentCollapser.collapse(AbstractDocumentCollapser.java:208)
>>        at org.apache.solr.handler.component.CollapseComponent.doProcess(CollapseComponent.java:98)
>>        at org.apache.solr.handler.component.CollapseComponent.process(CollapseComponent.java:66)
>>        at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:195)
>>        at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
>>        at org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.handleRequest(RequestHandlers.java:233)
>>        at org.apache.solr.core.SolrCore.execute(SolrCore.java:1316)
>>        at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)
>>        at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)
>>        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148)
>>        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387)
>>        at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>>        at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>>        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>>        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
>>        at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>>        at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>>        at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>>        at org.mortbay.jetty.Server.handle(Server.java:326)
>>        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
>>        at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:864)
>>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
>>        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
>>        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>>        at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>>        at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
>

Re: field collapsing bug (java.lang.ArrayIndexOutOfBoundsException)

Posted by Martijn v Groningen <ma...@gmail.com>.
Hi Joe,

Can you give a bit more context info? Like the exact search and the
field types you are using for example. Also are you doing a lot of
frequent updates to the index?

Cheers,

Martijn

2009/10/23 Joe Calderon <ca...@gmail.com>:
> seems to happen when sort on anything besides strictly score, even
> score desc, num desc triggers it, using latest nightly and 10/14 patch
>
> Problem accessing /solr/core1/select. Reason:
>
>    4731592
>
> java.lang.ArrayIndexOutOfBoundsException: 4731592
>        at org.apache.lucene.search.FieldComparator$StringOrdValComparator.copy(FieldComparator.java:660)
>        at org.apache.solr.search.NonAdjacentDocumentCollapser$DocumentComparator.compare(NonAdjacentDocumentCollapser.java:235)
>        at org.apache.solr.search.NonAdjacentDocumentCollapser$DocumentPriorityQueue.lessThan(NonAdjacentDocumentCollapser.java:173)
>        at org.apache.lucene.util.PriorityQueue.insertWithOverflow(PriorityQueue.java:158)
>        at org.apache.solr.search.NonAdjacentDocumentCollapser.doCollapsing(NonAdjacentDocumentCollapser.java:95)
>        at org.apache.solr.search.AbstractDocumentCollapser.collapse(AbstractDocumentCollapser.java:208)
>        at org.apache.solr.handler.component.CollapseComponent.doProcess(CollapseComponent.java:98)
>        at org.apache.solr.handler.component.CollapseComponent.process(CollapseComponent.java:66)
>        at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:195)
>        at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
>        at org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.handleRequest(RequestHandlers.java:233)
>        at org.apache.solr.core.SolrCore.execute(SolrCore.java:1316)
>        at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)
>        at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)
>        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148)
>        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387)
>        at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>        at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
>        at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>        at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>        at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>        at org.mortbay.jetty.Server.handle(Server.java:326)
>        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
>        at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:864)
>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
>        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
>        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>        at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>        at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)