[Service Bus] Timeout for message settlement should result in rejected promise#2886
Merged
Merged
Conversation
amarzavery
approved these changes
May 14, 2019
Contributor
|
The 2 jobs are failing due to npm audit issues in |
Member
|
/azp run |
|
Azure Pipelines successfully started running 9 pipeline(s). |
Contributor
Author
|
Also, ideally this should be an Logged #2891 to make |
Contributor
Author
|
/azp run azure-sdk-for-js - client |
|
Azure Pipelines successfully started running 2 pipeline(s). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When a a request to settle a message is sent, we wait to hear back from the Service that the message was indeed settled i.e we wait for rhea to fire the
settledevent.We set a timer for each such request. If the timer runs out before hearing back from the service, we resolve the promise being returned leading the user to believe that the settlement was successful, which may or may not be the cast.
Message send request and any of the operations on the $management link also wait to hear back from the Service. But in case of timeout, they return the
ServiceUnavailableErrorwhich is retryable and so the sdk retries.We should try to keep the behavior of timeout when waiting for acknowledgement from the service consistent between the send request, requests not the $management link and the message settlement request.
This requires 2 steps
ServiceUnavailableErrorThe first is done in this PR and shipped as part of GA
The second will be tracked in #2885 and will be part of the update after GA