Varun,
         Since our cores were totally disjoint i.e. they pertain to two
different applications which may or may not have results for a given query,
we moved the elavation outside of solr into our java code. As long as both
cores had some results to return for a given query elevation would work.

Thanks,

Ravi


On Sat, May 4, 2013 at 1:54 PM, 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
> >
>

Reply via email to