Re: Getting 500s on distributed queries with SolrCloud

2014-03-24 Thread Shalin Shekhar Mangar
The Grouping feature only works if groups are in the same shard.
Perhaps that is the problem here?

I could find https://issues.apache.org/jira/browse/SOLR-4164 which
says that once the sharding was fixed, the problem went away. We
should come up with a better exception message though.

On Fri, Mar 21, 2014 at 10:49 PM, Ugo Matrangolo
ugo.matrang...@gmail.com wrote:
 Hi,

 I have a two shard collection running and I'm getting this error on each
 query:

 2014-03-21 17:08:42,018 [qtp-75] ERROR
 org.apache.solr.servlet.SolrDispatchFilter  -
 *null:java.lang.IllegalArgumentException:
 numHits must be  0; please use TotalHitCountCollector if you just need the
 total hit count*
 at
 org.apache.lucene.search.TopFieldCollector.create(TopFieldCollector.java:1130)
 at
 org.apache.lucene.search.TopFieldCollector.create(TopFieldCollector.java:1079)
 at
 org.apache.lucene.search.grouping.AbstractSecondPassGroupingCollector.init(AbstractSecondPassGroupingCollector.java:75)
 at
 org.apache.lucene.search.grouping.term.TermSecondPassGroupingCollector.init(TermSecondPassGroupingCollector.java:49)
 at
 org.apache.solr.search.grouping.distributed.command.TopGroupsFieldCommand.create(TopGroupsFieldCommand.java:129)
 at
 org.apache.solr.search.grouping.CommandHandler.execute(CommandHandler.java:142)
 at
 org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:387)
 at
 org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:214)
 at
 org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
 at org.apache.solr.core.SolrCore.execute(SolrCore.java:1916)
 at
 org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:780)

 Note that I'm using grouping and disabling it fixed the problem.

 I was aware that SolrCloud does not fully supports grouping in a
 distributed setup but I was expecting incorrect results (that have to
 addressed with custom hashing afaik) and not an error.

 Does anyone see this error before?

 Ugo



-- 
Regards,
Shalin Shekhar Mangar.


Re: Getting 500s on distributed queries with SolrCloud

2014-03-24 Thread Ugo Matrangolo
Hi Shalin,

Thank you for your answer.

I'm already using custom hashing to make sure all the docs that are going
to be grouped together are on the same shard. During index I make sure the
uniqueKey is something like:

productId!skuId

so all the skus belonging to the same product will end up on the same
shard. At query time I will then group on the product id (I want all the
skus grouped by their owning product).

While working correctly the above did not fix the problem :/

What I have found by selectively switching off my grouping instructions to
SOLR is that the problem is in the

  group.limit=-1

that I append to each query.

This query (with all the skus sharing the same product sharded correctly on
the same shard) does not work:

 http://localhost:9766/skus/product_looks_for_sale?

 q=newsaledistrib=truefl=doc_id,%20idgroup=true*group.limit=-1*

while this works fine:

  http://localhost:9766/skus/product_looks_for_sale?
  q=new-salestart=0distrib=truefl=doc_id,%20idgroup=true
*group.limit=100*

AFAIK the -1 is only yo tell SOLR to give back all the matching docs in a
group so given that I do not think I will have more than 100s skus in a
single product I'm going to fix this issue setting the limit to 100.

Would be nice to know why the -1 makes the query fail anyway :)

Any thought ?

Thank you,
Ugo



On Mon, Mar 24, 2014 at 6:30 AM, Shalin Shekhar Mangar 
shalinman...@gmail.com wrote:

 The Grouping feature only works if groups are in the same shard.
 Perhaps that is the problem here?

 I could find https://issues.apache.org/jira/browse/SOLR-4164 which
 says that once the sharding was fixed, the problem went away. We
 should come up with a better exception message though.

 On Fri, Mar 21, 2014 at 10:49 PM, Ugo Matrangolo
 ugo.matrang...@gmail.com wrote:
  Hi,
 
  I have a two shard collection running and I'm getting this error on each
  query:
 
  2014-03-21 17:08:42,018 [qtp-75] ERROR
  org.apache.solr.servlet.SolrDispatchFilter  -
  *null:java.lang.IllegalArgumentException:
  numHits must be  0; please use TotalHitCountCollector if you just need
 the
  total hit count*
  at
 
 org.apache.lucene.search.TopFieldCollector.create(TopFieldCollector.java:1130)
  at
 
 org.apache.lucene.search.TopFieldCollector.create(TopFieldCollector.java:1079)
  at
 
 org.apache.lucene.search.grouping.AbstractSecondPassGroupingCollector.init(AbstractSecondPassGroupingCollector.java:75)
  at
 
 org.apache.lucene.search.grouping.term.TermSecondPassGroupingCollector.init(TermSecondPassGroupingCollector.java:49)
  at
 
 org.apache.solr.search.grouping.distributed.command.TopGroupsFieldCommand.create(TopGroupsFieldCommand.java:129)
  at
 
 org.apache.solr.search.grouping.CommandHandler.execute(CommandHandler.java:142)
  at
 
 org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:387)
  at
 
 org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:214)
  at
 
 org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
  at org.apache.solr.core.SolrCore.execute(SolrCore.java:1916)
  at
 
 org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:780)
 
  Note that I'm using grouping and disabling it fixed the problem.
 
  I was aware that SolrCloud does not fully supports grouping in a
  distributed setup but I was expecting incorrect results (that have to
  addressed with custom hashing afaik) and not an error.
 
  Does anyone see this error before?
 
  Ugo



 --
 Regards,
 Shalin Shekhar Mangar.