[QUERY]EventProcessorClientBuilder.processEventBatch - Should max wait time make a big difference in performance #22100
Labels
Client
This issue points to a problem in the data-plane of the library.
customer-reported
Issues that are reported by GitHub users external to the Azure organization.
Event Hubs
issue-addressed
Workflow: The Azure SDK team believes it to be addressed and ready to close.
question
The issue doesn't require a change to the product in order to be resolved. Most issues start as that
Query/Question
I am writing an app that streams events from event hubs ranging from 1 event per second or lower to 10k events per second. If I use .processEvent, I run into a 2500 event limit. I think it is probably because the processEvent call back can only be called 2500 times per second. I don't know if there is a way to change that. I am happy to see the .processEventBatch method which significantly improved the performance in high volume streaming. Because I also have to handle low volume events, I thought I'd set the max wait time to 1 second. This does allow me to stream the slow events in a timely fashion. Then I saw a huge performance difference between using any max wait time and not using max wait time at all. Using a max wait time could be 10 times slower or up to 50 times slower. I am puzzled by this because none of my batches should last longer than a second. Regardless of how I set the max wait time, 100 milliseconds, 1 second or 10 seconds, I experience the same performance hit.
There are lots of logs like this:
Don't know if this is normal or if there is something wrong on my side. BTW, this event hub has 4 partitions. The performance difference exists whether I use an in-memory checkpoint store or a blob store.
Why is this not a Bug or a feature Request?
Setup (please complete the following information if applicable):
Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report
The text was updated successfully, but these errors were encountered: