-
Notifications
You must be signed in to change notification settings - Fork 9.3k
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
[bitnami/mongodb] Enable publishNotReadyAddresses for ClusterIP services #31145
base: main
Are you sure you want to change the base?
[bitnami/mongodb] Enable publishNotReadyAddresses for ClusterIP services #31145
Conversation
Thank you for initiating this pull request. We appreciate your effort. This is just a friendly reminder that signing your commits is important. Your signature certifies that you either authored the patch or have the necessary rights to contribute to the changes. You can find detailed information on how to do this in the “Sign your work” section of our contributing guidelines. Feel free to reach out if you have any questions or need assistance with the signing process. |
There's no correct sign-off? |
Here you can see the failing GH Action and some tips about how to remediate it |
When MongoDB replicaset hosts configuration points to services (rather than pods on headless service) for inter-cluster communication (through tunnel for example), a deadlock can occur when majority Pods fail at once since services won't publish addresses until pods are ready. This change prevents deadlocks by allowing MongoDB instances to discover each other during startup and keeps it similar to NodePort/Loadbalancer logic in external mode. Signed-off-by: Jan Votava <[email protected]>
bc1a0b8
to
d2531ff
Compare
Sorry, wrong email. 🫣 Should be fixed now. |
Signed-off-by: Bitnami Containers <[email protected]>
This Pull Request has been automatically marked as "stale" because it has not had recent activity (for 15 days). It will be closed if no further activity occurs. Thank you for your contribution. |
Please don't close this PR. |
Signed-off-by: Carlos Rodríguez Hernández <[email protected]>
Signed-off-by: Bitnami Containers <[email protected]>
@@ -25,6 +25,7 @@ metadata: | |||
{{- end }} | |||
spec: | |||
type: ClusterIP | |||
publishNotReadyAddresses: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of always setting the parameter to true, can you parameterize it (with default to false
)? This way we maintain the current behavior and it can be set in an easy way when required.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can do that. But I wonder, what's the use case for the current behavior - could changing the default false
-> true
potentially be a breaking change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The thing is that we have not being reported with any issue related to current setup, so to be on the safe side I think it is worth it to keep it this way for now yet allowing users to customize it.
Description of the change
When MongoDB replicaset hosts configuration points to services (rather than pods on headless service) for inter-cluster communication (through tunnel for example), a deadlock can occur when majority Pods fail at once since services won't publish addresses until pods are ready.
This change prevents deadlocks by allowing MongoDB instances to discover each other during startup and keeps it similar to NodePort/Loadbalancer logic in external mode.
Benefits
Makes ClusterIP external replicaset mode more resilient.
Possible drawbacks
Applicable issues
Additional information
Checklist
Chart.yaml
according to semver. This is not necessary when the changes only affect README.md files.README.md
using readme-generator-for-helm