The system.status command reports current status of the clsuter itself.
(Document Root)/droonga/system/statusGETNot supported.
type of the requestsystem.statusbody of the requesttype of the responsesystem.status.resultThis command has no parameter.
This command reports the list of nodes and their vital information. For example:
{
"type" : "system.status",
"body" : {}
}
=> {
"type" : "system.status.result",
"body" : {
"nodes": {
"192.168.0.10:10031/droonga": {
"status": "active"
},
"192.168.0.11:10031/droonga": {
"status": "dead"
}
},
"reporter": "192.168.0.10:49707/droonga @ 192.168.0.10:10031/droonga"
}
}
This returns a hash like following as the response’s body, with 200 as its statusCode.
{
"nodes" : {
"<Identifier of the node 1>" : {
"status" : "<Vital status of the node>"
},
"<Identifier of the node 2>" : { ... },
...
},
"reporter": "<Internal identifier of the reporter> @ <Identifier of the reporter node>"
}
nodescatalog.json, with the format: hostname:port/tag.
Each value indicates status information of corresponding node, and have following information:
statusactive:
The node is working, and in service.
Messages are delivered to it normally.inactive:
The node is working, but not in service temporarily.
Messages are not delivered to it just in time.
The node is ignored for read-only messages completely.
Messages modifying the database (like add) are buffered and delivered to the node after it is back to active.dead:
The node is not working permanently. For example, the service is down.Those statuses are relatively detected by each node.
For example, two nodes can detect themselves as active and detect as inactive each other, when they have different role.
reporterThis command reports general errors.