-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
[EventHubs] Provide an linear(fixed) backoff option for retry #8670
Comments
#0 FQDN support for LocalNetworkGateway and VpnSiteLinks (#8670) Co-authored-by: Amit Kumar Nanda <[email protected]>
#0 FQDN support for LocalNetworkGateway and VpnSiteLinks (#8670) Co-authored-by: Amit Kumar Nanda <[email protected]>
#0 FQDN support for LocalNetworkGateway and VpnSiteLinks (#8670) Co-authored-by: Amit Kumar Nanda <[email protected]>
Can we get some more detail on this? I understand the concept of a backoff option, but if you intend for this to be a good first issue, the contributor will need a bit of background. |
I see that there is a fixed option and an exponential option for retries. Would a linear option simply be adding the back_off value each time? |
hey @jmonty42 , thanks for your help. Fixed retry is equal to liner retry. sorry about not mentioning any background knowledge before, and I just added more description in the context. Hope it would be clear to you know and feel free to ping me if you need more input. and apologize to @Hanse00 as well, I truthfully forget the issue here, I wish you were still interested in getting it resolved😊 |
@yunhaoling Not a problem, I'm happy to have been able to highlight an issue that needed some help. The first step to allowing people to help us in open source, is making sure we give them the tools and information they need to help 😄 I might be interested in taking a stab at this myself if nobody else does, I'll need to get around to it when I'm a little less busy at work. |
@yunhaoling, alright, thanks for the clarification, I will close my PR since it doesn't address the issue now. I'll take a closer look at the updated requirements to see if I could take a crack at that. |
Feature Wanted:
We need to add support for Fixed(Linear) retry backoff in EventHubs. EventHub needs to implement its own retry as it's based on amqp protocol so we can't simply reuse the azure-core which is http-based. However, the design of retry is almost the same.
Currently EH only supports
exponential
back off mode, and it takes three retry related key-word arguments when constructing the EventHubProducerClient/EventHubConsumerClient --retry_backoff_factor
,retry_backoff_max
,retry_total
.As per azure-core:
azure-sdk-for-python/sdk/core/azure-core/azure/core/pipeline/policies/_retry.py
Lines 56 to 85 in 1ba7a75
Action items:
RetryMode
underazure.eventhub
namespace --azure.eventhub.RetryMode
https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/core/azure-core/azure/core/pipeline/policies/_retry.py#L52-L54
EventHubProducerClient/EventHubConsumerClient (and async)
constructors
and the helper methodfrom_connection_string
should take "retry_mode" as a key-word argument and the default value shall beExponential
(non-breaking change), see configuration and how the configuration could be used internally.Update the def _backoff and the async version to backoff according to the given retry mode.
Test and docstring
The text was updated successfully, but these errors were encountered: