Occasionally, my kafka streams application dies with the following error:
[-StreamThread-4] o.a.k.s.p.i.AssignedStreamsTasks : Failed to commit stream task 0_9 due to the
following error:
org.apache.kafka.common.errors.TimeoutException: Timeout of 60000ms expired before successfully
committing offsets {my-topic-9=OffsetAndMetadata{offset=5840887122, leaderEpoch=null, metadata=''}}
From the docs I assume the 60000ms originate from the property: default.api.timeout.ms. So I could probably just increase this timeout. But what other options do I have?
My application runs with processing-guarantee: exactly_once and for that I found the following in the documentation:
commit.interval.ms: The frequency with which to save the position of the processor. (Note, if processing.guarantee is set to exactly_once, the default value is 100, otherwise the default value is 30000.
So the commit interval is quite low in my case. Why does it have to be so low for exactly_once? Could I increase the interval to reduce the number of commits and thereby relax the situation?
What other options do I have?