[
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