Add minimal docs around upgrading clusters with ccr enabled (#38037)

This commit is contained in:
Martijn van Groningen 2019-03-13 10:10:27 +01:00
parent 79e414df86
commit 8f7ab84c5c
No known key found for this signature in database
GPG Key ID: AB236F4FCF2AF12A
2 changed files with 50 additions and 0 deletions

View File

@ -20,6 +20,7 @@ This guide provides an overview of {ccr}:
* <<ccr-requirements>>
* <<ccr-auto-follow>>
* <<ccr-getting-started>>
* <<ccr-upgrading>>
--
@ -28,3 +29,4 @@ include::requirements.asciidoc[]
include::auto-follow.asciidoc[]
include::getting-started.asciidoc[]
include::remote-recovery.asciidoc[]
include::upgrading.asciidoc[]

View File

@ -0,0 +1,48 @@
[role="xpack"]
[testenv="platinum"]
[[ccr-upgrading]]
== Upgrading clusters
Clusters that are actively using {ccr} require a careful approach to upgrades.
Otherwise index following may fail during a rolling upgrade, because of the
following reasons:
* If a new index setting or mapping type is replicated from an upgraded cluster
to a non-upgraded cluster then the non-upgraded cluster will reject that and
will fail index following.
* Lucene is not forwards compatible and when index following is falling back to
file based recovery then a node in a non-upgraded cluster will reject index
files from a newer Lucene version compared to what it is using.
Rolling upgrading clusters with {ccr} is different in case of uni-directional
index following and bi-directional index following.
[float]
=== Uni-directional index following
In a uni-directional setup between two clusters, one cluster contains only
leader indices, and the other cluster contains only follower indices following
indices in the first cluster.
In this setup, the cluster with follower indices should be upgraded
first and the cluster with leader indices should be upgraded last.
If clusters are upgraded in this order then index following can continue
during the upgrade without downtime.
Note that a chain index following setup can also be upgraded in this way.
For example if there is a cluster A that contains all leader indices,
cluster B that follows indices in cluster A and cluster C that follows
indices in cluster B. In this case the cluster C should be upgraded first,
then cluster B and finally cluster A.
[float]
=== Bi-directional index following
In a bi-directional setup between two clusters, each cluster contains both
leader and follower indices.
When upgrading clusters in this setup, all index following needs to be paused
using the {ref}/ccr-post-pause-follow.html[pause follower API] prior to
upgrading both clusters. After both clusters have been upgraded then index
following can be resumed using the
{ref}/ccr-post-resume-follow.html[resume follower API]].