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 Jamie Johnson <je...@gmail.com> on 2012/02/16 18:42:39 UTC

Distributed Faceting Bug?

I am attempting to execute a query with the following parameters

q=*:*
distrib=true
facet=true
facet.limit=10
facet.field=manu
f.manu.facet.mincount=1
f.manu.facet.limit=10
f.manu.facet.sort=index
rows=10

When doing this I get the following exception

null  java.lang.ArrayIndexOutOfBoundsException

request: http://hostname:8983/solr/select
	at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:435)
	at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:244)
	at org.apache.solr.client.solrj.impl.LBHttpSolrServer.request(LBHttpSolrServer.java:249)
	at org.apache.solr.handler.component.HttpCommComponent$1.call(SearchHandler.java:517)
	at org.apache.solr.handler.component.HttpCommComponent$1.call(SearchHandler.java:482)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)

if I play with some of the parameters the query works as expected, i.e.

q=*:*
distrib=true
facet=true
facet.limit=10
facet.field=manu
f.manu.facet.mincount=1
f.manu.facet.limit=10
f.manu.facet.sort=index
rows=0

q=*:*
distrib=true
facet=true
facet.limit=10
facet.field=manu
f.manu.facet.mincount=1
f.manu.facet.limit=10
f.manu.facet.sort=count
rows=10

q=*:*
distrib=true
facet=true
facet.limit=10
facet.field=manu
f.manu.facet.mincount=1
f.manu.facet.sort=index
rows=10


I am running on an old snapshot of Solr, but will try this on a new
version relatively soon.  Unfortunately I can't duplicate locally so
I'm a bit baffled by the error.

All of the shards have the field which we are faceting on

Re: Distributed Faceting Bug?

Posted by Em <ma...@yahoo.de>.
Hi Jamie,

what version of Solr/SolrJ are you using?

Regards,
Em

Am 16.02.2012 18:42, schrieb Jamie Johnson:
> I am attempting to execute a query with the following parameters
> 
> q=*:*
> distrib=true
> facet=true
> facet.limit=10
> facet.field=manu
> f.manu.facet.mincount=1
> f.manu.facet.limit=10
> f.manu.facet.sort=index
> rows=10
> 
> When doing this I get the following exception
> 
> null  java.lang.ArrayIndexOutOfBoundsException
> 
> request: http://hostname:8983/solr/select
> 	at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:435)
> 	at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:244)
> 	at org.apache.solr.client.solrj.impl.LBHttpSolrServer.request(LBHttpSolrServer.java:249)
> 	at org.apache.solr.handler.component.HttpCommComponent$1.call(SearchHandler.java:517)
> 	at org.apache.solr.handler.component.HttpCommComponent$1.call(SearchHandler.java:482)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> 	at java.lang.Thread.run(Thread.java:662)
> 
> if I play with some of the parameters the query works as expected, i.e.
> 
> q=*:*
> distrib=true
> facet=true
> facet.limit=10
> facet.field=manu
> f.manu.facet.mincount=1
> f.manu.facet.limit=10
> f.manu.facet.sort=index
> rows=0
> 
> q=*:*
> distrib=true
> facet=true
> facet.limit=10
> facet.field=manu
> f.manu.facet.mincount=1
> f.manu.facet.limit=10
> f.manu.facet.sort=count
> rows=10
> 
> q=*:*
> distrib=true
> facet=true
> facet.limit=10
> facet.field=manu
> f.manu.facet.mincount=1
> f.manu.facet.sort=index
> rows=10
> 
> 
> I am running on an old snapshot of Solr, but will try this on a new
> version relatively soon.  Unfortunately I can't duplicate locally so
> I'm a bit baffled by the error.
> 
> All of the shards have the field which we are faceting on
> 

Re: Distributed Faceting Bug?

Posted by Jamie Johnson <je...@gmail.com>.
The issue appears to be that I put an empty array into the doc scores
instead of null in DocSlice.  DocSlice then just checks if scores is
null when hasScore is called which caused a further issue down the
line.  I'll follow up with anything else that I find along the way.

