moby / moby/swarmkit

Leader election takes a surprisingly long time

Open
#2,939 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
3.7k
Forks
676
Avg merge
4d 9h
Merged PRs (30d)
6

Description

Expected behavior
The voting/election process should be fairly quick and effective in a 5-manager setup. Losing a non-leader should be a graceful change, since the non-leader isn't a leader.

Actual behavior
Bug 1: It can take up to a few minutes for 5 manages to elect a new leader.

Bug 2: Losing a non-leader (a manager that isn't in a leader state) causes a re-election. Is this intended?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the 5-manager election scenario described in the issue and trace the leader-election and manager-failure handling paths. Reproduce both the delayed new-leader election and the re-election after losing a non-leader; done means elections complete promptly and non-leader loss does not trigger an unnecessary election, if that behavior is confirmed as unintended.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.