mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-08 14:05:27 +00:00
be08268562
Today when creating a follower index via the put follow API, or via an auto-follow pattern, it is not possible to specify settings overrides for the follower index. Instead, we copy all of the leader index settings to the follower. Yet, there are cases where a user would want some different settings on the follower index such as the number of replicas, or allocation settings. This commit addresses this by allowing the user to specify settings overrides when creating follower index via manual put follower calls, or via auto-follow patterns. Note that not all settings can be overrode (e.g., index.number_of_shards) so we also have detection that prevents attempting to override settings that must be equal between the leader and follow index. Note that we do not even allow specifying such settings in the overrides, even if they are specified to be equal between the leader and the follower index. Instead, the must be implicitly copied from the leader index, not explicitly set by the user.
132 lines
3.9 KiB
Plaintext
132 lines
3.9 KiB
Plaintext
[role="xpack"]
|
|
[testenv="platinum"]
|
|
[[ccr-put-auto-follow-pattern]]
|
|
=== Create auto-follow pattern API
|
|
++++
|
|
<titleabbrev>Create auto-follow pattern</titleabbrev>
|
|
++++
|
|
|
|
Creates an auto-follow pattern.
|
|
|
|
[[ccr-put-auto-follow-pattern-request]]
|
|
==== {api-request-title}
|
|
|
|
[source,console]
|
|
--------------------------------------------------
|
|
PUT /_ccr/auto_follow/<auto_follow_pattern_name>
|
|
{
|
|
"remote_cluster" : "<remote_cluster>",
|
|
"leader_index_patterns" :
|
|
[
|
|
"<leader_index_pattern>"
|
|
],
|
|
"follow_index_pattern" : "<follow_index_pattern>"
|
|
}
|
|
--------------------------------------------------
|
|
// TEST[setup:remote_cluster]
|
|
// TEST[s/<auto_follow_pattern_name>/auto_follow_pattern_name/]
|
|
// TEST[s/<remote_cluster>/remote_cluster/]
|
|
// TEST[s/<leader_index_patterns>/leader_index*/]
|
|
// TEST[s/<follow_index_pattern>/{{leader_index}}-follower/]
|
|
|
|
//////////////////////////
|
|
|
|
[source,console]
|
|
--------------------------------------------------
|
|
DELETE /_ccr/auto_follow/auto_follow_pattern_name
|
|
--------------------------------------------------
|
|
// TEST[continued]
|
|
|
|
//////////////////////////
|
|
|
|
[[ccr-put-auto-follow-pattern-prereqs]]
|
|
==== {api-prereq-title}
|
|
|
|
* If the {es} {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>>.
|
|
|
|
[[ccr-put-auto-follow-pattern-desc]]
|
|
==== {api-description-title}
|
|
|
|
This API creates a new named collection of
|
|
<<ccr-auto-follow,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.
|
|
|
|
[[ccr-put-auto-follow-pattern-path-parms]]
|
|
==== {api-path-parms-title}
|
|
`<auto_follow_pattern_name>`::
|
|
(Required, string) The name of the collection of auto-follow patterns.
|
|
|
|
[[ccr-put-auto-follow-pattern-request-body]]
|
|
==== {api-request-body-title}
|
|
|
|
`remote_cluster`::
|
|
(Required, string) The <<modules-remote-clusters,remote cluster>> containing
|
|
the leader indices to match against.
|
|
|
|
`leader_index_patterns`::
|
|
(Optional, array) An array of simple index patterns to match against indices
|
|
in the remote cluster specified by the `remote_cluster` field.
|
|
|
|
`follow_index_pattern`::
|
|
(Optional, 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.
|
|
|
|
include::../follow-request-body.asciidoc[]
|
|
|
|
[[ccr-put-auto-follow-pattern-examples]]
|
|
==== {api-examples-title}
|
|
|
|
This example creates an auto-follow pattern named `my_auto_follow_pattern`:
|
|
|
|
[source,console]
|
|
--------------------------------------------------
|
|
PUT /_ccr/auto_follow/my_auto_follow_pattern
|
|
{
|
|
"remote_cluster" : "remote_cluster",
|
|
"leader_index_patterns" :
|
|
[
|
|
"leader_index*"
|
|
],
|
|
"follow_index_pattern" : "{{leader_index}}-follower",
|
|
"settings": {
|
|
"index.number_of_replicas": 0
|
|
},
|
|
"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"
|
|
}
|
|
--------------------------------------------------
|
|
// TEST[setup:remote_cluster]
|
|
|
|
The API returns the following result:
|
|
|
|
[source,console-result]
|
|
--------------------------------------------------
|
|
{
|
|
"acknowledged" : true
|
|
}
|
|
--------------------------------------------------
|
|
|
|
//////////////////////////
|
|
|
|
[source,console]
|
|
--------------------------------------------------
|
|
DELETE /_ccr/auto_follow/my_auto_follow_pattern
|
|
--------------------------------------------------
|
|
// TEST[continued]
|
|
|
|
//////////////////////////
|