You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Jason Gustafson (JIRA)" <ji...@apache.org> on 2017/05/28 18:31:04 UTC

[jira] [Created] (KAFKA-5342) Distinguish abortable failures in transactional producer

Jason Gustafson created KAFKA-5342:
--------------------------------------

             Summary: Distinguish abortable failures in transactional producer
                 Key: KAFKA-5342
                 URL: https://issues.apache.org/jira/browse/KAFKA-5342
             Project: Kafka
          Issue Type: Sub-task
            Reporter: Jason Gustafson


The transactional producer distinguishes two classes of user-visible errors:

1. Abortable errors: these are errors which are fatal to the ongoing transaction, but which can be successfully aborted. Essentially any error in which the producer can still expect to successfully send EndTxn to the transaction coordinator is abortable.
2. Fatal errors: any error which is not abortable is fatal. For example, a transactionalId authorization error is fatal because it would also prevent the TC from receiving the EndTxn request.

At the moment, it's not clear how the user would know how they should handle a given failure. One option is to add an exception type to indicate which errors are abortable (e.g. AbortableKafkaException). Then any other exception could be considered fatal.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)