Skip to content

Commit 442a7a7

Browse files
committed
Further updates to publishing.asciidoc
1 parent dea0d59 commit 442a7a7

File tree

1 file changed

+25
-22
lines changed

1 file changed

+25
-22
lines changed

docs/reference/modules/discovery/publishing.asciidoc

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,31 +5,34 @@ The master node is the only node in a cluster that can make changes to the
55
cluster state. The master node processes one batch of cluster state updates at
66
a time, computing the required changes and publishing the updated cluster state
77
to all the other nodes in the cluster. Each publication starts with the master
8-
broadcasting the updated cluster state to all nodes in the cluster.
9-
Each node responds with an acknowledgement but does not yet apply the
10-
newly-received state. Once the master has collected acknowledgements from
11-
enough master-eligible nodes, the new cluster state is said to be _committed_
12-
and the master broadcasts another message instructing nodes to apply the
13-
now-committed state. Each node receives this message, applies the updated
14-
state, and then sends a second acknowledgement back to the master.
8+
broadcasting the updated cluster state to all nodes in the cluster. Each node
9+
responds with an acknowledgement but does not yet apply the newly-received
10+
state. Once the master has collected acknowledgements from enough
11+
master-eligible nodes, the new cluster state is said to be _committed_ and the
12+
master broadcasts another message instructing nodes to apply the now-committed
13+
state. Each node receives this message, applies the updated state, and then
14+
sends a second acknowledgement back to the master.
1515

1616
The master allows a limited amount of time for each cluster state update to be
17-
completely published to all nodes. It is defined by the `cluster.publish.timeout` setting, which
18-
defaults to `30s`, measured from the time the publication started. If this time
19-
is reached before the new cluster state is committed then the cluster state
20-
change is rejected and the master considers itself to have failed. It stands down
21-
and starts trying to elect a new master.
17+
completely published to all nodes. It is defined by the
18+
`cluster.publish.timeout` setting, which defaults to `30s`, measured from the
19+
time the publication started. If this time is reached before the new cluster
20+
state is committed then the cluster state change is rejected and the master
21+
considers itself to have failed. It stands down and starts trying to elect a
22+
new master.
2223

23-
If the new cluster state is committed before `cluster.publish.timeout`
24-
has elapsed, but before all acknowledgements have been received, then the
25-
master node considers the change to have succeeded and starts processing and
26-
publishing the next cluster state update. If some acknowledgements have not been received (i.e. some nodes have not yet
27-
confirmed that they have applied the current update), these nodes are said to be
28-
_lagging_ since their cluster states have fallen behind the master's latest
29-
state. The master waits for the lagging nodes to catch up for a further time,
30-
`cluster.follower_lag.timeout`, which defaults to `90s`. If a node has
31-
still not successfully applied the cluster state update within this time then
32-
it is considered to have failed and is removed from the cluster.
24+
If the new cluster state is committed before `cluster.publish.timeout` has
25+
elapsed, the master node considers the change to have succeeded. It waits until
26+
the timeout has elapsed or until it has received acknowledgements that each
27+
node in the cluster has applied the updated state, and then starts processing
28+
and publishing the next cluster state update. If some acknowledgements have not
29+
been received (i.e. some nodes have not yet confirmed that they have applied
30+
the current update), these nodes are said to be _lagging_ since their cluster
31+
states have fallen behind the master's latest state. The master waits for the
32+
lagging nodes to catch up for a further time, `cluster.follower_lag.timeout`,
33+
which defaults to `90s`. If a node has still not successfully applied the
34+
cluster state update within this time then it is considered to have failed and
35+
is removed from the cluster.
3336

3437
NOTE: Elasticsearch is a peer to peer based system, in which nodes communicate
3538
with one another directly. The high-throughput APIs (index, delete, search) do

0 commit comments

Comments
 (0)