[
https://issues.apache.org/jira/browse/SOLR-3109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13203303#comment-13203303
]
Russell Black commented on SOLR-3109:
-------------------------------------
The patch changes this line of code in {{TopGroupsShardRequestFactory.java}}:
{code}
sreq.actualShards = new String[] {shard};
{code}
becomes
{code}
sreq.shards = new String[] {shard};
{code}
To see why this was a problem, look at {{SearchHandler.java}} line 249:
{code}
sreq.actualShards = sreq.shards // sets actualShards to null
if (sreq.actualShards==ShardRequest.ALL_SHARDS ) { //ALL_SHARDS is null
sreq.actualShards = rb.shards; // every shard!
}
{code}
This sets actualShards to null, which means send the request to *every* shard.
> 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
> Priority: Critical
> Labels: patch, performance
> Attachments: 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: [email protected]
For additional commands, e-mail: [email protected]