hachikuji commented on code in PR #12264: URL: https://github.com/apache/kafka/pull/12264#discussion_r893780149
########## clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java: ########## @@ -754,11 +754,16 @@ public void sendOffsetsToTransaction(Map<TopicPartition, OffsetAndMetadata> offs /** * Commits the ongoing transaction. This method will flush any unsent records before actually committing the transaction. - * + * <p> * Further, if any of the {@link #send(ProducerRecord)} calls which were part of the transaction hit irrecoverable * errors, this method will throw the last received exception immediately and the transaction will not be committed. * So all {@link #send(ProducerRecord)} calls in a transaction must succeed in order for this method to succeed. - * + * <p> + * If the transaction is committed successfully and this method returns without throwing an exception, it is guaranteed + * that all {@link Callback callbacks} for records in the transaction will have been invoked and completed, either + * successfully or by raising an exception. Exceptions thrown by callbacks are ignored; the producer proceeds to commit Review Comment: Hmm, I think my confusion came from the phrase "either successfully or by raising an exception." I thought this was referring to the callback result (i.e. what we are passing to `Callback.onCompletion`). Perhaps we could just leave that part out since the next sentence is clarifying anyway? > If the transaction is committed successfully and this method returns without throwing an exception, it is guaranteed that all {@link Callback callbacks} for records in the transaction will have been invoked and completed. Note that exceptions thrown by callbacks are ignored; the producer proceeds to commit the transaction in any case. -- 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