-
Notifications
You must be signed in to change notification settings - Fork 9.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
AuthStore::Recover is not invalidating caches. #13883
Comments
@ptabor Thanks for figuring out this. I'll try to reproduce and analyze related code this weekend. |
@ptabor I'm still trying to reproduce, but invalidating |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed after 21 days if no further activity occurs. Thank you for your contributions. |
Fixed with #14358 |
What happened?
No repro in practice yet attempted. Adding FTR.
The method:
etcd/server/auth/store.go
Line 374 in a08d479
is used when a new snapshot is received over raft (e.g. server was lagging).
The method is not invalidating:
etcd/server/auth/store.go
Line 237 in a08d479
This creates risk that data server read out of the cache might be stale (e.g. permission got revoked in the 'meantime') but the cache is missing updates skipped in the WAL log application (because it loaded a fresher snapshot).
What did you expect to happen?
Reinitialize the cache.
How can we reproduce it (as minimally and precisely as possible)?
We need a test that will:
Anything else we need to know?
No response
Etcd version (please run commands below)
Spotted in the
main
tree. But the logic was rather not changed recently.Etcd configuration (command line flags or environment variables)
No response
Etcd debug information (please run commands blow, feel free to obfuscate the IP address or FQDN in the output)
No response
Relevant log output
No response
The text was updated successfully, but these errors were encountered: