You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Fede (Jira)" <ji...@apache.org> on 2024/02/22 20:52:00 UTC

[jira] [Updated] (KAFKA-16300) Wrong documentation for producer config retries

     [ https://issues.apache.org/jira/browse/KAFKA-16300?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Fede updated KAFKA-16300:
-------------------------
    Description: 
In documentation from version 3.1 to version 3.4, it looks like the retries explanation has a bug related to max.in.flight.request.per.connection related parameter and possible message reordering.

[https://kafka.apache.org/31/documentation.html#producerconfigs_retries]

[https://kafka.apache.org/32/documentation.html#producerconfigs_retries]

[https://kafka.apache.org/33/documentation.html#producerconfigs_retries]

[https://kafka.apache.org/34/documentation.html#producerconfigs_retries]

 

in particular, the section

Allowing retries while setting enable.idempotence to false and max.in.flight.requests.per.connection to 1 will potentially change the ordering of records because if two batches are sent to a single partition, and the first fails and is retried but the second succeeds, then the records in the second batch may appear first.

 

Is states 

max.in.flight.requests.per.connection to 1

 

It should be said

max.in.flight.requests.per.connection to *greater than*  1

 

This bug has been fixed in the latest versions, but it still confuses users using affected versions as the meaning is the opposite of what it should be.

 

I created a PR  ([https://github.com/apache/kafka/pull/15413|https://github.com/apache/kafka/pull/15413)])for version 3.2, but the build failed. Not sure why.

 

  was:
In documentation from version 3.1 to version 3.4, it looks like the retries explanation has a bug related to max.in.flight.request.per.connection related parameter and possible message reordering.

[https://kafka.apache.org/31/documentation.html#producerconfigs_retries]

[https://kafka.apache.org/32/documentation.html#producerconfigs_retries]

[https://kafka.apache.org/33/documentation.html#producerconfigs_retries]

[https://kafka.apache.org/34/documentation.html#producerconfigs_retries]

 

in particular, the section


Allowing retries while setting enable.idempotence to false and max.in.flight.requests.per.connection to 1 will potentially change the ordering of records because if two batches are sent to a single partition, and the first fails and is retried but the second succeeds, then the records in the second batch may appear first.

 

Is states 

max.in.flight.requests.per.connection to 1

 

It should be said

max.in.flight.requests.per.connection to *greater than*  1

 

This bug has been fixed in the latest versions, but it still confuses users using affected versions as the meaning is the opposite of what it should be.

 

I created a PR  ([https://github.com/apache/kafka/pull/15413)] for version 3.2, but the build failed. Not sure why.

 


> Wrong documentation for producer config retries
> -----------------------------------------------
>
>                 Key: KAFKA-16300
>                 URL: https://issues.apache.org/jira/browse/KAFKA-16300
>             Project: Kafka
>          Issue Type: Bug
>          Components: documentation
>    Affects Versions: 3.1.2, 3.3, 3.2.3, 3.4.1
>            Reporter: Fede
>            Priority: Minor
>              Labels: documentation
>
> In documentation from version 3.1 to version 3.4, it looks like the retries explanation has a bug related to max.in.flight.request.per.connection related parameter and possible message reordering.
> [https://kafka.apache.org/31/documentation.html#producerconfigs_retries]
> [https://kafka.apache.org/32/documentation.html#producerconfigs_retries]
> [https://kafka.apache.org/33/documentation.html#producerconfigs_retries]
> [https://kafka.apache.org/34/documentation.html#producerconfigs_retries]
>  
> in particular, the section
> Allowing retries while setting enable.idempotence to false and max.in.flight.requests.per.connection to 1 will potentially change the ordering of records because if two batches are sent to a single partition, and the first fails and is retried but the second succeeds, then the records in the second batch may appear first.
>  
> Is states 
> max.in.flight.requests.per.connection to 1
>  
> It should be said
> max.in.flight.requests.per.connection to *greater than*  1
>  
> This bug has been fixed in the latest versions, but it still confuses users using affected versions as the meaning is the opposite of what it should be.
>  
> I created a PR  ([https://github.com/apache/kafka/pull/15413|https://github.com/apache/kafka/pull/15413)])for version 3.2, but the build failed. Not sure why.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)