-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Improve expiration handling for client-persisted circuit state #64798
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
base: main
Are you sure you want to change the base?
Conversation
85af042 to
2bb0c30
Compare
Improve expiration handling for client-persisted circuit stateIssueWhen client tries to resume the circuit after the client-held serialized state expires, the operation fails without proper handling. Cause
Solution variantsWhile serializing the state in Even if we do this, we still should explicitly deal with the possibility of expired client-side state when resuming the circuit. Some locations where we can tackle the issue: 1. When trying to resume the circuit in the clientWhen client requests pausing the circuit, we can add expiration information along with the serialized state that we return from the server. When trying to resume, client can cooperatively check whether its persisted state is still valid and simply not pass it to the server if it is expired, or inform the user somehow that this is the case. (We don't care about malicious clients, the resume operation will still fail as it does now.) 2. When recieving the client-side state on the server in
|
2bb0c30 to
601d324
Compare
This is a work-in-progress PR intended for discussing solution variants.
Fixes #64607