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

Implement new retry types in the Event Hub producer #6786

Closed
jsquire opened this issue Jul 2, 2019 · 0 comments
Closed

Implement new retry types in the Event Hub producer #6786

jsquire opened this issue Jul 2, 2019 · 0 comments
Assignees
Labels
Client This issue points to a problem in the data-plane of the library. Event Hubs
Milestone

Comments

@jsquire
Copy link
Member

jsquire commented Jul 2, 2019

Summary

The current implementation from the first preview mirrored the approach to retry exposed by the track one client. After discussion, a new approach was recommended by the architecture board, which separates out the options to define a retry from the policy that implements it. Since the majority case can be served by specifying options for retries, there is no need to require the actual policy to be set.

Each set of options currently allows for an operation-specific timeout to be applied, which is used by the underlying communications between the client and service. It was recommend that this concept be included as part of the retry policy and redefined as a "per-try" timeout.

Scope of Work

  • On construction, instantiate a new EventHubsRetryPolicy based on the retry options provided as part of the client options.

  • Expose the retry policy as its abstract base type in a property, which can be set by callers.

  • Update infrastructure through the transport and compatibility levels to make use of the new retry policy types.

Out of Scope

  • Changes to any references within the TrackOneClient code; that will remain as-is.

  • Updating other clients options to consume the new types; this will be covered under a dedicated workstream.

Success Criteria

  • The new approach to retries and associated types have been created.

  • The track two code performs appropriate translations to the track one concepts.

  • Tests and related infrastructure have been updated.

@jsquire jsquire added Event Hubs Client This issue points to a problem in the data-plane of the library. labels Jul 2, 2019
@jsquire jsquire added this to the Sprint 156 milestone Jul 2, 2019
@jsquire jsquire self-assigned this Jul 2, 2019
@jsquire jsquire closed this as completed Jul 17, 2019
@github-actions github-actions bot locked and limited conversation to collaborators Mar 29, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Client This issue points to a problem in the data-plane of the library. Event Hubs
Projects
None yet
Development

No branches or pull requests

1 participant