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) MasterTimeout(duration 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/docs/api/doc/elasticsearch/v9/operation/operation-cluster-allocation-explain
func (*AllocationExplain) CurrentNode ¶
func (r *AllocationExplain) CurrentNode(currentnode string) *AllocationExplain
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 ¶
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 ¶
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 ¶
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 ¶
func (r *AllocationExplain) Index(indexname string) *AllocationExplain
Specifies the name of the index that you would like an explanation for. API name: index
func (*AllocationExplain) MasterTimeout ¶
func (r *AllocationExplain) MasterTimeout(duration string) *AllocationExplain
MasterTimeout Period to wait for a connection to the master node. API name: master_timeout
func (AllocationExplain) Perform ¶
Perform runs the http.Request through the provided transport and returns an http.Response.
func (*AllocationExplain) Pretty ¶
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 ¶
func (r *AllocationExplain) Primary(primary bool) *AllocationExplain
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 ¶
func (r *AllocationExplain) Shard(shard int) *AllocationExplain
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) UnmarshalJSON ¶
type Response ¶
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