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

Jamie Johnson commented on SOLR-2765:
-------------------------------------

{quote}
I don't follow this at all. Why would servers need to know about other servers?
{quote}

The searcher servers would need to be aware of the other searcher servers 
wouldn't they?  Assuming that a query could come into any one of those servers, 
they would all need to be aware of any other server which was acting as a 
searcher, right?

{quote}
This wouldn't be quite n^2 in any case. It could be order n for each change, 
but the constant factor would be quite small for reasonable clusters. The cost 
would be n^2/2 as the cluster came up, but even for 1000 nodes, this would 
clear in less than a minute which is much less time than it would take to 
actually bring the servers up.
{quote}

Right, each change would get replicated to the n servers watching that node.  
The total number of watchers is 1 for each node for each server, so n^2 total 
watchers.  As you say though the number of watch events triggered should be 
reasonable as a stable cluster will not have a significant amount of 
shards/slices going up and down during operation.  This seems to be an argument 
for not going with the summarized approach.  The amount of information pulled 
in this case would be much less compared to a summarized file as each searcher 
would need to pull the entire state instead of just 1 change.

{quote}
I still don't think that there would be any need for all servers to know about 
this. The clients need to know, but not the servers.

If you mean that a searcher serves as a query proxy between the clients and the 
servers, then you would require a notification to each search for each change. 
If you have k searchers and n nodes, bringing up the cluster would require k n 
/ 2 notifications. For 100 proxies and 1000 search nodes, this is a few seconds 
of ZK work. Again, this is much less than the time required to bring up so many 
nodes.
{quote}

You're right that all servers don't need to be aware of the cloud state, but 
the servers which are acting as searchers do (are there any other roles that 
also need to know?), I don't see any difference between them and any other 
client since they'll need to know about the other searchers to distribute the 
query.

{quote}
If you put server status into a single file, far fewer notifications would 
actually be sent because as the notifications are delayed, the watchers get 
delayed in being reset so you have natural quenching while still staying very 
nearly up to date.
{quote}

I see your point, to do something like this though we'd need to have some 
leader which was responsible for maintaining this state.  Wouldn't this still 
result in a large amount of data being pulled by the searchers for a very small 
change (i.e. 1 additional searcher being added).  I am guessing that your of 
the opinion that it would be negligible since the number of changes should be 
small so it would not pull that information very frequently (maybe just on 
startup)?  I'm not sure if that would be an issue or not, so I'm open for 
input.  The loggly guys ran into an issue with pulling the entire state but 
that may have been because the current implementation on trunk polls the state 
every 5 seconds for updates instead of using watchers. 

{quote}
Regarding putting the information about the collections available into the live 
nodes, I think that would be inefficient for the clients compared to putting it 
into a summarized file. For commanding the nodes, it is very bad practice to 
mix command and status files in ZK.
{quote}

Understood, I'll have to look at the leader task to see where it is at because 
that would be a blocker to this if we were to attempt to do some summarized 
file.

{quote}
I am a Zookeeper brother, btw. (PMC member and all that)
{quote}

Good to know, I am just a wanderer in this world so never sure who worships 
where ;)
                
> Shard/Node states
> -----------------
>
>                 Key: SOLR-2765
>                 URL: https://issues.apache.org/jira/browse/SOLR-2765
>             Project: Solr
>          Issue Type: Sub-task
>          Components: SolrCloud, update
>            Reporter: Yonik Seeley
>             Fix For: 4.0
>
>         Attachments: incremental_update.patch, shard-roles.patch
>
>
> Need state for shards that indicate they are recovering, active/enabled, or 
> disabled.

--
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]

Reply via email to