5.7.0-beta.4 (2022-03-11)
Acknowledgments
Thank you to our developer community members who helped to make the Event Hubs client libraries better with their contributions to this release:
- Daniel Marbach (GitHub)
Other Changes
-
The
EventHubBufferedProducer
will now invoke the handlers for success or failure when publishing a batch in a deterministic manner, as part of the publishing flow. Handlers will now be awaited, causing the publishing operation to be considered incomplete until the handler returns. Previously, handlers were invoked in the background non-deterministically and without a guaranteed ordering. This ensured they could not interfere with publishing throughput but caused difficulty for reliably checkpointing with the source of events. -
Attempts to retrieve AMQP objects will first try synchronously before calling
GetOrCreateAsync
, to avoid an asynchronous call unless necessary. -
Removed allocations from Event Source logging by introducing
WriteEvent
overloads to handle cases that would otherwise result in boxing toobject[]
via params array. (A community contribution, courtesy of danielmarbach) -
Removed LINQ from the
AmqpMessageConverter
in favor of direct looping. (Based on a community contribution, courtesy of danielmarbach) -
Changed the internal batch
AsEnumerable<T>
toAsList<T>
in order to avoid casting costs and haveCount
available to right-size transform collections. (Based on a community contribution, courtesy of danielmarbach) -
Moved to using the two item overload when creating a linked token source to avoid allocating an unnecessary array. (Based on a community contribution, courtesy of danielmarbach)