[ 
https://issues.apache.org/jira/browse/SOLR-3109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13204362#comment-13204362
 ] 

Martijn van Groningen edited comment on SOLR-3109 at 2/9/12 9:11 AM:
---------------------------------------------------------------------

Thanks for the refactoring!

{quote}
The bug is in the data structure used to map search groups to the shards which 
contain them. ResponseBuilder.searchGroupToShard assumes that a given search 
group only resides on one shard. I could not find this assumption documented 
anywhere, nor can I find a reason such a restriction need be imposed.
{quote}
There is no such restriction. A search group can reside on more than one shard. 
I wonder why this issue didn't result in test failure / bugs from the 
beginning. I guess b/c of the redundant requests all shards were queried and 
this way the end result was still correct. At least the latest patch I added 
should have resulted in a test failure but it didn't. Can you share how you did 
this testing? This can then be added to the TestDistributedGrouping test class.
                
      was (Author: martijn.v.groningen):
    Thanks for the refactoring!

{quote}
The bug is in the data structure used to map search groups to the shards which 
contain them. ResponseBuilder.searchGroupToShard assumes that a given search 
group only resides on one shard. I could not find this assumption documented 
anywhere, nor can I find a reason such a restriction need be imposed.
{quote}
There is not such restriction. A search group can reside on more than one 
shard. I wonder why this issue didn't result in test failure / bugs from the 
beginning. I guess b/c of the redundant requests all shards were queried and 
this way the end result was still correct. At least the latest patch I added 
should have resulted in a test failure but it didn't. Can you share how you did 
this testing? This can then be added to the TestDistributedGrouping test class.
                  
> group=true requests result in numerous redundant shard requests
> ---------------------------------------------------------------
>
>                 Key: SOLR-3109
>                 URL: https://issues.apache.org/jira/browse/SOLR-3109
>             Project: Solr
>          Issue Type: Bug
>          Components: search
>    Affects Versions: 3.5, 4.0
>         Environment: 64-bit Linux, sharded environment
>            Reporter: Russell Black
>            Assignee: Martijn van Groningen
>            Priority: Critical
>              Labels: patch, performance
>         Attachments: SOLR-3109.patch, SOLR-3109.patch, SOLR-3109.patch
>
>
> During the second phase of a group query, the collator sends a query to each 
> of the shards.  The purpose of this query is for shards to respond with the 
> doc ids that match the set of group ids returned from the first phase.  The 
> problem is that it sends this second query to each shard multiple times.  
> Specifically, in an environment with n shards, each shard will be hit with an 
> identical query n times during the second phase of query processing, 
> resulting in O(_n_ ^2^) performance where _n_ is the number of shards.
> I have traced this bug down to a single line in 
> {{TopGroupsShardRequestFactory.java}}, and I am attaching a patch. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to