From 89b8d333c9651884f7a8db06e628724590adf712 Mon Sep 17 00:00:00 2001 From: Joel Hamill Date: Wed, 11 Dec 2019 15:02:21 -0800 Subject: [PATCH 1/2] DOCS - clarify transactionalID and idempotent behavior --- .../java/org/apache/kafka/clients/producer/ProducerConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java b/clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java index fc1e6a731fc13..32ee63308b5d5 100644 --- a/clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java +++ b/clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java @@ -239,7 +239,7 @@ public class ProducerConfig extends AbstractConfig { /** transactional.id */ public static final String TRANSACTIONAL_ID_CONFIG = "transactional.id"; public static final String TRANSACTIONAL_ID_DOC = "The TransactionalId to use for transactional delivery. This enables reliability semantics which span multiple producer sessions since it allows the client to guarantee that transactions using the same TransactionalId have been completed prior to starting any new transactions. If no TransactionalId is provided, then the producer is limited to idempotent delivery. " + - "Note that enable.idempotence must be enabled if a TransactionalId is configured. " + + "If a TransactionalId is configured, enable.idempotence is implied. " + "The default is null, which means transactions cannot be used. " + "Note that, by default, transactions require a cluster of at least three brokers which is the recommended setting for production; for development you can change this, by adjusting broker setting transaction.state.log.replication.factor."; From fa61ea0d72a30599c0b49578de53866d63a173f1 Mon Sep 17 00:00:00 2001 From: Joel Hamill Date: Tue, 7 Jan 2020 16:00:32 -0800 Subject: [PATCH 2/2] feedback --- .../java/org/apache/kafka/clients/producer/ProducerConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java b/clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java index 32ee63308b5d5..9d9741232ace9 100644 --- a/clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java +++ b/clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java @@ -240,7 +240,7 @@ public class ProducerConfig extends AbstractConfig { public static final String TRANSACTIONAL_ID_CONFIG = "transactional.id"; public static final String TRANSACTIONAL_ID_DOC = "The TransactionalId to use for transactional delivery. This enables reliability semantics which span multiple producer sessions since it allows the client to guarantee that transactions using the same TransactionalId have been completed prior to starting any new transactions. If no TransactionalId is provided, then the producer is limited to idempotent delivery. " + "If a TransactionalId is configured, enable.idempotence is implied. " + - "The default is null, which means transactions cannot be used. " + + "By default the TransactionId is not configured, which means transactions cannot be used. " + "Note that, by default, transactions require a cluster of at least three brokers which is the recommended setting for production; for development you can change this, by adjusting broker setting transaction.state.log.replication.factor."; /**