Add documentation for shard store output in allocation explain API

Relates to #17689
This commit is contained in:
Lee Hinman 2016-05-03 09:51:15 -06:00
parent 85d2fc0e38
commit 5648253d45
1 changed files with 42 additions and 12 deletions

View File

@ -34,15 +34,21 @@ The response looks like:
"reason" : "INDEX_CREATED", <2> "reason" : "INDEX_CREATED", <2>
"at" : "2016-03-22T20:04:23.620Z" "at" : "2016-03-22T20:04:23.620Z"
}, },
"nodes" : { <3> "allocation_delay_ms" : 0, <3>
"remaining_delay_ms" : 0, <4>
"nodes" : {
"V-Spi0AyRZ6ZvKbaI3691w" : { "V-Spi0AyRZ6ZvKbaI3691w" : {
"node_name" : "node1", "node_name" : "node1",
"node_attributes" : { <4> "node_attributes" : { <5>
"bar" : "baz" "bar" : "baz"
}, },
"final_decision" : "NO", <5> "store" : {
"weight" : 0.06666675, <6> "shard_copy" : "NONE" <6>
"decisions" : [ { <7> },
"final_decision" : "NO", <7>
"final_explanation" : "the shard cannot be assigned because one or more allocation decider returns a 'NO' decision",
"weight" : 0.06666675, <8>
"decisions" : [ { <9>
"decider" : "filter", "decider" : "filter",
"decision" : "NO", "decision" : "NO",
"explanation" : "node does not match index include filters [foo:\"bar\"]" "explanation" : "node does not match index include filters [foo:\"bar\"]"
@ -54,7 +60,11 @@ The response looks like:
"bar" : "baz", "bar" : "baz",
"foo" : "bar" "foo" : "bar"
}, },
"store" : {
"shard_copy" : "AVAILABLE"
},
"final_decision" : "NO", "final_decision" : "NO",
"final_explanation" : "the shard cannot be assigned because one or more allocation decider returns a 'NO' decision",
"weight" : -1.3833332, "weight" : -1.3833332,
"decisions" : [ { "decisions" : [ {
"decider" : "same_shard", "decider" : "same_shard",
@ -65,7 +75,11 @@ The response looks like:
"PzdyMZGXQdGhqTJHF_hGgA" : { "PzdyMZGXQdGhqTJHF_hGgA" : {
"node_name" : "node3", "node_name" : "node3",
"node_attributes" : { }, "node_attributes" : { },
"store" : {
"shard_copy" : "NONE"
},
"final_decision" : "NO", "final_decision" : "NO",
"final_explanation" : "the shard cannot be assigned because one or more allocation decider returns a 'NO' decision",
"weight" : 2.3166666, "weight" : 2.3166666,
"decisions" : [ { "decisions" : [ {
"decider" : "filter", "decider" : "filter",
@ -78,11 +92,13 @@ The response looks like:
-------------------------------------------------- --------------------------------------------------
<1> Whether the shard is assigned or unassigned <1> Whether the shard is assigned or unassigned
<2> Reason for the shard originally becoming unassigned <2> Reason for the shard originally becoming unassigned
<3> List of node decisions about the shard <3> Configured delay before the shard can be allocated
<4> User-added attributes the node has <4> Remaining delay before the shard can be allocated
<5> Final decision for whether the shard is allowed to be allocated to this node <5> User-added attributes the node has
<6> Weight for how much the allocator would like to allocate the shard to this node <6> The shard copy information for this node and error (if applicable)
<7> List of decisions factoring into final decision <7> Final decision and explanation of whether the shard can be allocated to this node
<8> Weight for how much the allocator would like to allocate the shard to this node
<9> List of node decisions factoring into final decision about the shard
For a shard that is already assigned, the output looks similar to: For a shard that is already assigned, the output looks similar to:
@ -97,13 +113,19 @@ For a shard that is already assigned, the output looks similar to:
}, },
"assigned" : true, "assigned" : true,
"assigned_node_id" : "Qc6VL8c5RWaw1qXZ0Rg57g", <1> "assigned_node_id" : "Qc6VL8c5RWaw1qXZ0Rg57g", <1>
"allocation_delay_ms" : 0,
"remaining_delay_ms" : 0,
"nodes" : { "nodes" : {
"V-Spi0AyRZ6ZvKbaI3691w" : { "V-Spi0AyRZ6ZvKbaI3691w" : {
"node_name" : "Susan Storm", "node_name" : "Susan Storm",
"node_attributes" : { "node_attributes" : {
"bar" : "baz" "bar" : "baz"
}, },
"store" : {
"shard_copy" : "NONE"
},
"final_decision" : "NO", "final_decision" : "NO",
"final_explanation" : "the shard cannot be assigned because one or more allocation decider returns a 'NO' decision",
"weight" : 1.4499999, "weight" : 1.4499999,
"decisions" : [ { "decisions" : [ {
"decider" : "filter", "decider" : "filter",
@ -117,7 +139,11 @@ For a shard that is already assigned, the output looks similar to:
"bar" : "baz", "bar" : "baz",
"foo" : "bar" "foo" : "bar"
}, },
"final_decision" : "CURRENTLY_ASSIGNED", <2> "store" : {
"shard_copy" : "AVAILABLE"
},
"final_decision" : "ALREADY_ASSIGNED", <2>
"final_explanation" : "the shard is already assigned to this node",
"weight" : 0.0, "weight" : 0.0,
"decisions" : [ { "decisions" : [ {
"decider" : "same_shard", "decider" : "same_shard",
@ -128,7 +154,11 @@ For a shard that is already assigned, the output looks similar to:
"PzdyMZGXQdGhqTJHF_hGgA" : { "PzdyMZGXQdGhqTJHF_hGgA" : {
"node_name" : "The Symbiote", "node_name" : "The Symbiote",
"node_attributes" : { }, "node_attributes" : { },
"store" : {
"shard_copy" : "NONE"
},
"final_decision" : "NO", "final_decision" : "NO",
"final_explanation" : "the shard cannot be assigned because one or more allocation decider returns a 'NO' decision",
"weight" : 3.6999998, "weight" : 3.6999998,
"decisions" : [ { "decisions" : [ {
"decider" : "filter", "decider" : "filter",
@ -140,7 +170,7 @@ For a shard that is already assigned, the output looks similar to:
} }
-------------------------------------------------- --------------------------------------------------
<1> Node the shard is currently assigned to <1> Node the shard is currently assigned to
<2> The decision is "CURRENTLY_ASSIGNED" because the shard is currently assigned to this node <2> The decision is "ALREADY_ASSIGNED" because the shard is currently assigned to this node
You can also have Elasticsearch explain the allocation of the first unassigned You can also have Elasticsearch explain the allocation of the first unassigned
shard it finds by sending an empty body, such as: shard it finds by sending an empty body, such as: