Open melonaerial opened 1 week ago
Hello melonaerial! Thank you for your report Could you say, what version of userver you use?
If your version is less than v2.4 (currently, latest) -- that is the case! Because before the release, each consumer blocks OS thread and, as you mentioned, each kafka::ConsumerComponent
required its own thread.
Now we have a test, which checks whether two consumers can operate with one availabled thread: https://github.com/userver-framework/userver/blob/develop/kafka/tests/consumer_kafkatest.cpp#L79
Hello, guys! I've stared using your new
kafka::ConsumerComponent
in production. I need to read 3 topics in production and I've created 3 components for that. Here it is some description of them instatic_config.yaml
:The reason why I use separate component for each topic is that I need to stop consumer if I've some error in processing message for one of the topics.
When I've 2 comsumer components everything was working fine. But when I've added 3rd one I've found that consumer lag is going up for one of topics. CPU is fine and don't see much coroutines running. I just see in logs that polling of messages for topics is going 1 time for 5-15 minutes.
I've changed number of
consumer-task-processor.worker_threads
from 2 to 4 and everything start working fine again. Doesconsumer-task-processor
need number ofworker_threads
more than number ofkafka::ConsumerComponent
components ? And what it the reason for that?