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

fix(pkg/stash): don't check status of all etcd endpoints on start #1889

Merged
merged 1 commit into from
Sep 18, 2023

Conversation

uhthomas
Copy link
Contributor

What is the problem I am trying to address?

Athens checks the status of all etcd endpoints when started, which can cause issues when some members of the etcd cluster are unavailable. It is perfectly okay for some members of an etcd cluster to be unavailable, as it's designed for high availability and fault tolerance.

How is the fix applied?

The management of the connections is instead deferred to the etcd client, which will handle failures and load balancing as expected.

What GitHub issue(s) does this PR fix or close?

Fixes: #1888

@uhthomas uhthomas requested a review from a team as a code owner September 12, 2023 00:16
Athens checks the status of all etcd endpoints when started, which can cause
issues when some members of the etcd cluster are unavailable. It is perfectly
okay for some members of an etcd cluster to be unavailable, as it's designed
for high availability and fault tolerance.

The management of the connections is instead deferred to the etcd client, which
will handle failures and load balancing as expected.

Fixes: gomods#1888
@uhthomas
Copy link
Contributor Author

@manugupt1 Would it be possible to merge this one? It makes rolling deployments really painful.

❯ k -n athens get po
NAME                                  READY   STATUS             RESTARTS      AGE
athens-7567c44545-57ncd               0/1     CrashLoopBackOff   3 (37s ago)   112s
athens-7567c44545-bds65               0/1     CrashLoopBackOff   3 (43s ago)   112s
athens-7567c44545-vttm6               0/1     CrashLoopBackOff   3 (43s ago)   112s
athens-7df4f68c45-9m9jw               1/1     Running            0             42m
athens-7df4f68c45-kcg5l               1/1     Running            4 (42m ago)   43m
athens-7df4f68c45-pnsk9               1/1     Running            4 (42m ago)   43m
athens-7df4f68c45-qjjtz               1/1     Running            0             42m
athens-etcd-0                         1/1     Running            0             65s
athens-etcd-1                         1/1     Running            0             88s
athens-etcd-2                         1/1     Running            0             110s

@manugupt1 manugupt1 merged commit 1d16cc3 into gomods:main Sep 18, 2023
12 checks passed
@uhthomas
Copy link
Contributor Author

Thank you @manugupt1 😄

@DrPsychick DrPsychick added this to the 0.13.0 milestone Dec 9, 2023
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.

Athens should not check the status of all etcd endpoints on startup
3 participants