Hi , I am getting same exception as Ravi when using shard query containing elevated terms. I am using solr 4.0.0 stable version which is suppose to contain fix for this.
https://issues.apache.org/jira/browse/SOLR-2949 ava.lang.IndexOutOfBoundsException: Index: 1, Size: 0\n\tat java.util.ArrayList.RangeCheck(ArrayList.java:547)\n\tat java.util.ArrayList.get(ArrayList.java:322)\n\tat org.apache.solr.common.util.NamedList.getVal(NamedList.java:136)\n\tat org.apache.solr.handler.component.ShardFieldSortedHitQueue$ShardComparator.sortVal(ShardDoc.java:217)\n\tat org.apache.solr.handler.component.ShardFieldSortedHitQueue$2.compare(ShardDoc.java:255)\n\tat org.apache.solr.handler.component.ShardFieldSortedHitQueue.lessThan(ShardDoc.java:159)\n\tat org.apache.solr.handler.component.ShardFieldSortedHitQueue.lessThan(ShardDoc.java:101)\n\tat org.apache.lucene.util.PriorityQueue.insertWithOverflow(PriorityQueue.java:158)\n\tat org.apache.solr.handler.component.QueryComponent.mergeIds(QueryComponent.java:863)\n\tat org.apache.solr.handler.component.QueryComponent.handleRegularResponses(QueryComponent.java:626)\n\tat org.apache.solr.handler.component.QueryComponent.handleResponses(QueryComponent.java:605)\n\tat org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:309)\n\tat org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)\n\tat org.apache.solr.core.SolrCore.execute(SolrCore.java:1699)\n\tat org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:455)\n\tat org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:276)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)\n\tat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)\n\tat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)\n\tat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)\n\tat org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)\n\tat org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)\n\tat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)\n\tat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)\n\tat org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)\n\tat org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)\n\tat org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)\n\tat java.lang.Thread.run(Thread.java:662) On Sat, May 4, 2013 at 10:54 AM, varun srivastava <varunmail...@gmail.com>wrote: > Hi Ravi, > I am getting same probelm . You got any solution ? > > Thanks > Varun > > > On Fri, Mar 29, 2013 at 11:48 AM, Ravi Solr <ravis...@gmail.com> wrote: > >> Hello, >> We have a Solr 3.6.2 multicore setup, where each core is a complete >> index for one application. In our site search we use sharded query to >> query >> two cores at a time. The issue is, If one core has docs but other core >> doesn't for an elevated query solr is throwing a 500 error. I woudl really >> appreciate it if somebody can point me in the right direction on how to >> avoid this error, the following is my query >> >> >> [#|2013-03-29T13:44:55.609-0400|INFO|sun-appserver2.1|org.apache.solr.core.SolrCore|_ThreadID=22;_ThreadName=httpSSLWorkerThread-9001-0;|[core1] >> webapp=/solr path=/select/ >> >> params={q=civil+war&start=0&rows=10&shards=localhost:xxxx/solr/core1,localhost:xxxx/solr/core2&hl=true&hl.fragsize=0&hl.snippets=5&hl.simple.pre=<strong>&hl.simple.post=</strong>&hl.fl=body&fl=*&facet=true&facet.field=type&facet.mincount=1&facet.method=enum&fq=pubdate:[2005-01-01T00:00:00Z+TO+NOW/DAY%2B1DAY]&facet.query={!ex%3Ddt+key%3D"Past+24+Hours"}pubdate:[NOW/DAY-1DAY+TO+NOW/DAY%2B1DAY]&facet.query={!ex%3Ddt+key%3D"Past+7+Days"}pubdate:[NOW/DAY-7DAYS+TO+NOW/DAY%2B1DAY]&facet.query={!ex%3Ddt+key%3D"Past+60+Days"}pubdate:[NOW/DAY-60DAYS+TO+NOW/DAY%2B1DAY]&facet.query={!ex%3Ddt+key%3D"Past+12+Months"}pubdate:[NOW/DAY-1YEAR+TO+NOW/DAY%2B1DAY]&facet.query={!ex%3Ddt+key%3D"All+Since+2005"}pubdate:[*+TO+NOW/DAY%2B1DAY]} >> status=500 QTime=15 |#] >> >> >> As you can see the 2 cores are core1 and core2. The core1 has data for he >> query 'civil war' however core2 doesn't have any data. We have the 'civil >> war' in the elevate.xml which causes Solr to throw a SolrException as >> follows. However if I remove the elevate entry for this query, everything >> works well. >> >> *type* Status report >> >> *message*Index: 1, Size: 0 java.lang.IndexOutOfBoundsException: Index: 1, >> Size: 0 at java.util.ArrayList.RangeCheck(ArrayList.java:547) at >> java.util.ArrayList.get(ArrayList.java:322) at >> org.apache.solr.common.util.NamedList.getVal(NamedList.java:137) at >> >> org.apache.solr.handler.component.ShardFieldSortedHitQueue$ShardComparator.sortVal(ShardDoc.java:221) >> at >> >> org.apache.solr.handler.component.ShardFieldSortedHitQueue$2.compare(ShardDoc.java:260) >> at >> >> org.apache.solr.handler.component.ShardFieldSortedHitQueue.lessThan(ShardDoc.java:160) >> at >> >> org.apache.solr.handler.component.ShardFieldSortedHitQueue.lessThan(ShardDoc.java:101) >> at org.apache.lucene.util.PriorityQueue.upHeap(PriorityQueue.java:223) at >> org.apache.lucene.util.PriorityQueue.add(PriorityQueue.java:132) at >> >> org.apache.lucene.util.PriorityQueue.insertWithOverflow(PriorityQueue.java:148) >> at >> >> org.apache.solr.handler.component.QueryComponent.mergeIds(QueryComponent.java:786) >> at >> >> org.apache.solr.handler.component.QueryComponent.handleRegularResponses(QueryComponent.java:587) >> at >> >> org.apache.solr.handler.component.QueryComponent.handleResponses(QueryComponent.java:566) >> at >> >> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:283) >> at >> >> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129) >> at org.apache.solr.core.SolrCore.execute(SolrCore.java:1376) at >> >> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:365) >> at >> >> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:260) >> at >> >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) >> at >> >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) >> at >> >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:313) >> at >> >> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287) >> at >> >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218) >> at >> >> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) >> at >> >> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) >> at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) at >> >> com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98) >> at >> >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222) >> at >> >> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) >> at >> >> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) >> at >> >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587) >> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093) >> at >> >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166) >> at >> >> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) >> at >> >> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) >> at >> >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587) >> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093) >> at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291) >> at >> >> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:670) >> at >> >> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:601) >> at >> >> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:875) >> at >> >> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:365) >> at >> >> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:285) >> at >> >> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:221) >> at >> >> com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:393) >> at >> com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:269) >> at >> >> com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:111) >> >> >> Really appreciate any pointers on how to get rid of the error. >> >> >> Thanks, >> >> Ravi Kiran Bhaskar >> Principal Software Engineer >> Washington Post Digital >> 1150 15th Street NW, Washington, DC 20071 >> washingtonpost.com | mobile.twp.com >> > >