-
Notifications
You must be signed in to change notification settings - Fork 24.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Block joins while applier is busy (#84919)
Certain cluster appliers perform I/O or other heavy computations and in extreme circumstances may take a significant amount of time to apply a cluster state. The master considers a node to be unhealthy if it takes too long to apply a cluster state. Nodes that time out like this are removed from the cluster, but they will carry on with the slow cluster state application regardless. If the application takes long enough then there may be time for the node to rejoin the cluster, time out applying the state resulting from the rejoin, and be removed again. This can happen repeatedly and is disruptive to the rest of the cluster. There is no point in trying to rejoin the cluster while the applier is busy. With this commit we send the join request from the applier thread, ensuring that it is not occupied with other work and will therefore be available to apply the joining state. The commit also adds periodic logging of the status of ongoing joins to help clarify why it is taking longer than expected to rejoin the cluster.
- Loading branch information
1 parent
dc6f1fd
commit c88dd10
Showing
5 changed files
with
102 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
pr: 84919 | ||
summary: Block joins while applier is busy | ||
area: Cluster Coordination | ||
type: enhancement | ||
issues: [] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters