allocationexplain

package
v8.17.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 17, 2024 License: Apache-2.0 Imports: 13 Imported by: 4

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

Constants

This section is empty.

Variables

View Source
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

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

func (r *AllocationExplain) HttpRequest(ctx context.Context) (*http.Request, error)

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

func (r AllocationExplain) Perform(providedCtx context.Context) (*http.Response, error)

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

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

https://github.com/elastic/elasticsearch-specification/blob/2f823ff6fcaa7f3f0f9b990dc90512d8901e5d64/specification/cluster/allocation_explain/ClusterAllocationExplainRequest.ts#L24-L66

func NewRequest added in v8.5.0

func NewRequest() *Request

NewRequest returns a Request

func (*Request) FromJSON added in v8.5.0

func (r *Request) FromJSON(data string) (*Request, error)

FromJSON allows to load an arbitrary json into the request structure

func (*Request) UnmarshalJSON added in v8.12.1

func (s *Request) UnmarshalJSON(data []byte) error

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

https://github.com/elastic/elasticsearch-specification/blob/2f823ff6fcaa7f3f0f9b990dc90512d8901e5d64/specification/cluster/allocation_explain/ClusterAllocationExplainResponse.ts#L32-L64

func NewResponse added in v8.7.0

func NewResponse() *Response

NewResponse returns a Response

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL