-
Notifications
You must be signed in to change notification settings - Fork 232
IllegalGeneration exception from SimpleConsumer #612
Comments
Thanks @lovemfchen. Does this error happen immediately upon consumer initialization, or during a rebalance that occurs after it's been running for a while? |
it happern in a rebalance that I create a consummer with the same group id,I think the new SimpleConsumer have been created,but the old one still commit the offset with old generaton id |
We see a number of these upon initialization of a managed balanced consumer |
I'm experiencing this same issue |
Help is definitely wanted on this issue, since it concerns an API that we're not currently using in production at Parse.ly. |
@razor-1 If you're able, it would be very helpful to provide some more information about these errors on initialization. Perhaps you can post some log output that shows the problem, or some example code that can be used to replicate it? |
I see things like this: 2018-03-14 23:17:18,814 pykafka.simpleconsumer ERROR Error committing offsets for topic 'b'topic_name'' from consumer id 'b'pykafka-20acb16b-ea5f-44a7-a46d-456273907ea2''(errors: {<class 'pykafka.exceptions.IllegalGeneration'>: [1, 2]}) I can try to find the combination of kafka configs and pykafka code that make this reproducible but it might take some time |
I think this is related: Some times, when using
while other times in the same situation I get:
yet again other times everything works out cleanly. My consumers always handle the rebalance cleanly if I use Remark that my broker is very slow (it runs on a raspberry pi) which perhaps makes it easier to trigger the bug: I see it quite reproducibly. I trigger the rebalance by shutting down some consumers by calling |
@jmoraleda It's really interesting that you find these failures more reliable on a slow processor. That might be key to some improvements we could make to the integration tests to make them shake out these types of timing issues. By the way, that's my hunch about what this might be - synchronization between the various internal threads in a consumer works a bit differently when using |
I use topic.get_balanced_consumer(consumer_group='testgroup',auto_commit_enable=True,managed=True, consumer_timeout_ms=1500) to get managedbalancedconsumer.
this is a self-balancing consumer, but get a error
The text was updated successfully, but these errors were encountered: