On 9/22/2016 11:33 AM, jimtronic wrote: > Boxes 1,2, and 3 have replicas of collections dogs and cats. Box 4 has > only a replica of dogs. All of these boxes have a healthcheck file on > them that works with the PingRequestHandler to say whether the box is > up or not. If I hit Box4/cats/admin/ping, Solr forwards the ping > request to another box which returns with status OK. Is there anyway > to stop a box from forwarding a request to another node?
SolrCloud assures that as long as a node is functional, and the collection is whole *somewhere* in the cloud, requests will work, even if the node you're talking to has absolutely no data from that collection. What exactly are you trying to determine with your ping handler? If you're trying to check the status of the cores on each specific machine, that's not the way to do it. Try sending a request directly to the core (cats_shard1_replica1, for example) with distrib=false. That should remain entirely local. The core name will typically be different for every server that contains replicas for that collection, which can make automation difficult. You can get a list of cores for a machine with a call to the CoreAdmin API. To check whether the MACHINE is working, independent from any core or collection, use a request for something global, like the LIST command on the Collections API. A request to /solr/<collection>/admin/ping is a check to make sure the *collection* is working. It's reasonable in that scenario for SolrCloud to forward the request to wherever it needs to go, and to load balance the requests across the cloud -- that's what it is designed to do. If the request works, then the machine must be working ...but you can also be sure that the collection is working, wherever it might live. If you use "distrib=false" with a URL containing the *collection* name (instead of the specific core name), the distrib parameter is probably ignored, because satisfying a request sent to the collection name requires a distributed lookup in zookeeper data just to learn where the collection lives. I do not have a large enough cloud install to check whether this is true. Thanks, Shawn