forgetfollower

package
v8.17.1 Latest Latest
Warning

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

Go to latest
Published: Feb 11, 2025 License: Apache-2.0 Imports: 12 Imported by: 4

Documentation

Overview

Forget a follower. Remove the cross-cluster replication follower retention leases from the leader.

A following index takes out retention leases on its leader index. These leases are used to increase the likelihood that the shards of the leader index retain the history of operations that the shards of the following index need to run replication. When a follower index is converted to a regular index by the unfollow API (either by directly calling the API or by index lifecycle management tasks), these leases are removed. However, removal of the leases can fail, for example when the remote cluster containing the leader index is unavailable. While the leases will eventually expire on their own, their extended existence can cause the leader index to hold more history than necessary and prevent index lifecycle management from performing some operations on the leader index. This API exists to enable manually removing the leases when the unfollow API is unable to do so.

NOTE: This API does not stop replication by a following index. If you use this API with a follower index that is still actively following, the following index will add back retention leases on the leader. The only purpose of this API is to handle the case of failure to remove the following retention leases after the unfollow API is invoked.

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 ForgetFollower

type ForgetFollower struct {
	// contains filtered or unexported fields
}

func New

Forget a follower. Remove the cross-cluster replication follower retention leases from the leader.

A following index takes out retention leases on its leader index. These leases are used to increase the likelihood that the shards of the leader index retain the history of operations that the shards of the following index need to run replication. When a follower index is converted to a regular index by the unfollow API (either by directly calling the API or by index lifecycle management tasks), these leases are removed. However, removal of the leases can fail, for example when the remote cluster containing the leader index is unavailable. While the leases will eventually expire on their own, their extended existence can cause the leader index to hold more history than necessary and prevent index lifecycle management from performing some operations on the leader index. This API exists to enable manually removing the leases when the unfollow API is unable to do so.

NOTE: This API does not stop replication by a following index. If you use this API with a follower index that is still actively following, the following index will add back retention leases on the leader. The only purpose of this API is to handle the case of failure to remove the following retention leases after the unfollow API is invoked.

https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-forget-follower.html

func (ForgetFollower) Do

func (r ForgetFollower) Do(providedCtx context.Context) (*Response, error)

Do runs the request through the transport, handle the response and returns a forgetfollower.Response

func (*ForgetFollower) ErrorTrace added in v8.14.0

func (r *ForgetFollower) ErrorTrace(errortrace bool) *ForgetFollower

ErrorTrace When set to `true` Elasticsearch will include the full stack trace of errors when they occur. API name: error_trace

func (*ForgetFollower) FilterPath added in v8.14.0

func (r *ForgetFollower) FilterPath(filterpaths ...string) *ForgetFollower

FilterPath Comma-separated list of filters in dot notation which reduce the response returned by Elasticsearch. API name: filter_path

func (*ForgetFollower) FollowerCluster added in v8.9.0

func (r *ForgetFollower) FollowerCluster(followercluster string) *ForgetFollower

API name: follower_cluster

func (*ForgetFollower) FollowerIndex added in v8.9.0

func (r *ForgetFollower) FollowerIndex(indexname string) *ForgetFollower

API name: follower_index

func (*ForgetFollower) FollowerIndexUuid added in v8.9.0

func (r *ForgetFollower) FollowerIndexUuid(uuid string) *ForgetFollower

API name: follower_index_uuid

func (*ForgetFollower) Header

func (r *ForgetFollower) Header(key, value string) *ForgetFollower

Header set a key, value pair in the ForgetFollower headers map.

func (*ForgetFollower) HttpRequest

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

HttpRequest returns the http.Request object built from the given parameters.

func (*ForgetFollower) Human added in v8.14.0

func (r *ForgetFollower) Human(human bool) *ForgetFollower

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 (*ForgetFollower) LeaderRemoteCluster added in v8.9.0

func (r *ForgetFollower) LeaderRemoteCluster(leaderremotecluster string) *ForgetFollower

API name: leader_remote_cluster

func (ForgetFollower) Perform added in v8.7.0

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

Perform runs the http.Request through the provided transport and returns an http.Response.

func (*ForgetFollower) Pretty added in v8.14.0

func (r *ForgetFollower) Pretty(pretty bool) *ForgetFollower

Pretty If set to `true` the returned JSON will be "pretty-formatted". Only use this option for debugging only. API name: pretty

func (*ForgetFollower) Raw

func (r *ForgetFollower) Raw(raw io.Reader) *ForgetFollower

Raw takes a json payload as input which is then passed to the http.Request If specified Raw takes precedence on Request method.

func (*ForgetFollower) Request

func (r *ForgetFollower) Request(req *Request) *ForgetFollower

Request allows to set the request property with the appropriate payload.

type NewForgetFollower

type NewForgetFollower func(index string) *ForgetFollower

NewForgetFollower type alias for index.

func NewForgetFollowerFunc

func NewForgetFollowerFunc(tp elastictransport.Interface) NewForgetFollower

NewForgetFollowerFunc returns a new instance of ForgetFollower 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 {
	FollowerCluster     *string `json:"follower_cluster,omitempty"`
	FollowerIndex       *string `json:"follower_index,omitempty"`
	FollowerIndexUuid   *string `json:"follower_index_uuid,omitempty"`
	LeaderRemoteCluster *string `json:"leader_remote_cluster,omitempty"`
}

Request holds the request body struct for the package forgetfollower

https://github.com/elastic/elasticsearch-specification/blob/2f823ff6fcaa7f3f0f9b990dc90512d8901e5d64/specification/ccr/forget_follower/ForgetFollowerIndexRequest.ts#L23-L51

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 {
	Shards_ types.ShardStatistics `json:"_shards"`
}

Response holds the response body struct for the package forgetfollower

https://github.com/elastic/elasticsearch-specification/blob/2f823ff6fcaa7f3f0f9b990dc90512d8901e5d64/specification/ccr/forget_follower/ForgetFollowerIndexResponse.ts#L22-L24

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