DOCS - clarify transactionalID and idempotent behavior
If transactional.id is set without setting enable.idempotence, the producer will set enable.idempotence to true implicitly. The docs should reflect this.
Reviewers: Guozhang Wang
@@ -241,8 +241,8 @@ public class ProducerConfig extends AbstractConfig {
/** <code> transactional.id </code> */
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 <code>enable.idempotence</code> must be enabled if a TransactionalId is configured. " +
- "The default is <code>null</code>, which means transactions cannot be used. " +
+ "If a TransactionalId is configured, <code>enable.idempotence</code> is implied. " +
+ "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 <code>transaction.state.log.replication.factor</code>.";
/**
