2018-10-26 11:23:35 -04:00
|
|
|
[role="xpack"]
|
|
|
|
[testenv="platinum"]
|
|
|
|
[[ccr-put-follow]]
|
2018-12-20 13:23:28 -05:00
|
|
|
=== Create follower API
|
2018-10-26 11:23:35 -04:00
|
|
|
++++
|
2018-12-20 13:23:28 -05:00
|
|
|
<titleabbrev>Create follower</titleabbrev>
|
2018-10-26 11:23:35 -04:00
|
|
|
++++
|
|
|
|
|
|
|
|
Creates a follower index.
|
|
|
|
|
2019-07-04 11:22:17 -04:00
|
|
|
[[ccr-put-follow-request]]
|
|
|
|
==== {api-request-title}
|
2018-10-26 11:23:35 -04:00
|
|
|
|
|
|
|
//////////////////////////
|
|
|
|
|
2019-09-09 13:38:14 -04:00
|
|
|
[source,console]
|
2018-10-26 11:23:35 -04:00
|
|
|
--------------------------------------------------
|
|
|
|
POST /follower_index/_ccr/pause_follow
|
|
|
|
--------------------------------------------------
|
|
|
|
// TEARDOWN
|
|
|
|
|
|
|
|
//////////////////////////
|
|
|
|
|
2019-09-09 13:38:14 -04:00
|
|
|
[source,console]
|
2018-10-26 11:23:35 -04:00
|
|
|
--------------------------------------------------
|
2019-01-29 13:47:29 -05:00
|
|
|
PUT /<follower_index>/_ccr/follow?wait_for_active_shards=1
|
2018-10-26 11:23:35 -04:00
|
|
|
{
|
|
|
|
"remote_cluster" : "<remote_cluster>",
|
|
|
|
"leader_index" : "<leader_index>"
|
|
|
|
}
|
|
|
|
--------------------------------------------------
|
|
|
|
// TEST[setup:remote_cluster_and_leader_index]
|
|
|
|
// TEST[s/<follower_index>/follower_index/]
|
|
|
|
// TEST[s/<remote_cluster>/remote_cluster/]
|
|
|
|
// TEST[s/<leader_index>/leader_index/]
|
|
|
|
|
2019-07-04 11:22:17 -04:00
|
|
|
[[ccr-put-follow-prereqs]]
|
|
|
|
==== {api-prereq-title}
|
2019-01-29 13:47:29 -05:00
|
|
|
|
2019-07-04 11:22:17 -04:00
|
|
|
* If the {es} {security-features} are enabled, you must have `write`, `monitor`,
|
|
|
|
and `manage_follow_index` index privileges for the follower index. You must have
|
|
|
|
`read` and `monitor` index privileges for the leader index. You must also have
|
|
|
|
`manage_ccr` cluster privileges on the cluster that contains the follower index.
|
2019-10-07 18:23:19 -04:00
|
|
|
For more information, see <<security-privileges>>.
|
2018-10-26 11:23:35 -04:00
|
|
|
|
2019-07-04 11:22:17 -04:00
|
|
|
[[ccr-put-follow-desc]]
|
|
|
|
==== {api-description-title}
|
2018-10-26 11:23:35 -04:00
|
|
|
|
2019-07-04 11:22:17 -04:00
|
|
|
This API creates a new follower index that is configured to follow the
|
|
|
|
referenced leader index. When this API returns, the follower index exists, and
|
|
|
|
{ccr} starts replicating operations from the leader index to the follower index.
|
2018-10-26 11:23:35 -04:00
|
|
|
|
2019-07-04 11:22:17 -04:00
|
|
|
[[ccr-put-follow-path-parms]]
|
|
|
|
==== {api-path-parms-title}
|
2018-10-26 11:23:35 -04:00
|
|
|
|
2019-07-12 11:26:31 -04:00
|
|
|
`<follower_index>`::
|
|
|
|
(Required, string) The name of the follower index.
|
2018-10-26 11:23:35 -04:00
|
|
|
|
2019-07-04 11:22:17 -04:00
|
|
|
[[ccr-put-follow-query-params]]
|
|
|
|
==== {api-query-parms-title}
|
2018-11-20 19:23:01 -05:00
|
|
|
|
2019-07-12 11:26:31 -04:00
|
|
|
`wait_for_active_shards`::
|
|
|
|
(Optional, integer) Specifies the number of shards to wait on being active before
|
2019-07-04 11:22:17 -04:00
|
|
|
responding. This defaults to waiting on none of the shards to be active. A
|
|
|
|
shard must be restored from the leader index being active. Restoring a
|
|
|
|
follower shard requires transferring all the remote Lucene segment files to
|
|
|
|
the follower index.
|
|
|
|
|
|
|
|
|
|
|
|
[[ccr-put-follow-request-body]]
|
|
|
|
==== {api-request-body-title}
|
|
|
|
|
2019-07-12 11:26:31 -04:00
|
|
|
`leader_index`::
|
|
|
|
(Required, string) The name of the index in the leader cluster to follow.
|
2019-07-04 11:22:17 -04:00
|
|
|
|
2019-07-12 11:26:31 -04:00
|
|
|
`remote_cluster`::
|
|
|
|
(Required, string) The <<modules-remote-clusters,remote cluster>> containing
|
|
|
|
the leader index.
|
2019-07-04 11:22:17 -04:00
|
|
|
|
|
|
|
include::../follow-request-body.asciidoc[]
|
2018-11-20 19:23:01 -05:00
|
|
|
|
2019-07-04 11:22:17 -04:00
|
|
|
[[ccr-put-follow-examples]]
|
|
|
|
==== {api-examples-title}
|
2018-10-26 11:23:35 -04:00
|
|
|
|
|
|
|
This example creates a follower index named `follower_index`:
|
|
|
|
|
2019-09-09 13:38:14 -04:00
|
|
|
[source,console]
|
2018-10-26 11:23:35 -04:00
|
|
|
--------------------------------------------------
|
2019-01-29 13:47:29 -05:00
|
|
|
PUT /follower_index/_ccr/follow?wait_for_active_shards=1
|
2018-10-26 11:23:35 -04:00
|
|
|
{
|
|
|
|
"remote_cluster" : "remote_cluster",
|
|
|
|
"leader_index" : "leader_index",
|
Allow follower indices to override leader settings (#58103)
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.
2020-06-18 10:55:17 -04:00
|
|
|
"settings": {
|
|
|
|
"index.number_of_replicas": 0
|
|
|
|
},
|
2018-10-26 11:23:35 -04:00
|
|
|
"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_and_leader_index]
|
|
|
|
|
|
|
|
The API returns the following result:
|
|
|
|
|
2019-09-06 09:22:08 -04:00
|
|
|
[source,console-result]
|
2018-10-26 11:23:35 -04:00
|
|
|
--------------------------------------------------
|
|
|
|
{
|
|
|
|
"follow_index_created" : true,
|
|
|
|
"follow_index_shards_acked" : true,
|
|
|
|
"index_following_started" : true
|
|
|
|
}
|
|
|
|
--------------------------------------------------
|