You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by Apache Wiki <wi...@apache.org> on 2012/11/06 23:53:10 UTC

[Solr Wiki] Update of "SolrCloud" by NickChase

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Solr Wiki" for change notification.

The "SolrCloud" page has been changed by NickChase:
http://wiki.apache.org/solr/SolrCloud?action=diff&rev1=73&rev2=74

Comment:
Corrected description of failover behavior in Example B to match actual observed behavior, confirmed by Erick Erickson on solr-user.

  
  Send this query multiple times and observe the logs from the solr servers.  From your web browser, you may need to hold down CTRL while clicking on the browser refresh button to bypass the HTTP caching in your browser.  You should be able to observe Solr load balancing the requests (done via LBHttpSolrServer ?) across shard replicas, using different servers to satisfy each request.  There will be a log statement for the top-level request in the server the browser sends the request to, and then a log statement for each sub-request that are merged to produce the complete response.
  
- To demonstrate fail over for high availability, go ahead and kill any one of the Solr servers (just press CTRL-C in the window running the server) and and send another query request to any of the remaining servers that are up.
+ To demonstrate fail-over for high availability, press CTRL-C in the window running any one of the Solr servers '''except the instance running ZooKeeper'''.  (We'll talk about ZooKeeper redundancy in Example C.)  Once that server instance terminates, send another query request to any of the remaining servers that are up.  You should continue to see the full results.
  
- To demonstrate graceful degraded behavior, kill all but one of the Solr servers (just press CTRL-C in the window running the server) and and send another query request to the remaining server. By default this will return 0 documents.  To return just the documents that are available in the shards that are still alive, add the following query parameter: shards.tolerant=true
+ SolrCloud can continue to serve results without interruption as long as at least one server hosts every shard.  You can demonstrate this by judiciously shutting down various instances and looking for results.  If you have killed all of the servers for a particular shard, requests to other servers will result in a 503 error.  To return just the documents that are available in the shards that are still alive (and avoid the error), add the following query parameter: shards.tolerant=true
  
  SolrCloud uses leaders and an overseer as an implementation detail. This means that some shards/replicas will play special roles. You don't need to worry if the instance you kill is a leader or the cluster overseer - if you happen to kill one of these, automatic fail over will choose new leaders or a new overseer transparently to the user and they will seamlessly takeover their respective jobs. Any Solr instance can be promoted to one of these roles.