On Thu, Feb 16, 2012 at 3:05 PM, Jamie Johnson <je...@gmail.com> wrote:
> still digging ;)  Once I figure it out I'll be happy to share.
>
> On Thu, Feb 16, 2012 at 1:32 PM, Em <ma...@yahoo.de> wrote:
>> Hi Jamie,
>>
>> nice to hear.
>> Maybe you can share in what kind of bug you ran, so that other
>> developers with similar bugish components can benefit from your
>> experience. :)
>>
>> Regards,
>> Em
>>
>> Am 16.02.2012 19:23, schrieb Jamie Johnson:
>>> please ignore this, it has nothing to do with the faceting component.
>>> I was able to disable a custom component that I had and it worked
>>> perfectly fine.
>>>
>>>
>>> On Thu, Feb 16, 2012 at 12:42 PM, Jamie Johnson <je...@gmail.com> wrote:
>>>> I am attempting to execute a query with the following parameters
>>>>
>>>> q=*:*
>>>> distrib=true
>>>> facet=true
>>>> facet.limit=10
>>>> facet.field=manu
>>>> f.manu.facet.mincount=1
>>>> f.manu.facet.limit=10
>>>> f.manu.facet.sort=index
>>>> rows=10
>>>>
>>>> When doing this I get the following exception
>>>>
>>>> null  java.lang.ArrayIndexOutOfBoundsException
>>>>
>>>> request: http://hostname:8983/solr/select
>>>>        at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:435)
>>>>        at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:244)
>>>>        at org.apache.solr.client.solrj.impl.LBHttpSolrServer.request(LBHttpSolrServer.java:249)
>>>>        at org.apache.solr.handler.component.HttpCommComponent$1.call(SearchHandler.java:517)
>>>>        at org.apache.solr.handler.component.HttpCommComponent$1.call(SearchHandler.java:482)
>>>>        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>>>        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>>>        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>>>>        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>>>        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>>>        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>>        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>>        at java.lang.Thread.run(Thread.java:662)
>>>>
>>>> if I play with some of the parameters the query works as expected, i.e.
>>>>
>>>> q=*:*
>>>> distrib=true
>>>> facet=true
>>>> facet.limit=10
>>>> facet.field=manu
>>>> f.manu.facet.mincount=1
>>>> f.manu.facet.limit=10
>>>> f.manu.facet.sort=index
>>>> rows=0
>>>>
>>>> q=*:*
>>>> distrib=true
>>>> facet=true
>>>> facet.limit=10
>>>> facet.field=manu
>>>> f.manu.facet.mincount=1
>>>> f.manu.facet.limit=10
>>>> f.manu.facet.sort=count
>>>> rows=10
>>>>
>>>> q=*:*
>>>> distrib=true
>>>> facet=true
>>>> facet.limit=10
>>>> facet.field=manu
>>>> f.manu.facet.mincount=1
>>>> f.manu.facet.sort=index
>>>> rows=10
>>>>
>>>>
>>>> I am running on an old snapshot of Solr, but will try this on a new
>>>> version relatively soon.  Unfortunately I can't duplicate locally so
>>>> I'm a bit baffled by the error.
>>>>
>>>> All of the shards have the field which we are faceting on
>>>

Re: Distributed Faceting Bug?

Posted by Jamie Johnson <je...@gmail.com>.
still digging ;)  Once I figure it out I'll be happy to share.

On Thu, Feb 16, 2012 at 1:32 PM, Em <ma...@yahoo.de> wrote:
> Hi Jamie,
>
> nice to hear.
> Maybe you can share in what kind of bug you ran, so that other
> developers with similar bugish components can benefit from your
> experience. :)
>
> Regards,
> Em
>
> Am 16.02.2012 19:23, schrieb Jamie Johnson:
>> please ignore this, it has nothing to do with the faceting component.
>> I was able to disable a custom component that I had and it worked
>> perfectly fine.
>>
>>
>> On Thu, Feb 16, 2012 at 12:42 PM, Jamie Johnson <je...@gmail.com> wrote:
>>> I am attempting to execute a query with the following parameters
>>>
>>> q=*:*
>>> distrib=true
>>> facet=true
>>> facet.limit=10
>>> facet.field=manu
>>> f.manu.facet.mincount=1
>>> f.manu.facet.limit=10
>>> f.manu.facet.sort=index
>>> rows=10
>>>
>>> When doing this I get the following exception
>>>
>>> null  java.lang.ArrayIndexOutOfBoundsException
>>>
>>> request: http://hostname:8983/solr/select
>>>        at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:435)
>>>        at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:244)
>>>        at org.apache.solr.client.solrj.impl.LBHttpSolrServer.request(LBHttpSolrServer.java:249)
>>>        at org.apache.solr.handler.component.HttpCommComponent$1.call(SearchHandler.java:517)
>>>        at org.apache.solr.handler.component.HttpCommComponent$1.call(SearchHandler.java:482)
>>>        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>>        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>>        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>>>        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>>        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>>        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>        at java.lang.Thread.run(Thread.java:662)
>>>
>>> if I play with some of the parameters the query works as expected, i.e.
>>>
>>> q=*:*
>>> distrib=true
>>> facet=true
>>> facet.limit=10
>>> facet.field=manu
>>> f.manu.facet.mincount=1
>>> f.manu.facet.limit=10
>>> f.manu.facet.sort=index
>>> rows=0
>>>
>>> q=*:*
>>> distrib=true
>>> facet=true
>>> facet.limit=10
>>> facet.field=manu
>>> f.manu.facet.mincount=1
>>> f.manu.facet.limit=10
>>> f.manu.facet.sort=count
>>> rows=10
>>>
>>> q=*:*
>>> distrib=true
>>> facet=true
>>> facet.limit=10
>>> facet.field=manu
>>> f.manu.facet.mincount=1
>>> f.manu.facet.sort=index
>>> rows=10
>>>
>>>
>>> I am running on an old snapshot of Solr, but will try this on a new
>>> version relatively soon.  Unfortunately I can't duplicate locally so
>>> I'm a bit baffled by the error.
>>>
>>> All of the shards have the field which we are faceting on
>>

