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

Aaron McCurry commented on BLUR-120:
------------------------------------

Yes resolve id is location id.

Ok, after taking a look at the code.  The Row isn't being fetched twice (in 
most cases) although at first glace it looks like it would be.  So in a full 
system Controllers plus Shard servers the controller doesn't send the Selector 
down with the query.  The reason it doesn't do this is for performance, because 
the controller doesn't know what the top N Rows to fetch are until it gets all 
the query responses from all the shards.  So instead it send a null selector to 
all the shard servers that find their top N locationIds and respond back to the 
controller with location ids.  Once the controller has fetched all the 
responses it calculates the top N rows to fetch and uses the location id to 
fetch the rows in using the fetchRow rpc method.  The controller does this in 
parallel in the convertToHits method.

The reason the second fetch method is there was because the shard server can be 
accessed directly.  This was the original method for fetching for a shard 
server, but as you pointed out it looks like it's being fetched twice.  And it 
might be when you access the shard server without a controller.  We should take 
look and see if it is in fact fetching twice and fix it.  As I review all of 
that code, it looks very ugly to me and is in need of some refactoring.


                
> Add an attribute to the BlurQueryStatus object to set when the status is not 
> found instead of throwing an exception.
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: BLUR-120
>                 URL: https://issues.apache.org/jira/browse/BLUR-120
>             Project: Apache Blur
>          Issue Type: Bug
>    Affects Versions: 0.2.0, 0.3.0
>            Reporter: Aaron McCurry
>             Fix For: 0.3.0
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to