From 37d778d3664bfb7be18d3b8aacec1135424610e6 Mon Sep 17 00:00:00 2001 From: David Turner Date: Thu, 12 Sep 2019 11:07:34 +0100 Subject: [PATCH] Clarify that discovery ignores master-ineligibles (#44835) The changes in #32006 mean that the discovery process can no longer use master-ineligible nodes as a stepping-stone between master-eligible nodes. This was normally an indication of a strange and possibly-fragile configuration and was not recommended, but this commit adds a note to the breaking changes docs to note that this kind of configuration is more obviously broken in recent versions. --- .../migration/migrate_7_0/discovery.asciidoc | 14 ++++++++++++++ .../reference/modules/discovery/discovery.asciidoc | 8 ++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/docs/reference/migration/migrate_7_0/discovery.asciidoc b/docs/reference/migration/migrate_7_0/discovery.asciidoc index 9a6332de66a68..9e799ba3b6108 100644 --- a/docs/reference/migration/migrate_7_0/discovery.asciidoc +++ b/docs/reference/migration/migrate_7_0/discovery.asciidoc @@ -71,3 +71,17 @@ pings, each of which times out after 10 seconds. Thus a node that is unresponsive for longer than 30 seconds is liable to be removed from the cluster. Previously the default timeout for each ping was 30 seconds, so that an unresponsive node might be kept in the cluster for over 90 seconds. + +[float] +==== Master-ineligible nodes are ignored by discovery + +In earlier versions it was possible to use master-ineligible nodes during the +discovery process, either as seed nodes or to transfer discovery gossip +indirectly between the master-eligible nodes. Clusters that relied on +master-ineligible nodes like this were fragile and unable to automatically +recover from some kinds of failure. Discovery now involves only the +master-eligible nodes in the cluster so that it is not possible to rely on +master-ineligible nodes like this. You should configure +<> to provide the addresses of all the master-eligible nodes in +your cluster. diff --git a/docs/reference/modules/discovery/discovery.asciidoc b/docs/reference/modules/discovery/discovery.asciidoc index 2fa4e14701479..e7d34c481d174 100644 --- a/docs/reference/modules/discovery/discovery.asciidoc +++ b/docs/reference/modules/discovery/discovery.asciidoc @@ -11,10 +11,10 @@ This process starts with a list of _seed_ addresses from one or more of any master-eligible nodes that were in the last-known cluster. The process operates in two phases: First, each node probes the seed addresses by connecting to each address and attempting to identify the node to which it is -connected. Secondly it shares with the remote node a list of all of its known -master-eligible peers and the remote node responds with _its_ peers in turn. -The node then probes all the new nodes that it just discovered, requests their -peers, and so on. +connected and to verify that it is master-eligible. Secondly, if successful, it +shares with the remote node a list of all of its known master-eligible peers +and the remote node responds with _its_ peers in turn. The node then probes all +the new nodes that it just discovered, requests their peers, and so on. If the node is not master-eligible then it continues this discovery process until it has discovered an elected master node. If no elected master is