hashicorp / hashicorp/consul

Implement Server Version Gated Deferred Leader Initialization

Open
#6,536 0 comments 0 reactions 0 assignees View on GitHub
theme/operator-usability type/enhancement
Dominant language
Go
Stars
30.1k
Forks
4.6k
Avg merge
2d 6h
Merged PRs (30d)
43

Description

#### Feature Description

Today, when a Consul server is elected leader it does a number of things to initialize data within Raft. Many times this initialization is held back due to not all servers being updated yet and we cannot apply the various raft requests or else we could cause the other servers to panic.

We hold back performing those initialization routines but currently do nothing to cause most of them to get run once the necessary conditions are met. The only way to force them to be run is to force leadership to be transferred to another server. This is usually a manual process by operators if they even know about it.

We should implement a generic way of managing feature enablement/initialization on the leader.

#### Use Case(s)

Any upgrade to a version where we have added new leadership routines.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.