Closed daniellee closed 2 months ago
I know why this is -- the conflict doesn't reigster under IsConflict
. Should be easy enough to fix, I'm just trying to work out how to force a conflict in the SDK Sidecar 🤦🏻 😁 so I can at least see it in action.
Got it! Fix coming shortly.
What happened: After upgrading to 1.41, we started getting a couple of new error messages in the logs for the Agones sidecar:
and:
and:
It is due to the change in #3803 that adds a test Json Patch operation that checks the ResourceVersion and rejects patch updates if there is a conflict. If two calls are made to update a field in the gameserver spec (like setting a label/annotation or changing the state) in quick succession then a conflict can happen.
After the failed patch update, it gets retried and then succeeds - so I don't think this is actually an error and is just how Kubernetes works.
What you expected to happen:
For this error message to not be an error or to be debug logging.
How to reproduce it (as minimally and precisely as possible):
The error message is from Kubernetes and can be recreated with kubectl by setting an older/smaller value for the
/metdata/resourceVersion
field for a running gameserver:To recreate with Agones, then two clients setting a label or annotation on the same gameserver at the same time will generate the error.
Anything else we need to know?:
Environment:
kubectl version
): v1.29.6-gke.1038001