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: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org