Replies: 1 comment 1 reply
-
I am not sure, how consumer groups should works in a concurrent mode (with max_workers), this reason I limited concurrent subscription in autocommit (ack-first) mode only. That you created manual commit & max_workers option looks like a bug and misconfiguration for me. Anyway, my main broker specialization is RMQ and I am not experted enough to help in complex Kafka cases, but I'll try to find a person to consult with. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
So I have an application where I want to be able to reread the kafka topic to recreate the resulting database. This would be a manually triggered action...
I have all the code to make that work. Part of it needs falling back to aiokafka to do the actual reset, but that is not my issue, it works fine when workers == 1.
In order to make this work all consumers in the group need to have their offset set back to the beginning.
Due to how kafka partitions work I cannot do it from outside the consumers.
This I can do easily within a single consumer but I need a way to trigger it in all consumers, thus triggering on a kafka message in another topic does not work since I cannot make sure every consumer gets that message.
Furthermore I need to check if all consumers have finished processing the whole stream and do something else. This is also doable by measuring the lag (highwater - position = lag) and do something when that is lower than threshold. But I have not found a usable way to make sure that is not done X times (for each worker).
I looked at anyio synchronization primitives for this, but have not yet found a usable way to do this..
Anyone ideas?
Beta Was this translation helpful? Give feedback.
All reactions