The new version of kafka now support exactly-once semantic. See https://www.confluent.io/blog/exactly-once-semantics-are-possible-heres-how-apache-kafka-does-it/
I am working on a project that need it, so I added the changes in the project and added a new test. But they are failing because the new kafka version added a few new kafka/zookeeper configurations like transaction.state.log.replication.factor.
That configuration have a default value of 3 and should be same number as the number alive brokers in kafka.
Here the error that I am getting:
ERROR KafkaApis:99 - [KafkaApi-0] Number of alive brokers '1' does not meet the required replication factor '3' for the transactions state topic (configured via 'transaction.state.log.replication.factor'). This error can be ignored if the cluster is starting up and not all brokers are up yet.