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

Release Event Hubs Track 2 Library Preview 2 for .NET #6752

Closed
16 tasks done
jsquire opened this issue Jun 28, 2019 · 2 comments
Closed
16 tasks done

Release Event Hubs Track 2 Library Preview 2 for .NET #6752

jsquire opened this issue Jun 28, 2019 · 2 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 Jun 28, 2019

Summary

Azure Event Hubs is a publish-subscribe service that can ingest millions of events per second and stream them into multiple applications. To ensure that developers around the world have a first-class experience leveraging Azure Event Hubs in their applications, our goal is to create a client library that is developer-friendly, idiomatic to the .NET ecosystem, and as consistent across different languages and platforms as possible.

The work items herein represent the tasks needed to produce the second preview of the "track two" Event Hubs client library.

Goal

Design, develop, and release the second preview of the Event Hub client library, intended to allow developers to work with it and offer their feedback which we will use to help refine the design.

Success Criteria

The second preview of the Event Hubs client library which follows the Azure SDK Design Guidelines as closely as possible, and which has been approved by the Azure Developer Platform architecture board has been made available for release.

Scope

Design and Plan

  • Decompose identified work items, and document them for implementation

  • Perform analysis and design of the scope for the second preview, including determining target scenarios (#6777)

  • Design and document the API experience for the target scenarios (#6778)

Execute

General

  • Ensure that partition properties in all uses are based on an int type for offset. (#6779)

  • Convert DateTime to DateTimeOffset for public members (#6780)

  • Introduce an exception hierarchy (#6782)

  • Create infrastructure for retry policy changes (#6784)

  • Include test coverage for diagnostics and logging (6793)

Event Hub Client

  • Adopt the new retry policy structures (#6785)

Event Hub Consumer

  • Adopt the new retry policy structures (#6787)

  • Implement the updated streaming receive feature (#6788)

Event Hub Producer

  • Adopt the new retry policy structures (#6786)

  • Implement the updated EventBatch infrastructure (#6791)

  • Allow publishing an EventBatch (#6792)

Document

  • Enhance Documentation (#6795)

  • Prepare Samples (#6797)

@jsquire jsquire added Event Hubs Client This issue points to a problem in the data-plane of the library. Epic labels Jun 28, 2019
@jsquire jsquire added this to the Sprint 157 milestone Jun 28, 2019
@jsquire jsquire self-assigned this Jun 28, 2019
@jsquire jsquire modified the milestones: Sprint 157, Sprint 156 Jun 28, 2019
@jsquire jsquire changed the title Release the Second Track Two Preview of the Event Hubs Client Library Release the Second Preview of the Track Two Event Hubs Client Library Jun 28, 2019
@NickDarvey
Copy link

Wait, is the Event Hub client library being rewritten again? Is there anywhere I can read more about this?

Design and document the API experience for the target scenarios

Can unit testing be one of these target scenarios? The previous library required wrapping a bunch of classes. (See the discussion in previous library's issues, and what I had to do.)

@jsquire
Copy link
Member Author

jsquire commented Jul 1, 2019

Hi Nick,

Thank you for taking the time to share your thoughts. I can't speak to the development history of the Event Hubs client, but we are in the process of building a new Event Hubs client library. The new client library will exist in a new package and namespace; our goal is that there is no disruption to existing library users, allowing the choice of whether to adopt the new library or not and, if so, control over the timing.

With respect to the larger context, until recently, the team that owned an Azure service also had responsibility of creating the associated client libraries for their service. While this was great for ensuring that client libraries were well-aligned to the service, it often meant that client libraries were inconsistent with those for other Azure services. Likewise, the client libraries could also often be inconsistent for the same service across different languages and/or feel uncomfortable because they didn't conform to the expected language idioms.

Microsoft recently created a new team responsible for the developer experience for all of the Azure services, the Azure Developer Platform team. Our goal is to unify the experience for developers, providing an API that is consistent, discoverable, and idiomatic to its language and platform. I don't know of an official landing page that introduces our team, but I can suggest following the Azure SDK Team account on Twitter if you're interested in keeping up with announcements or conversing with the team. Maggie or Alex (copied) may have additional references for you.

For information specific to the work that we're doing for Event Hubs, you may want to look at:

Testability is one of the areas that we're focused on; ensuring that clients are mockable by developers and can be tested without a reliance on Azure resources is important to us. We will be releasing a preview of the new Event Hubs client in the near future and would very much welcome your feedback on how we're doing in that respect. One final thing that I'd like to call attention to is that we are an open source project and welcome any feedback or contributions that you'd like to provide. I will ask that you'd be kind enough to open a dedicated issue for further feedback, as this is intended to be a work tracking item and I want to be sure that your thoughts are more widely visible so that we can triage and route them appropriately.

//cc: @AlexGhiondea, @maggiepint

@AlexGhiondea AlexGhiondea changed the title Release the Second Preview of the Track Two Event Hubs Client Library Release Event Hubs Track 2 Library Preview 2 Jul 11, 2019
@AlexGhiondea AlexGhiondea changed the title Release Event Hubs Track 2 Library Preview 2 Release Event Hubs Track 2 Library Preview 2 for .NET Jul 22, 2019
@jsquire jsquire closed this as completed Aug 6, 2019
@jsquire jsquire closed this as completed Aug 6, 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

3 participants