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

feat(lro): honor retry-after in the initial response #44147

Open
archerzz opened this issue May 17, 2024 · 5 comments
Open

feat(lro): honor retry-after in the initial response #44147

archerzz opened this issue May 17, 2024 · 5 comments
Assignees
Labels
Azure.Core Client This issue points to a problem in the data-plane of the library.
Milestone

Comments

@archerzz
Copy link
Member

Description

According to the specs(here and here), in LRO, the initial response (e.g. the response of the initial request) can carry retry-after header, which suggest the clients should wait the given time before sending the 1st polling request.

Return HTTP code 202 (Accepted) with a Location header and, optionally, a Retry-After header.

In track2, we haven't implemented that. The benefits are:

  • optimizing performance since we could reduce the number of polling requests
  • some services may not correctly implement the LRO logic, sending polling request too soon could cause error. Note that retry-after is a gentleman protocol, and the clients can choose not to follow it.
@live1206 live1206 transferred this issue from Azure/autorest.csharp May 20, 2024
@github-actions github-actions bot added Azure.Core Client This issue points to a problem in the data-plane of the library. needs-team-attention This issue needs attention from Azure service team or SDK team labels May 20, 2024
Copy link

Thank you for your feedback. Tagging and routing to the team member best able to assist.

@annelo-msft
Copy link
Member

@archerzz, could you share which clients depend on this feature, so we can prioritize it correctly?

@annelo-msft annelo-msft added System.ClientModel Base Core library and removed needs-team-attention This issue needs attention from Azure service team or SDK team labels May 20, 2024
@annelo-msft annelo-msft added this to the Backlog milestone May 20, 2024
@heng-liu
Copy link
Member

App Configuration.
When migrating from Track1 SDK to Track2 SDK, we started to encounter this issue.
The LRO is aborted when the first polling request failed with 404.

@archerzz
Copy link
Member Author

@archerzz, could you share which clients depend on this feature, so we can prioritize it correctly?

@annelo-msft I've included you in the original email thread. It's AppConfiguration.

@annelo-msft
Copy link
Member

Would it be possible to provide a repro case for the specific operation that is not respecting the header interval? Azure.Core types should be respecting the RetryAfter header on a response if it’s available, as part of the default DelayStrategy implementation. Because of this, I'm interested to understand the specific case where this is not happening. Thanks!

@annelo-msft annelo-msft removed the System.ClientModel Base Core library label May 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Azure.Core Client This issue points to a problem in the data-plane of the library.
Projects
None yet
Development

No branches or pull requests

3 participants