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

Event Hubs: Client Type Identifier Support #20101

Closed
jsquire opened this issue Apr 5, 2021 · 1 comment
Closed

Event Hubs: Client Type Identifier Support #20101

jsquire opened this issue Apr 5, 2021 · 1 comment
Labels
blocking-release Blocks release Client This issue points to a problem in the data-plane of the library. Event Hubs
Milestone

Comments

@jsquire
Copy link
Member

jsquire commented Apr 5, 2021

Summary

When creating one of the Event Hubs client types, it can be useful for a host application to be able to uniquely identify the client instance. The Event Hubs service also supports setting the identifier of an AMQP link, which it will associate with some error messages to make it easier to correlate errors with a given client instance.

The EventProcessorClient and EventProcessor<TPartition> types support an information Identifier currently, passed in via their respective options at creation time. The remaining Event Hubs clients should be extended to follow this pattern.

Scope of Work

  • The EventHubConsumerClientOptions, EventHubProducerClientOptions, and PartitionReceiverOptions should be extended with a string-based Identifier property, defaulting to null if not supplied by callers.

  • The EventHubConsumerClient, EventHubProducerClient, and PartitionReceiver types should be extended with an Identifier property, mapping to the Identifer received as part of their client options. If the options do not specify an identifier, a unique one should be generated.

  • When opening an AMQP link for receiving, the identifier should be used as the Target in the link settings. (example)

  • When opening an AMQP link for sending, the identifier should be used as the Source in the link settings. (example)

  • There should be no change to the logic when opening an AMQP RequestResponse link for management purposes; the identifier is not supported in this context.

Success Criteria

  • The API changes have been informally reviewed by the .NET architects and approved.

  • The client options identified in the scope have been enhanced to include an Identifier property.

  • The client types identifier in the scope have been enhanced to accept the identifier from the options, expose it via an Identifier property, and use it with the AmqpConnectionScope when creating links.

  • The AmqpConnectionScope has been updated to apply the identifier specified at construction in the Target or Source settings when opening links. The existing logic for populating the link name should not change.

  • The tests necessary for ensuring the feature works as intended have been created or adjusted and pass reliably.

  • Existing tests continue to produce deterministic results and pass reliably.

@jsquire jsquire added Event Hubs Client This issue points to a problem in the data-plane of the library. labels Apr 5, 2021
@jsquire jsquire added this to the [2021] June milestone Apr 5, 2021
@jsquire jsquire changed the title Client Types: Identifier Support Event Hubs Client Types: Identifier Support Apr 5, 2021
@jsquire jsquire added the blocking-release Blocks release label May 10, 2021
@jsquire jsquire changed the title Event Hubs Client Types: Identifier Support Event Hubs: Client Type Identifier Support May 10, 2021
@jsquire jsquire modified the milestones: [2021] June, [2021] July May 28, 2021
@jsquire jsquire modified the milestones: [2021] July, [2021] August Jul 3, 2021
@jsquire
Copy link
Member Author

jsquire commented Jul 13, 2021

Fixed by #22614

@jsquire jsquire closed this as completed Jul 13, 2021
@github-actions github-actions bot locked and limited conversation to collaborators Mar 27, 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. Event Hubs
Projects
None yet
Development

No branches or pull requests

1 participant