-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Question on EPH vs ECC #8873
Comments
EventHubConsumerClient replaces EPH. We could make it more clearer by calling this out in the readme itself, we will make a note of that. Please go though the above migration guide and let us know if it helps you in migrating from EPH to EventHubConsumerClient. We are open to hearing any feedback you have to make this simpler |
Will do! Thank you |
Another question. I found that with the consumer client, it takes a few minutes until the messages are consumed. I've followed the example at the very bottom of the migration doc and it seems like at the subscribing & processing events section it takes a while until the events are processed. Any thoughts? |
@chradek should be able to answer your question Meanwhile, can you share which overload of |
We are using the subscribe method that gives events from all partitions. 32 partitions and currently just single processor application. I know that from my experience with python sdk, load balancing partitions takes a few seconds, but never came across this cold start time prior to start of receiving events |
We are also not setting a batch size and I think the default is set to 1? |
@kwontae Are you using a CheckpointStore when instantiating your We are investigating how to expose better control over how quickly an EventHubConsumerClient can ramp up with claiming partitions in the case where a checkpointstore is provided. I believe Python may let you adjust some of these options already. |
Yes we are using a CheckpointStore |
So the theory is that because we are using CheckpointStore, and the messages are being pushed to a partition 32 so it takes about ~320 seconds to claim? |
@kwontae Correct. Currently if you had a single EventHubConsumerClient, and 32 partitions, it should take ~320 seconds to claim all partitions. You should start receiving events sooner than that though, since as soon as a partition is claimed (every ~10 seconds) you can start receiving events from that partition. |
Hmm yeah. that's what I'm expecting as well, but doesn't seem to be the case here... So a few more things.
|
I see the issue occurs when it is claiming a partition without an event... which makes sense because if the events [] is empty, there won't be an event with the sequence number property therefore it throws an error when checkpointing. My understanding was that processEvent is only triggered when there is an event available for consumption upon partition claim. |
I think you're referring to this piece: Lines 70 to 78 in 4997350
No, you don't need to close the subscription/client unless you don't want to receive any new messages. For the purpose of the sample, that's just in place to show that you can stop receiving messages (and to let the sample exit).
The events can be empty if there weren't any events received within the maxWaitTimeInSeconds You can increase the
The startPosition is used when a checkpoint does not already exist for a given partition. By default, the consumer client will use the startPosition Since you're using the storage blob checkpointstore, when the client starts receiving messages from a partition, it first checks if storage blob has a checkpoint for that partition and if it does, it starts receiving events where the checkpoint left off. If the partition does not have a checkpoint, it will receive any new events that are sent to that partition (unless you specify a different startPosition). |
So in the example of using this with a checkpoint store, i see that the example has a try catch block where we try to |
@kwontae Thanks for pointing out how we could improve our docs! I'll close this issue since I believe we've addressed the original questions, but feel free to comment or open a new issue if there's more you want to discuss. |
I have a question regarding the differences between EPH and Event hub consumer client.
I see on the latest official documentation of azure event hub sdk for node js version 5 is recommending Event hub consumer client with no mentioning of EPH. Is the ECC a wrapper around EPH? or is there a different use case scenario?
The text was updated successfully, but these errors were encountered: