k-raina commented on code in PR #19931:
URL: https://github.com/apache/kafka/pull/19931#discussion_r2136215946
##########
docs/design.html:
##########
@@ -340,6 +340,18 @@ <h3 class="anchor-heading"><a id="usingtransactions"
class="anchor-link"></a><a
transactions. However, in the event of a transaction abort, the
application's state and in particular the current position of the consumer must
be reset explicitly so that it can
reprocess the records processed by the aborted transaction.
<p>
+ The error handling for transactional producer has been standardized which
ensures consistent behavior and clearer error handling patterns. The exception
categories are now more precisely defined:
+ <ol>
+ <li><strong>RetriableException</strong>: Temporary exceptions that are
retried automatically by the client. These are handled internally and don't
bubble up to the application.</li>
+ <li><strong>RefreshRetriableException</strong>: Exceptions requiring
metadata refresh before retry. These are handled internally by the client after
refreshing metadata and don't bubble up to the application.</li>
+ <li><strong>AbortableException</strong>: Exceptions that require
transaction abort and reprocessing. These bubble up to the application, which
must handle them by aborting the transaction and resetting the consumer
position.</li>
+ <li><strong>ApplicationRecoverableException</strong>: Exceptions that
bubble up to the application and require application handling. The application
must implement its own recovery strategy, which must include restarting the
producer.</li>
+ <li><strong>InvalidConfigurationException</strong>:
Configuration-related exceptions that bubble up to the application and require
application handling and producer restart.</li>
Review Comment:
Corrected in commit
https://github.com/apache/kafka/pull/19931/commits/083bccc1465913123a7cf5dbf8855f4faa21a435
Producer doesn't necessary need to restart, as it might be fixed by simple
retry.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]