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 dcbb6d22199b2..14d7a47b617fe 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
@@ -200,8 +200,8 @@ public class ProducerConfig extends AbstractConfig {
/** max.in.flight.requests.per.connection
*/
public static final String MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION = "max.in.flight.requests.per.connection";
private static final String MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION_DOC = "The maximum number of unacknowledged requests the client will send on a single connection before blocking."
- + " Note that if this setting is set to be greater than 1 and there are failed sends, there is a risk of"
- + " message re-ordering due to retries (i.e., if retries are enabled).";
+ + " Note that if this config is set to be greater than 1 and enable.idempotence
is set to false, there is a risk of"
+ + " message re-ordering after a failed send due to retries (i.e., if retries are enabled).";
/** retries
*/
public static final String RETRIES_CONFIG = CommonClientConfigs.RETRIES_CONFIG;
@@ -246,10 +246,10 @@ public class ProducerConfig extends AbstractConfig {
public static final String ENABLE_IDEMPOTENCE_CONFIG = "enable.idempotence";
public static final String ENABLE_IDEMPOTENCE_DOC = "When set to 'true', the producer will ensure that exactly one copy of each message is written in the stream. If 'false', producer "
+ "retries due to broker failures, etc., may write duplicates of the retried message in the stream. "
- + "Note that enabling idempotence requires " + MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION + "
to be less than or equal to 5, "
- + "" + RETRIES_CONFIG + "
to be greater than 0 and " + ACKS_CONFIG + "
must be 'all'. If these values "
- + "are not explicitly set by the user, suitable values will be chosen. If incompatible values are set, "
- + "a ConfigException
will be thrown.";
+ + "Note that enabling idempotence requires " + MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION + "
to be less than or equal to 5 "
+ + "(with message ordering preserved for any allowable value), " + RETRIES_CONFIG + "
to be greater than 0, and "
+ + ACKS_CONFIG + "
must be 'all'. If these values are not explicitly set by the user, suitable values will be chosen. If incompatible "
+ + "values are set, a ConfigException
will be thrown.";
/** transaction.timeout.ms
*/
public static final String TRANSACTION_TIMEOUT_CONFIG = "transaction.timeout.ms";