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

[ServiceBus] Add support to operation timeout #13413

Closed
yunhaoling opened this issue Aug 28, 2020 · 2 comments
Closed

[ServiceBus] Add support to operation timeout #13413

yunhaoling opened this issue Aug 28, 2020 · 2 comments
Assignees
Labels
blocking-release Blocks release Client This issue points to a problem in the data-plane of the library. Service Bus

Comments

@yunhaoling
Copy link
Contributor

yunhaoling commented Aug 28, 2020

Problem:
ServiceBus is missing operation timeout support for most service operation except max_wait_time in pull receive and push receive.

According to the guideline:
https://azure.github.io/azure-sdk/python_design.html#python-client-service-args

DO support the common arguments for service operations:
---
timeout | Timeout in seconds | All service methods

and in the azure-core:

:keyword int timeout: Timeout setting for the operation in seconds, default is 604800s (7 days).

we need to add support to operation timeout for other service methods like send/schedule, etc.

The design/implementation problem here would be:

  1. where shall we put the timeout parameter
  • client level config (naming could be a problem, operation_timeout)
  • method level parameter
  • both
  1. if method level parameter, then what methods does it apply to?
  • how it interact with message settlement via receiver link which doesn't seem to support timeout
@yunhaoling yunhaoling added Service Bus Client This issue points to a problem in the data-plane of the library. labels Aug 28, 2020
@yunhaoling yunhaoling added this to the [2020] October milestone Aug 28, 2020
@KieranBrantnerMagee
Copy link
Member

Echoing our OOB discussion: My head with this is entirely in a "let's make sure we align this with our retry policy strategy" mode, so client-level seems a given. Method level is largely a question of consistency, broad guidelines from the architects, and if there's a demand from the users. (I have an inclination on the third part that it's premature in absence of evidence, and since additive, would probably start with just class, but that's just me)

Need to think more on question 2. That's kinda the ambiguity with retry policy as a whole, since we straddle amqp and http transactions.

@yunhaoling yunhaoling added the blocking-release Blocks release label Sep 11, 2020
@yunhaoling yunhaoling self-assigned this Sep 11, 2020
@yunhaoling
Copy link
Contributor Author

PR merged: #13854

@github-actions github-actions bot locked and limited conversation to collaborators Apr 12, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
blocking-release Blocks release Client This issue points to a problem in the data-plane of the library. Service Bus
Projects
None yet
Development

No branches or pull requests

2 participants