Re: Distributed Faceting Bug?

Posted by Em <ma...@yahoo.de>.
Hi Jamie,

nice to hear.
Maybe you can share in what kind of bug you ran, so that other
developers with similar bugish components can benefit from your
experience. :)

Regards,
Em

Am 16.02.2012 19:23, schrieb Jamie Johnson:
> please ignore this, it has nothing to do with the faceting component.
> I was able to disable a custom component that I had and it worked
> perfectly fine.
> 
> 
> On Thu, Feb 16, 2012 at 12:42 PM, Jamie Johnson <je...@gmail.com> wrote:
>> I am attempting to execute a query with the following parameters
>>
>> q=*:*
>> distrib=true
>> facet=true
>> facet.limit=10
>> facet.field=manu
>> f.manu.facet.mincount=1
>> f.manu.facet.limit=10
>> f.manu.facet.sort=index
>> rows=10
>>
>> When doing this I get the following exception
>>
>> null  java.lang.ArrayIndexOutOfBoundsException
>>
>> request: http://hostname:8983/solr/select
>>        at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:435)
>>        at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:244)
>>        at org.apache.solr.client.solrj.impl.LBHttpSolrServer.request(LBHttpSolrServer.java:249)
>>        at org.apache.solr.handler.component.HttpCommComponent$1.call(SearchHandler.java:517)
>>        at org.apache.solr.handler.component.HttpCommComponent$1.call(SearchHandler.java:482)
>>        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>>        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>        at java.lang.Thread.run(Thread.java:662)
>>
>> if I play with some of the parameters the query works as expected, i.e.
>>
>> q=*:*
>> distrib=true
>> facet=true
>> facet.limit=10
>> facet.field=manu
>> f.manu.facet.mincount=1
>> f.manu.facet.limit=10
>> f.manu.facet.sort=index
>> rows=0
>>
>> q=*:*
>> distrib=true
>> facet=true
>> facet.limit=10
>> facet.field=manu
>> f.manu.facet.mincount=1
>> f.manu.facet.limit=10
>> f.manu.facet.sort=count
>> rows=10
>>
>> q=*:*
>> distrib=true
>> facet=true
>> facet.limit=10
>> facet.field=manu
>> f.manu.facet.mincount=1
>> f.manu.facet.sort=index
>> rows=10
>>
>>
>> I am running on an old snapshot of Solr, but will try this on a new
>> version relatively soon.  Unfortunately I can't duplicate locally so
>> I'm a bit baffled by the error.
>>
>> All of the shards have the field which we are faceting on
> 

Re: Distributed Faceting Bug?

Posted by Jamie Johnson <je...@gmail.com>.
please ignore this, it has nothing to do with the faceting component.
I was able to disable a custom component that I had and it worked
perfectly fine.


On Thu, Feb 16, 2012 at 12:42 PM, Jamie Johnson <je...@gmail.com> wrote:
> I am attempting to execute a query with the following parameters
>
> q=*:*
> distrib=true
> facet=true
> facet.limit=10
> facet.field=manu
> f.manu.facet.mincount=1
> f.manu.facet.limit=10
> f.manu.facet.sort=index
> rows=10
>
> When doing this I get the following exception
>
> null  java.lang.ArrayIndexOutOfBoundsException
>
> request: http://hostname:8983/solr/select
>        at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:435)
>        at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:244)
>        at org.apache.solr.client.solrj.impl.LBHttpSolrServer.request(LBHttpSolrServer.java:249)
>        at org.apache.solr.handler.component.HttpCommComponent$1.call(SearchHandler.java:517)
>        at org.apache.solr.handler.component.HttpCommComponent$1.call(SearchHandler.java:482)
>        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>        at java.lang.Thread.run(Thread.java:662)
>
> if I play with some of the parameters the query works as expected, i.e.
>
> q=*:*
> distrib=true
> facet=true
> facet.limit=10
> facet.field=manu
> f.manu.facet.mincount=1
> f.manu.facet.limit=10
> f.manu.facet.sort=index
> rows=0
>
> q=*:*
> distrib=true
> facet=true
> facet.limit=10
> facet.field=manu
> f.manu.facet.mincount=1
> f.manu.facet.limit=10
> f.manu.facet.sort=count
> rows=10
>
> q=*:*
> distrib=true
> facet=true
> facet.limit=10
> facet.field=manu
> f.manu.facet.mincount=1
> f.manu.facet.sort=index
> rows=10
>
>
> I am running on an old snapshot of Solr, but will try this on a new
> version relatively soon.  Unfortunately I can't duplicate locally so
> I'm a bit baffled by the error.
>
> All of the shards have the field which we are faceting on