I have a process that spans several Kafka Streams applications. With the
streams commit interval and producer linger both set to 5ms, when exactly
once delivery is disabled, this process takes ~250ms. With exactly once
enabled, the same process takes anywhere from 800-1200ms.

In Enabling Exactly-Once in Kafka Streams
<https://www.confluent.io/blog/enabling-exactly-kafka-streams/>, Guozhang
writes


In Kafka Streams, because a new transaction is created whenever commit is
called, the average transaction size is determined by the commit interval:
with the same incoming traffic, a shorter commit interval will result in
smaller transactions. In practice users should therefore tune the
commit.interval.ms setting when exactly-once is enabled to make a good
trade-off between throughput versus end-to-end processing latency.

But I am not seeing much of a difference when I tune commit.interval.ms
with exactly once enabled. `though()` and `.to()/.stream()` take 100-250ms
even with commit.interval.ms set to 5ms.

Do these latency differences sound right? Is something off?

Thank you,
Dmitry

Reply via email to