-
Notifications
You must be signed in to change notification settings - Fork 3.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
timeout issue with async commit , we want to commit every message after consuming #4827
Comments
Can you provide debug logs? Committing for each message isn't recommended. |
Sure will give you
…On Tue, 27 Aug 2024 at 5:54 PM, Anchit Jain ***@***.***> wrote:
Can you provide debug logs? Committing for each message isn't recommended.
—
Reply to this email directly, view it on GitHub
<#4827 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BFO7CEWDFNVKOFUKYCNOSITZTRVZLAVCNFSM6AAAAABNAG76OGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJSGQZDCMBVGU>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
@anchitj Please find the logs For all the 32 consumers we got this during startup. , |
Isn't this covered in https://github.com/confluentinc/librdkafka/wiki/FAQ#why-committing-each-message-is-slow ? Chances are you're experiencing exactly the same behavior described in that post, and the recommendation is (and has always been) to avoid manual commits (even async ones) and use the auto-commit + store_offsets() API I honestly don't think this is a bug |
In this case you should have sync commits and, to reduce number of commits, you should process a small batch of messages and then commit them all together, instead of committing at each message, because if you don't wait for the response they enqueue on the broker and time out ultimately. Thanks @hgeraldino as you pointed out the FAQ is clear about that. |
Describe the bug
32 consumers started to process 7 million messages from 32 partitions ( from the kafka queue)
We are doing manual async commit
To Reproduce
Have 7 million messages produced and segregated equally into 32 partitions
Configure consumer code to do "manual async commit"
then start 32 consumers at the same time
we saw below timeout error in almost all consumer logs.
Expected behavior
"(5i;"REQTMOUT";"[thrd:GroupCoordinator]: GroupCoordinator/2: Timed out OffsetCommitRequest in flight (after 60628ms, timeout #0)")"
"(5i;"REQTMOUT";"[thrd:GroupCoordinator]: GroupCoordinator/2: Timed out OffsetCommitRequest in flight (after 60628ms, timeout KxSystems/kafka#1)")"
"(5i;"REQTMOUT";"[thrd:GroupCoordinator]: GroupCoordinator/2: Timed out OffsetCommitRequest in flight (after 60628ms, timeout KxSystems/kafka#2)")"
"(5i;"REQTMOUT";"[thrd:GroupCoordinator]: GroupCoordinator/2: Timed out OffsetCommitRequest in flight (after 60628ms, timeout KxSystems/kafka#3)")"
"(5i;"REQTMOUT";"[thrd:GroupCoordinator]: GroupCoordinator/2: Timed out OffsetCommitRequest in flight (after 60628ms, timeout KxSystems/kafka#4)")"
"(4i;"REQTMOUT";"[thrd:GroupCoordinator]: GroupCoordinator/2: Timed out 66792 in-flight, 0 retry-queued, 95763 out-queue, 0 partially-sent requests")"
"(3i;"FAIL";"[thrd:GroupCoordinator]: GroupCoordinator: :443: 162555 request(s) timed out
FYI
(fetch.wait.max.ms;10);
(statistics.interval.ms;10000);
(enable.auto.commit;false);
(enable.auto.offset.store;false);
(message.max.bytes;1000000000) );
We have 32 consumers started to process 7 million messages from 32 partitions ( from the kafka queue) We are doing manual async commit
We would like to commit every message here. Is there way to get rid of this timeout... I tried to increase the socket.timeout.ms from default 60secs to 120 secs. I somehow helped.
Any suggestions ??
We are using https://github.com/KxSystems/kafka (kfk is a thin wrapper for kdb+ around librdkafka C API for Kafka. It is part of the Fusion for kdb+ interface collection)
The text was updated successfully, but these errors were encountered: