KStreams-org.apache.kafka.common.errors.TimeoutException:オフセットを正常にコミットする前に60000msのタイムアウトが期限切れになりました

Aug 24 2020

kafka Streams(バージョン:2.3.1)では、オフセットのコミットに関する問題に直面しています。

org.apache.kafka.common.errors.TimeoutException:オフセットを正常にコミットする前に60000msのタイムアウトが期限切れになりました

これは定期的に発生していません。理由は何でしょうか?

また、TimeoutExceptionは再試行可能な例外であるため、断続的なエラーの場合は再試行を増やすことを計画していました。

とにかくそれは役に立ちますか?我々はしているATLEAST_ONCE私たちのユースケースでの保証と順序の問題を処理します。

KStreamsはオフセットを同期してコミットし、1つのコミットが失敗して再試行された場合、特定のストリームスレッドは新しいレコードを処理せず、オフセットが妨げられないため、オフセットの順序に影響を与えないことを願っています。

回答

1 wcarlson Aug 26 2020 at 02:17

TimeoutExceptionが一時的なものである場合は、中断されたネットワークの問題または一部のブローカーの過負荷が原因である可能性があります。その場合、再試行回数を増やすと役立つ場合があります。

ただし、タイムアウトの根本原因を見つけることは、待ち時間の観点からはより良いかもしれません。根本原因を見つけるために、計量をさらに調べたいと思うかもしれません。これがあなたが始めるためのブログですhttps://sematext.com/blog/kafka-metrics-to-monitor/

ボトルネックにより多くのリソースを与えることで修正できる可能性があります。