-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
etcd: fix JWT renewal with user/pass authentication #6905
Conversation
@klizhentas has shown concern about moving to a beta version of etcd for a production release #6183. However it doesn't seem clear when etcd plans on releasing 3.5 and this has pushed back a few other fixes as well. @awly Do you have a sense of how stable the current beta version is or how soon it'll be released officially? |
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.
Change lgtm but I agree I would be cautious vendoring an alpha dependency. Is it required for this change?
There is a data race in etcd that breaks the internal state in etcd client implementation for some server setups (user/pass authentication with JWTs).
You're right, let's wait for etcd 3.5 to be fully released before updating. |
There is a data race in etcd that breaks the internal state in etcd client implementation for some server setups (user/pass authentication with JWTs).
There is a data race in etcd that breaks the internal state in etcd client implementation for some server setups (user/pass authentication with JWTs).
Two changes here:
the implementation of
b.client.Status
(in the etcd library) internally causes the in-memory JWT store to be overwritten.this ends up breaking the JWT refresh logic (one store has the exired token but a different one gets the refreshed one).
I will send an upstream fix too
# 2 works without # 1.
Since this PR is against
master
, I decided to keep # 1 anyway, for 7.0.I will cherry-pick only # 2 to 6.2, without dependency changes.
FYI @fspmarshall because you had some memory issues with the etcd client; check if this updated version of the library fixes them
Fixes #6881