遇到这个问题,一般会造成kafka offset不断变换,导致重复消费,实际这个方法是因为提交事务超时导致,解决的办法也非常简单,就是增加超时时长控制
先看看stackoverflow上的说法:
I just faced the same issue. I have been investigating, and in this thread and in this wiki you can find the solution.
The issue seems to be that the processing of a batch takes longer than the session timeout. Either increase the session timeout or the polling frequency or limit the number of bytes received.
What worked for me was changing max.partition.fetch.bytes. But you can also modify session.timeout.ms or the value you pass to your consumer.poll(TIMEOUT)
调整session.timeout.ms需要注意,kafkay有相关连配置,request.timeout.m