KafkaStreams processing guarantee exactly_once and exactly_once_beta difference

Viewed 837

The question is simple, what is the difference between those two guarantees in Kafka Streams?

processing.guarantee: exactly_once / exactly_once_beta

Docs says

Using "exactly_once" requires broker version 0.11.0 or newer, while using "exactly_once_beta" requires broker version 2.5 or newer. Note that if exactly-once processing is enabled, the default for parameter commit.interval.ms changes to 100ms.

But there's nothing about difference.

1 Answers

When you configure exactly_once_beta, transaction processing will be done using a new implementation, enabling better performance as the number of producers increases.

Note however that a two-step migration will be necessary if you have been using exactly_once with an earlier Kafka version.

Related