Skip to content
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

Add cancelation tokens to read/write blob APIs #5192

Closed
Tracked by #7347
vladsud opened this issue Feb 19, 2021 · 4 comments
Closed
Tracked by #7347

Add cancelation tokens to read/write blob APIs #5192

vladsud opened this issue Feb 19, 2021 · 4 comments
Assignees
Labels
area: driver Driver related issues perf
Milestone

Comments

@vladsud
Copy link
Contributor

vladsud commented Feb 19, 2021

DeltaManager raises "throttled" warnings today when we hit 429 errors from server.
The way it's designed today is that all errors from all reads and writes (i.e. blobs, but also delta connection) are aggregated into single "warning" system. The problem is - this does not allow building proper user experiences.

For example, image upload/read want to display progress / errors in place, including 429 errors.

The way to address it is for all our read/write APIs to allow passing cancelation token and use it to both listen for cancelations from caller, but also report back progress to caller, including 429 status

Later on, this same technique has to be applied to all APIs that use blob APIs, i.e. including handle resolution and request handling.

@vladsud vladsud added the bug Something isn't working label Feb 19, 2021
@vladsud vladsud added this to the May 2021 milestone Feb 19, 2021
@vladsud vladsud self-assigned this Feb 19, 2021
@curtisman curtisman added area: driver Driver related issues perf and removed bug Something isn't working labels Feb 19, 2021
@vladsud vladsud modified the milestones: May 2021, June 2021 Apr 22, 2021
@vladsud vladsud modified the milestones: June 2021, Next May 20, 2021
@vladsud
Copy link
Contributor Author

vladsud commented May 28, 2021

Related items (or sub-items to consider):
#1193 - Add optional AbortSignal to Map.wait
#1192 - IContainerRuntime*.get*DataStoreRuntime: Supply optional AbortSignal for cases where we wait
#1191 - Use AbortSignal for container loading cancelation
#8309 - Prod: fluid:telemetry:OdspDriver:createNewFile_cancel: Need better back off & progress reporting / cancelation.

@ghost
Copy link

ghost commented Nov 25, 2021

This issue has been automatically marked as stale because it has had no activity for 180 days. It will be closed if no further activity occurs within 8 days of this comment. Thank you for your contributions to Fluid Framework!

@markfields
Copy link
Member

@vladsud - I opened #9560 about applying this same mechanism to the connectCore retry loop, JFYI.

@vladsud
Copy link
Contributor Author

vladsud commented Jun 21, 2022

Closing old issues - we will eventually get to it!

@vladsud vladsud closed this as completed Jun 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: driver Driver related issues perf
Projects
None yet
Development

No branches or pull requests

3 participants