Create auto-follow pattern API
editCreate auto-follow pattern API
editThis functionality is in beta and is subject to change. The design and code is less mature than official GA features and is being provided as-is with no warranties. Beta features are not subject to the support SLA of official GA features.
Creates an auto-follow pattern.
Description
editThis API creates a new named collection of auto-follow patterns against the remote cluster specified in the request body. Newly created indices on the remote cluster matching any of the specified patterns will be automatically configured as follower indices.
Request
editPUT /_ccr/auto_follow/<auto_follow_pattern_name> { "remote_cluster" : "<remote_cluster>", "leader_index_patterns" : [ "<leader_index_pattern>" ], "follow_index_pattern" : "<follow_index_pattern>" }
Path Parameters
edit-
auto_follow_pattern_name
(required) - (string) name of the collection of auto-follow patterns
Request Body
edit-
remote_cluster
- (required string) the remote cluster containing the leader indices to match against
-
leader_index_patterns
-
(array) an array of simple index patterns to match against indices in the
remote cluster specified by the
remote_cluster
field -
follow_index_pattern
-
(string) the name of follower index; the template
{{leader_index}}
can be used to derive the name of the follower index from the name of the leader index -
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, and then the follower will immediately attempt to read from the leader again
Authorization
editIf the Elasticsearch security features are enabled, you must have read
and monitor
index privileges for the leader index patterns. You must also have manage_ccr
cluster privileges on the cluster that contains the follower index. For more
information, see
Security privileges.
Example
editThis example creates an auto-follow pattern named my_auto_follow_pattern
:
PUT /_ccr/auto_follow/my_auto_follow_pattern { "remote_cluster" : "remote_cluster", "leader_index_patterns" : [ "leader_index*" ], "follow_index_pattern" : "{{leader_index}}-follower", "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 }