Explain the shard allocations Added in 5.0.0
Get explanations for shard allocations in the cluster. For unassigned shards, it provides an explanation for why the shard is unassigned. For assigned shards, it provides an explanation for why the shard is remaining on its current node and has not moved or rebalanced to another node. This API can be very useful when attempting to diagnose why a shard is unassigned or why a shard continues to remain on its current node when you might expect otherwise.
Query parameters
-
include_disk_info boolean
If true, returns information about disk usage and shard sizes.
-
include_yes_decisions boolean
If true, returns YES decisions in explanation.
Body
-
current_node string
Specifies the node ID or the name of the node to only explain a shard that is currently located on the specified node.
-
index string
-
primary boolean
If true, returns explanation for the primary shard for the given shard ID.
-
shard number
Specifies the ID of the shard that you would like an explanation for.
curl \
-X POST http://api.example.com/_cluster/allocation/explain \
-H "Content-Type: application/json" \
-d '"{\n \"index\": \"my-index-000001\",\n \"shard\": 0,\n \"primary\": false,\n \"current_node\": \"my-node\"\n}"'
{
"index": "my-index-000001",
"shard": 0,
"primary": false,
"current_node": "my-node"
}
{
"allocate_explanation": "string",
"allocation_delay": "string",
"": 42.0,
"can_allocate": "yes",
"can_move_to_other_node": "yes",
"can_rebalance_cluster": "yes",
"can_rebalance_cluster_decisions": [
{
"decider": "string",
"decision": "NO",
"explanation": "string"
}
],
"can_rebalance_to_other_node": "yes",
"can_remain_decisions": [
{
"decider": "string",
"decision": "NO",
"explanation": "string"
}
],
"can_remain_on_current_node": "yes",
"cluster_info": {
"nodes": {
"additionalProperty1": {
"node_name": "string",
"least_available": {
"path": "string",
"total_bytes": 42.0,
"used_bytes": 42.0,
"free_bytes": 42.0,
"free_disk_percent": 42.0,
"used_disk_percent": 42.0
},
"most_available": {
"path": "string",
"total_bytes": 42.0,
"used_bytes": 42.0,
"free_bytes": 42.0,
"free_disk_percent": 42.0,
"used_disk_percent": 42.0
}
},
"additionalProperty2": {
"node_name": "string",
"least_available": {
"path": "string",
"total_bytes": 42.0,
"used_bytes": 42.0,
"free_bytes": 42.0,
"free_disk_percent": 42.0,
"used_disk_percent": 42.0
},
"most_available": {
"path": "string",
"total_bytes": 42.0,
"used_bytes": 42.0,
"free_bytes": 42.0,
"free_disk_percent": 42.0,
"used_disk_percent": 42.0
}
}
},
"shard_sizes": {
"additionalProperty1": 42.0,
"additionalProperty2": 42.0
},
"shard_data_set_sizes": {
"additionalProperty1": "string",
"additionalProperty2": "string"
},
"shard_paths": {
"additionalProperty1": "string",
"additionalProperty2": "string"
},
"reserved_sizes": [
{
"node_id": "string",
"path": "string",
"total": 42.0,
"shards": [
"string"
]
}
]
},
"configured_delay": "string",
"current_node": {
"id": "string",
"name": "string",
"roles": [
"master"
],
"attributes": {
"additionalProperty1": "string",
"additionalProperty2": "string"
},
"transport_address": "string",
"weight_ranking": 42.0
},
"current_state": "string",
"index": "string",
"move_explanation": "string",
"node_allocation_decisions": [
{
"deciders": [
{
"decider": "string",
"decision": "NO",
"explanation": "string"
}
],
"node_attributes": {
"additionalProperty1": "string",
"additionalProperty2": "string"
},
"node_decision": "yes",
"node_id": "string",
"node_name": "string",
"roles": [
"master"
],
"store": {
"allocation_id": "string",
"found": true,
"in_sync": true,
"matching_size_in_bytes": 42.0,
"matching_sync_id": true,
"store_exception": "string"
},
"transport_address": "string",
"weight_ranking": 42.0
}
],
"primary": true,
"rebalance_explanation": "string",
"remaining_delay": "string",
"shard": 42.0,
"unassigned_info": {
"": "string",
"last_allocation_status": "string",
"reason": "INDEX_CREATED",
"details": "string",
"failed_allocation_attempts": 42.0,
"delayed": true,
"allocation_status": "string"
},
"note": "string"
}