REST API methods provide different node status

CB team,

I have a 6 node local cluster and one node’s data partition filled up. That particular node is in a ‘pending’ state when viewing the UI ‘/index.html#sec=servers&serversTab=0’. I checked the ‘/pools/nodes/’ API and the node is in a ‘warmup’ status:

status: “warmup”,

When I check the '/nodeStatuse’s API method all of the nodes return a ‘healthy’ status:

status: “healthy”,

Is the status returned from /nodeStatues’, different from the ‘/pools/nodes/’ status?



Those status fields are very different indeed. pools’ version takes into account readyness of buckets to take traffic (warmup state) and recency of heartbeat from nodes. While /nodeStatuses only takes into account recency of heartbeat.

They are different by design. And, clearly, using same name for them was not a good idea.

Thanks @alkondratenko. That makes sense.

Is there an RESTful API call that returns the status of an individual node as well as the readiness of buckets without having to loop through the ‘nodes’ list in the ‘/pools/nodes/’ payload?



If you want every bucket’s health on every node you can fetch /pools/default/buckets

But this is actually bad API (because it doesn’t allow us to scale number of buckets) and we may have to deprecate it sometime.