@@ -5,31 +5,34 @@ The master node is the only node in a cluster that can make changes to the
5
5
cluster state. The master node processes one batch of cluster state updates at
6
6
a time, computing the required changes and publishing the updated cluster state
7
7
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.
15
15
16
16
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.
22
23
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.
33
36
34
37
NOTE: Elasticsearch is a peer to peer based system, in which nodes communicate
35
38
with one another directly. The high-throughput APIs (index, delete, search) do
0 commit comments