Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

StateLeft members are never reaped #253

Closed
bwaters opened this issue Jan 5, 2022 · 3 comments
Closed

StateLeft members are never reaped #253

bwaters opened this issue Jan 5, 2022 · 3 comments

Comments

@bwaters
Copy link
Contributor

bwaters commented Jan 5, 2022

Unlike StateDead members old nodes that gracefully leave are never reaped. They just permanently increase the node list and sit inside the push/pull state.

Eventually on a large cluster with lots of churn you will hit maxPushStateBytes and push pull stops working completely

bwaters added a commit to bwaters/memberlist that referenced this issue Jan 5, 2022
@bwaters
Copy link
Contributor Author

bwaters commented Jan 7, 2022

Looks like this bug was introduced when StateLeft was implemented.
237d410

Looks like most places in the code where == StateDead were updated to n.DeadOrLeft() but this one was missed.
From observation this is not occurring on consul 1.07 but is on 1.10.0 and 1.9.6

@bwaters
Copy link
Contributor Author

bwaters commented Jan 7, 2022

Once a sufficient number of nodes reach the maxPushStateBytes limit then new members are unable to join the consul cluster

@kisunji
Copy link
Contributor

kisunji commented Jan 12, 2022

Closed by #254

@kisunji kisunji closed this as completed Jan 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants