[
https://issues.apache.org/jira/browse/KAFKA-16372?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17843116#comment-17843116
]
Haruki Okada commented on KAFKA-16372:
--------------------------------------
[~mpedersencrwd] In either case, it takes time to fix because:
* revert to the documented behavior => this is a breaking change so we may not
able to fix until 4.0 release
* introduce an exception base class => In my understanding this needs KIP
So fixing javadoc might be appropriate as the short term fix for now.
Besides, I would like to clarify the use case of differentiating
synchronous/asynchronous timeout.
{quote}our actions might vary because of this{quote}
Could you tell how the action will be different depending on broker may receive
the message or not?
> max.block.ms behavior inconsistency with javadoc and the config description
> ---------------------------------------------------------------------------
>
> Key: KAFKA-16372
> URL: https://issues.apache.org/jira/browse/KAFKA-16372
> Project: Kafka
> Issue Type: Bug
> Components: producer
> Reporter: Haruki Okada
> Assignee: Haruki Okada
> Priority: Minor
>
> As of Kafka 3.7.0, the javadoc of
> [KafkaProducer.send|https://github.com/apache/kafka/blob/3.7.0/clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java#L956]
> states that it throws TimeoutException when max.block.ms is exceeded on
> buffer allocation or initial metadata fetch.
> Also it's stated in [buffer.memory config
> description|https://kafka.apache.org/37/documentation.html#producerconfigs_buffer.memory].
> However, I found that this is not true because TimeoutException extends
> ApiException, and KafkaProducer.doSend catches ApiException and [wraps it as
> FutureFailure|https://github.com/apache/kafka/blob/3.7.0/clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java#L1075-L1086]
> instead of throwing it.
> I wonder if this is a bug or the documentation error.
> Seems this discrepancy exists since 0.9.0.0, which max.block.ms is introduced.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)