This documentation contains work-in-progress information for future Elastic Stack and Cloud releases. Use the version selector to view supported release docs. It also contains some Elastic Cloud serverless information. Check out our serverless docs for more details.
Resume follower API
editResume follower API
editResumes a cross-cluster replication follower index.
Request
editresp = client.ccr.resume_follow( index="<follower_index>", ) print(resp)
const response = await client.ccr.resumeFollow({ index: "<follower_index>", }); console.log(response);
POST /<follower_index>/_ccr/resume_follow { }
Prerequisites
edit-
If the Elasticsearch security features are enabled, you must have
write
andmonitor
index privileges for the follower index. You must haveread
andmonitor
index privileges for the leader index. You must also havemanage_ccr
cluster privileges on the cluster that contains the follower index. For more information, see Security privileges.
Description
editThis API resumes a follower index that has been paused either explicitly with the pause follower API or implicitly due to execution that can not be retried due to failure during following. When this API returns, the follower index will resume fetching operations from the leader index.
Path parameters
edit-
<follower_index>
- (Required, string) The name of the follower index.
Query parameters
edit-
master_timeout
-
(Optional, time units)
Period to wait for the master node. If the master node is not available before
the timeout expires, the request fails and returns an error. Defaults to
30s
. Can also be set to-1
to indicate that the request should never timeout.
Request body
edit-
max_read_request_operation_count
- (integer) The maximum number of operations to pull per read from the remote cluster.
-
max_outstanding_read_requests
- (long) The maximum number of outstanding reads requests from the remote cluster.
-
max_read_request_size
- (byte value) The maximum size in bytes of per read of a batch of operations pulled from the remote cluster.
-
max_write_request_operation_count
- (integer) The maximum number of operations per bulk write request executed on the follower.
-
max_write_request_size
- (byte value) The maximum total bytes of operations per bulk write request executed on the follower.
-
max_outstanding_write_requests
- (integer) The maximum number of outstanding write requests on the follower.
-
max_write_buffer_count
- (integer) The maximum number of operations that can be queued for writing. When this limit is reached, reads from the remote cluster will be deferred until the number of queued operations goes below the limit.
-
max_write_buffer_size
- (byte value) The maximum total bytes of operations that can be queued for writing. When this limit is reached, reads from the remote cluster will be deferred until the total bytes of queued operations goes below the limit.
-
max_retry_delay
- (time value) The maximum time to wait before retrying an operation that failed exceptionally. An exponential backoff strategy is employed when retrying.
-
read_poll_timeout
- (time value) The maximum time to wait for new operations on the remote cluster when the follower index is synchronized with the leader index. When the timeout has elapsed, the poll for operations will return to the follower so that it can update some statistics. Then the follower will immediately attempt to read from the leader again.
Default values
editThe following output from the follow info api describes all the default values for the above described index follow request parameters:
{ "follower_indices" : [ { "parameters" : { "max_read_request_operation_count" : 5120, "max_read_request_size" : "32mb", "max_outstanding_read_requests" : 12, "max_write_request_operation_count" : 5120, "max_write_request_size" : "9223372036854775807b", "max_outstanding_write_requests" : 9, "max_write_buffer_count" : 2147483647, "max_write_buffer_size" : "512mb", "max_retry_delay" : "500ms", "read_poll_timeout" : "1m" } } ] }
Examples
editThis example resumes a follower index named follower_index
:
resp = client.ccr.resume_follow( index="follower_index", max_read_request_operation_count=1024, max_outstanding_read_requests=16, max_read_request_size="1024k", max_write_request_operation_count=32768, max_write_request_size="16k", max_outstanding_write_requests=8, max_write_buffer_count=512, max_write_buffer_size="512k", max_retry_delay="10s", read_poll_timeout="30s", ) print(resp)
const response = await client.ccr.resumeFollow({ index: "follower_index", max_read_request_operation_count: 1024, max_outstanding_read_requests: 16, max_read_request_size: "1024k", max_write_request_operation_count: 32768, max_write_request_size: "16k", max_outstanding_write_requests: 8, max_write_buffer_count: 512, max_write_buffer_size: "512k", max_retry_delay: "10s", read_poll_timeout: "30s", }); console.log(response);
POST /follower_index/_ccr/resume_follow { "max_read_request_operation_count" : 1024, "max_outstanding_read_requests" : 16, "max_read_request_size" : "1024k", "max_write_request_operation_count" : 32768, "max_write_request_size" : "16k", "max_outstanding_write_requests" : 8, "max_write_buffer_count" : 512, "max_write_buffer_size" : "512k", "max_retry_delay" : "10s", "read_poll_timeout" : "30s" }
The API returns the following result:
{ "acknowledged" : true }