Remerge "Using new windowTimeout operator with backpressure support"#30111
Merged
conniey merged 7 commits intoAzure:release/azure-messaging-eventhubs_5.13.0-beta.1from Jul 24, 2022
Merged
Conversation
73b7513 to
b28366f
Compare
…libs defined to use v4.3.19 reactor-core
Collaborator
|
API change check API changes are not detected in this pull request. |
…while iterating array.
b4b982e
into
Azure:release/azure-messaging-eventhubs_5.13.0-beta.1
Member
JonathanGiles
left a comment
There was a problem hiding this comment.
Looks great - love to see this!
| return MethodHandles.publicLookup().findVirtual(Flux.class, WINDOW_TIMEOUT_OPERATOR, | ||
| MethodType.methodType(Flux.class, int.class, Duration.class, boolean.class)); | ||
| } catch (IllegalAccessException | NoSuchMethodException err) { | ||
| LOGGER.verbose("Failed to retrieve MethodHandle for backpressure aware windowTimeout Reactor operator.", err); |
Member
There was a problem hiding this comment.
Do you think it is worthwhile letting the user who might be reading this log know that it isn't a catastrophic outcome? I.e. by adding something like " - falling back to non-backpressure aware operator instead. It is recommended you consider upgrading your Reactor dependency if possible to at least version X.Y.Z"
Member
There was a problem hiding this comment.
I'll second this, there are a few warning messages like this in azure-core that have been flagged as issues
This was referenced Jul 28, 2022
conniey
added a commit
that referenced
this pull request
Aug 1, 2022
…30111) * Using new windowTimeout operator with backpressure support * Using Flux.class directly for windowTimeout lookup, using azure core libs defined to use v4.3.19 reactor-core * Improving reflection logic and moving it to ReactorShim * Replace inline reflection with ReactorShim * Adding ReactorShim test for backpressure aware windowTimeout. * Changelog update for ReactorShim * Using ConcurrentLinkedQueue to avoid ConcurrentModificationException while iterating array. Co-authored-by: Anu Thomas Chandy <anuamd@hotmail.com>
conniey
added a commit
to conniey/azure-sdk-for-java
that referenced
this pull request
Sep 29, 2022
…zure#30111) * Using new windowTimeout operator with backpressure support * Using Flux.class directly for windowTimeout lookup, using azure core libs defined to use v4.3.19 reactor-core * Improving reflection logic and moving it to ReactorShim * Replace inline reflection with ReactorShim * Adding ReactorShim test for backpressure aware windowTimeout. * Changelog update for ReactorShim * Using ConcurrentLinkedQueue to avoid ConcurrentModificationException while iterating array. Co-authored-by: Anu Thomas Chandy <anuamd@hotmail.com>
conniey
added a commit
that referenced
this pull request
Sep 30, 2022
* Remerge "Using new windowTimeout operator with backpressure support" (#30111) * Using new windowTimeout operator with backpressure support * Using Flux.class directly for windowTimeout lookup, using azure core libs defined to use v4.3.19 reactor-core * Improving reflection logic and moving it to ReactorShim * Replace inline reflection with ReactorShim * Adding ReactorShim test for backpressure aware windowTimeout. * Changelog update for ReactorShim * Using ConcurrentLinkedQueue to avoid ConcurrentModificationException while iterating array. Co-authored-by: Anu Thomas Chandy <anuamd@hotmail.com> * Merge buffered producer into release/azure-messaging-eventhubs (#30224) * Adding initial Buffered Producer APIs with documentation. (#29525) * Adding skeleton classes. * Adding documentation to buffered producer models. * Adding minor implementation for Event HubBufferedProducerClientBuilder. * Adding some documentation to Event Hub Buffered Producer Client Builder. * Adding suppression for PagedFlux * Adds hashing algorithm for buffered producer (#30012) * Adding implementation of PartitionResolver * Adding tests for PartitionResolver. * Using unsigned right shift operator. * Adding concurrent test cases. * Add CHANGELOG * Adding internal classes to support buffered producer. (#30078) * Updating property name to getMaxEventBufferLengthPerPartition * Adds an aggregator that publishes events based on full batches and time. * Adding implementation for publishing events for a partition. * Adding license info. * Adding inline mock maker for final classes. * Fixing recursive subscription. * Do not get additional batches if the current instance is completed. * Rename to EventHubBufferedPartitionProducer * Applying retryWhen policy to Aggregator. * Remove unused EventData field * Adding documentation to mock helper. * Hack around the blocking call. * Adding tests for EventHubBufferedPartitionProducerTest * Populating PartitionProcessors for each partition id. * Creating private static class to hold PublishResults from buffered producer. * Adding tests to ensure upstream requests are respected. * Add suppression for fallthrough * Use --no-cone in pipeline sparse checkout script (#29905) Co-authored-by: Ben Broderick Phillips <bebroder@microsoft.com> * Adding comments for cases meant to fallthrough * Wrap synchronous lock. * Adding documentation to EventDataAggregatora Co-authored-by: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Co-authored-by: Ben Broderick Phillips <bebroder@microsoft.com> * Connecting EventHubBufferedProducerClient to internal classes. (#30194) * Adds flush to PartitionProcessor. * Adds implementation to methods for async client. * Fixes build breaks. * Remove idempotent retries for next release. * Connect asynchronous client. * Closing producer client after test case. * Make default retry options package-private. * Adding integration test for BufferedProducerAsyncClient. * Adding partition id to EventDataAggregator * Adding defaults to builder and documentation. * Remove localizedBy usages. * Fixing switchMap logic. * Have PartitionProducer throw an UncheckedInterruptedException when a batch creation occurs while the thread is interrrupted. * Update PublishResultSubscriber to clear remaining queue items when closed. * Delay computation of EventDataAggregator to prevent multiple instances being created. * Adding support for flush(). * Add emitResult constant. * Complete EventDataAggregator when it is cancelled. * Implement flush and clean up logging. * Add implementation for sync-client. * Making non-implemented methods package-private. * Add changelog entry. Co-authored-by: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Co-authored-by: Ben Broderick Phillips <bebroder@microsoft.com> * Update CHANGELOG.md * Fix CHANGELOG. Co-authored-by: Anu Thomas Chandy <anuamd@hotmail.com> Co-authored-by: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Co-authored-by: Ben Broderick Phillips <bebroder@microsoft.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Remerges #29806 into beta release branch.
All SDK Contribution checklist:
General Guidelines and Best Practices
Testing Guidelines