-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
[core-amqp] OperationTimeoutError should be retryable error #2891
Comments
About investigation on usage of
|
Sweet, so it is confirmed that rhea-promise is the only source of this error at the moment? |
Yes as far as downstream dependencies to From users perspective, I recall test frameworks throw a similarly named error and it's unclear if the older amqp code was replaced with anything new to denote Service indicating this condition. But as far as our SDKs are concerned, we do handle operation timeouts on the different APIs locally - we'll be updating these as decided once clarifications are through about overall approach (see conversation at #4178 (comment)) |
Keeping aside about discussions the approach; About the question in itself if From SDKs perspective, while the different APIs across EventHubs, Service Bus can be scrutinized to see if we can identify new timeout scenarios and throw this error to the user if appropriate, as far as currently identified operation timeout scenarios are concerned which rely on the
About all other APIs, operations that catch error and log, exit - they can remain as is as they anyway don't have provision to run using the |
Discussed offline @ramya-rao-a |
Updated PR to get around CI issue with Rush. About OperationTimeoutError being made retryable, since this will need changes to be made to EventHubs and, #4171, #2835 are in flight involving work on identifying targeted user experiences and expected implications of timeout on Event Hubs, further changes can be taken up once those are resolved. Because, updating implementation to add/change the way we do retries from Event Hubs would impact and result in consuming the OperationTimeoutError handling. Service Bus can also be updated, as it now depends on cc @ramya-rao-a |
Discussed offline, since handling of OperationTimeoutError is ongoing and this pertains to Track 2, we are okay to scope this work to just making the error retryable. |
Closed with #4186 |
The
OperationTimeoutError
that is listed in errors.ts in core-amqp gets thrown fromrhea-promise
with the codeamqp:operation-timeout
and is currently treated as a non retryable error.With amqp/rhea-promise#42 and amqp/rhea-promise#43,
amqp:operation-timeout
is no longer a valid amqp code.But since with #4171, we now need the concept of a
OperationTimeoutError
, below are the suggested next stepsIn core-amqp:
amqp:operation-timeout
as it is no longer a validtranslate()
should treat OperationTimeoutError as a retryable errorIn Event Hubs:
OperationTimeoutError
. We can re-use the one defined in rhea-promiseBefore getting to code changes, a review of all existing ways an
OperationTimeoutError
could be thrown to the user should be done and listed. This way we know exactly what areas will be affected in which way by us making this error retryable.The text was updated successfully, but these errors were encountered: