-
Notifications
You must be signed in to change notification settings - Fork 509
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
Race condition in route update status with different gateway controllers #1629
Comments
cc @apelisse |
Pretty sure the docs have a page about this but I couldn't find it today, so I'll try to re-iterate quickly some of the points. Updating status is not really different from updating spec (except you need to run the operations against the status sub-resource), the operations that you can do to deal with concurrent updates are the same:
|
As @robscott noted in the community meeting today, currently the Route status is designed so that each list item should be able to be updated independently by the owning controller (because the status is distinct by both So it seems like we have two options:
I'm kind of in favor of option 2, personally (since that's what we've done in all the controllers that I've worked on anyway), but interested in other's thoughts here. |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues. This bot triages un-triaged issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
We would like to have this improvement and would definitely welcome a contributor taking this on: /help We don't expect this needs to hold up our GA Release, but we've placed it in |
@shaneutt: GuidelinesPlease ensure that the issue body includes answers to the following questions:
For more details on the requirements of such an issue, please see here and ensure that they are met. If this request no longer meets these requirements, the label can be removed In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
We're getting closer to the GA release and need to reduce the things which we say are needed for the release in order to promote focus on release blockers, so we're pulling this from the milestone (but still want to get it done post-GA). |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues. This bot triages un-triaged issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues. This bot triages un-triaged issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
What happened:
I was in the process of implementing the tcproute status management in our gateway controller and I realized that as any route can refer to multiple and different gateways there could be a race condition in the update of status.
What you expected to happen:
A merge operation should happen to deal with multiple and different sources of status updates (= different controllers).
How to reproduce it (as minimally and precisely as possible):
For example, suppose we deal with this route:
mygateway
is managed by my controller but notothergateway
. At the creation of this route, my controller and the controller of the other vendor will try to update the status of this route with a likely race condition.Anything else we need to know?:
The text was updated successfully, but these errors were encountered: