jolshan commented on code in PR #15413:
URL: https://github.com/apache/kafka/pull/15413#discussion_r1500005366


##########
clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java:
##########
@@ -231,7 +231,7 @@ public class ProducerConfig extends AbstractConfig {
             + "Enabling idempotence requires this config value to be greater 
than 0."
             + " If conflicting configurations are set and idempotence is not 
explicitly enabled, idempotence is disabled."
             + "<p>"
-            + "Allowing retries while setting <code>enable.idempotence</code> 
to <code>false</code> and <code>" + MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION + 
"</code> to 1 will potentially change the"
+            + "Allowing retries while setting <code>enable.idempotence</code> 
to <code>false</code> and <code>" + MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION + 
"</code> to greater than 1 will potentially change the"

Review Comment:
   The comment with your correction is correct -- retries can reorder records 
when idempotency is not enabled and in flight requests > 1. 
   
   However, there are also some edge cases where even one inflight request 
could see duplicates or re-ordering when multiple connections are involved 
(this is due to tcp level interactions). I'm not sure if that was ever the 
intention of this document but it was something that came up recently and is 
problem not well known.
   
   Moral of the story is that only idempotency promises no duplicates or 
reordering :) 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to