Closed Traktormaster closed 2 years ago
I reproduced this on v1.8.2, every 5-10 transactions there's a ~1s delay. On master this delay is gone, and I believe it was this fix: https://github.com/edenhill/librdkafka/pull/3798/commits/f46a2f6996e72c0ad8faa4de19d740a3f0228fd8
Thanks for a great report!
Description
The producer performance is very low when producing simple messages quickly in a loop, each in a separate idempotent transaction.
There are seemingly no directly related errors in the log. However, there are strange silent points at varying times where it seems that the library just stops everything for about one second. Here is an excerpt from the attached producer log, where almost a second goes by without anything being done:
Here is a different example of the pause:
Using the 1.7.0 library version, this does not happen. The producing loop is executed in 2 to 3 seconds. The reproduction snippet finishes between 3 and 10 seconds using 1.8.2.
I have looked all over, but I can't find a reason for this.
How to reproduce
NOTE: I'm using the python binding for convenience.
I'm guessing that this is some threading/scheduling issue, because it varies how many times it happens during a run. Rarely (about 1 out of 10 runs) it does not happen at all.
Checklist
Please provide the following information:
('1.8.2', 17302271)
by using the python binding('1.8.2', 17302016)
2.6.2
and2.8.1
were tested to reproduce the issueprod_config
in reproduction codeArch Linux
debug=..
as necessary) from librdkafkaLogs
broker_excerpt.log producer.log