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

Separate process to keepalive etcd lease #941

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

carlhoerberg
Copy link
Member

During high load lavinmq can struggle to get renew the etcd lease because the fiber is not run often enough. By putting it in a subprocess we can ensure that it gets more resources. When proper MT is added to LavinMQ we can revert this patch.

It introduces a dependency on etcdctl, thus for example in Ubuntu/Debian the etcd-client package has to be installed.

Fixes #935

During high load lavinmq can struggle to get renew the etcd lease
because the fiber is not run often enough. By putting it in a
subprocess we can ensure that it gets more resources. When proper MT is
added to LavinMQ we can revert this patch.

It introduces a dependency on `etcdctl`, thus for example in
Ubuntu/Debian the etcd-client package has to be installed.
@carlhoerberg carlhoerberg requested a review from a team as a code owner February 11, 2025 01:07
@viktorerlingsson
Copy link
Member

Should we also remove keepalive_loop and lease_keepalive? they aren't used anymore with this change, so might be confusing to leave them in

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

Successfully merging this pull request may close these issues.

Losing leadship when disconnecting a client with tons of channels/consumers
2 participants