Skip to content

Commit

Permalink
Clarify that discovery ignores master-ineligibles (#44835)
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
DaveCTurner committed Sep 12, 2019
1 parent de3f669 commit 8dff465
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 4 deletions.
14 changes: 14 additions & 0 deletions docs/reference/migration/migrate_7_0/discovery.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -70,3 +70,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
<<modules-discovery-hosts-providers,`discovery.seed_hosts` or another seed
hosts provider>> to provide the addresses of all the master-eligible nodes in
your cluster.
8 changes: 4 additions & 4 deletions docs/reference/modules/discovery/discovery.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 8dff465

Please sign in to comment.