Documentation ¶
Overview ¶
Explain the shard allocations. 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.
Index ¶
- Variables
- type AllocationExplain
- func (r *AllocationExplain) CurrentNode(currentnode string) *AllocationExplain
- func (r AllocationExplain) Do(providedCtx context.Context) (*Response, error)
- func (r *AllocationExplain) ErrorTrace(errortrace bool) *AllocationExplain
- func (r *AllocationExplain) FilterPath(filterpaths ...string) *AllocationExplain
- func (r *AllocationExplain) Header(key, value string) *AllocationExplain
- func (r *AllocationExplain) HttpRequest(ctx context.Context) (*http.Request, error)
- func (r *AllocationExplain) Human(human bool) *AllocationExplain
- func (r *AllocationExplain) IncludeDiskInfo(includediskinfo bool) *AllocationExplain
- func (r *AllocationExplain) IncludeYesDecisions(includeyesdecisions bool) *AllocationExplain
- func (r *AllocationExplain) Index(indexname string) *AllocationExplain
- func (r AllocationExplain) Perform(providedCtx context.Context) (*http.Response, error)
- func (r *AllocationExplain) Pretty(pretty bool) *AllocationExplain
- func (r *AllocationExplain) Primary(primary bool) *AllocationExplain
- func (r *AllocationExplain) Raw(raw io.Reader) *AllocationExplain
- func (r *AllocationExplain) Request(req *Request) *AllocationExplain
- func (r *AllocationExplain) Shard(shard int) *AllocationExplain
- type NewAllocationExplain
- type Request
- type Response
Constants ¶
This section is empty.
Variables ¶
var ErrBuildPath = errors.New("cannot build path, check for missing path parameters")
ErrBuildPath is returned in case of missing parameters within the build of the request.
Functions ¶
This section is empty.
Types ¶
type AllocationExplain ¶
type AllocationExplain struct {
// contains filtered or unexported fields
}
func New ¶
func New(tp elastictransport.Interface) *AllocationExplain
Explain the shard allocations. 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.
https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-allocation-explain.html
func (*AllocationExplain) CurrentNode ¶ added in v8.9.0
func (r *AllocationExplain) CurrentNode(currentnode string) *AllocationExplain
CurrentNode Specifies the node ID or the name of the node to only explain a shard that is currently located on the specified node. API name: current_node
func (AllocationExplain) Do ¶
func (r AllocationExplain) Do(providedCtx context.Context) (*Response, error)
Do runs the request through the transport, handle the response and returns a allocationexplain.Response
func (*AllocationExplain) ErrorTrace ¶ added in v8.14.0
func (r *AllocationExplain) ErrorTrace(errortrace bool) *AllocationExplain
ErrorTrace When set to `true` Elasticsearch will include the full stack trace of errors when they occur. API name: error_trace
func (*AllocationExplain) FilterPath ¶ added in v8.14.0
func (r *AllocationExplain) FilterPath(filterpaths ...string) *AllocationExplain
FilterPath Comma-separated list of filters in dot notation which reduce the response returned by Elasticsearch. API name: filter_path
func (*AllocationExplain) Header ¶
func (r *AllocationExplain) Header(key, value string) *AllocationExplain
Header set a key, value pair in the AllocationExplain headers map.
func (*AllocationExplain) HttpRequest ¶
HttpRequest returns the http.Request object built from the given parameters.
func (*AllocationExplain) Human ¶ added in v8.14.0
func (r *AllocationExplain) Human(human bool) *AllocationExplain
Human When set to `true` will return statistics in a format suitable for humans. For example `"exists_time": "1h"` for humans and `"eixsts_time_in_millis": 3600000` for computers. When disabled the human readable values will be omitted. This makes sense for responses being consumed only by machines. API name: human
func (*AllocationExplain) IncludeDiskInfo ¶
func (r *AllocationExplain) IncludeDiskInfo(includediskinfo bool) *AllocationExplain
IncludeDiskInfo If true, returns information about disk usage and shard sizes. API name: include_disk_info
func (*AllocationExplain) IncludeYesDecisions ¶
func (r *AllocationExplain) IncludeYesDecisions(includeyesdecisions bool) *AllocationExplain
IncludeYesDecisions If true, returns YES decisions in explanation. API name: include_yes_decisions
func (*AllocationExplain) Index ¶ added in v8.9.0
func (r *AllocationExplain) Index(indexname string) *AllocationExplain
Index Specifies the name of the index that you would like an explanation for. API name: index
func (AllocationExplain) Perform ¶ added in v8.7.0
Perform runs the http.Request through the provided transport and returns an http.Response.
func (*AllocationExplain) Pretty ¶ added in v8.14.0
func (r *AllocationExplain) Pretty(pretty bool) *AllocationExplain
Pretty If set to `true` the returned JSON will be "pretty-formatted". Only use this option for debugging only. API name: pretty
func (*AllocationExplain) Primary ¶ added in v8.9.0
func (r *AllocationExplain) Primary(primary bool) *AllocationExplain
Primary If true, returns explanation for the primary shard for the given shard ID. API name: primary
func (*AllocationExplain) Raw ¶
func (r *AllocationExplain) Raw(raw io.Reader) *AllocationExplain
Raw takes a json payload as input which is then passed to the http.Request If specified Raw takes precedence on Request method.
func (*AllocationExplain) Request ¶
func (r *AllocationExplain) Request(req *Request) *AllocationExplain
Request allows to set the request property with the appropriate payload.
func (*AllocationExplain) Shard ¶ added in v8.9.0
func (r *AllocationExplain) Shard(shard int) *AllocationExplain
Shard Specifies the ID of the shard that you would like an explanation for. API name: shard
type NewAllocationExplain ¶
type NewAllocationExplain func() *AllocationExplain
NewAllocationExplain type alias for index.
func NewAllocationExplainFunc ¶
func NewAllocationExplainFunc(tp elastictransport.Interface) NewAllocationExplain
NewAllocationExplainFunc returns a new instance of AllocationExplain with the provided transport. Used in the index of the library this allows to retrieve every apis in once place.
type Request ¶
type Request struct { // CurrentNode Specifies the node ID or the name of the node to only explain a shard that is // currently located on the specified node. CurrentNode *string `json:"current_node,omitempty"` // Index Specifies the name of the index that you would like an explanation for. Index *string `json:"index,omitempty"` // Primary If true, returns explanation for the primary shard for the given shard ID. Primary *bool `json:"primary,omitempty"` // Shard Specifies the ID of the shard that you would like an explanation for. Shard *int `json:"shard,omitempty"` }
Request holds the request body struct for the package allocationexplain
func (*Request) FromJSON ¶ added in v8.5.0
FromJSON allows to load an arbitrary json into the request structure
func (*Request) UnmarshalJSON ¶ added in v8.12.1
type Response ¶ added in v8.7.0
type Response struct { AllocateExplanation *string `json:"allocate_explanation,omitempty"` AllocationDelay types.Duration `json:"allocation_delay,omitempty"` AllocationDelayInMillis *int64 `json:"allocation_delay_in_millis,omitempty"` CanAllocate *decision.Decision `json:"can_allocate,omitempty"` CanMoveToOtherNode *decision.Decision `json:"can_move_to_other_node,omitempty"` CanRebalanceCluster *decision.Decision `json:"can_rebalance_cluster,omitempty"` CanRebalanceClusterDecisions []types.AllocationDecision `json:"can_rebalance_cluster_decisions,omitempty"` CanRebalanceToOtherNode *decision.Decision `json:"can_rebalance_to_other_node,omitempty"` CanRemainDecisions []types.AllocationDecision `json:"can_remain_decisions,omitempty"` CanRemainOnCurrentNode *decision.Decision `json:"can_remain_on_current_node,omitempty"` ClusterInfo *types.ClusterInfo `json:"cluster_info,omitempty"` ConfiguredDelay types.Duration `json:"configured_delay,omitempty"` ConfiguredDelayInMillis *int64 `json:"configured_delay_in_millis,omitempty"` CurrentNode *types.CurrentNode `json:"current_node,omitempty"` CurrentState string `json:"current_state"` Index string `json:"index"` MoveExplanation *string `json:"move_explanation,omitempty"` NodeAllocationDecisions []types.NodeAllocationExplanation `json:"node_allocation_decisions,omitempty"` Note *string `json:"note,omitempty"` Primary bool `json:"primary"` RebalanceExplanation *string `json:"rebalance_explanation,omitempty"` RemainingDelay types.Duration `json:"remaining_delay,omitempty"` RemainingDelayInMillis *int64 `json:"remaining_delay_in_millis,omitempty"` Shard int `json:"shard"` UnassignedInfo *types.UnassignedInformation `json:"unassigned_info,omitempty"` }
Response holds the response body struct for the package allocationexplain