[
https://issues.apache.org/jira/browse/KAFKA-1523?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jason Gustafson resolved KAFKA-1523.
------------------------------------
Resolution: Unresolved
This work has been superseded by KIP-98:
https://cwiki.apache.org/confluence/display/KAFKA/KIP-98+-+Exactly+Once+Delivery+and+Transactional+Messaging.
> Implement transaction manager module
> ------------------------------------
>
> Key: KAFKA-1523
> URL: https://issues.apache.org/jira/browse/KAFKA-1523
> Project: Kafka
> Issue Type: New Feature
> Reporter: Joel Koshy
> Assignee: Dong Lin
> Labels: transactions
> Attachments: KAFKA-1523_2014-07-17_20:12:55.patch,
> KAFKA-1523_2014-07-22_16:45:42.patch, KAFKA-1523_2014-08-05_21:25:55.patch,
> KAFKA-1523_2014-08-08_21:36:52.patch
>
>
> * Entry point for transaction requests
> * Appends transaction control records to the transaction journal
> * Sends transaction control records to data brokers
> * Responsible for expiring transactions
> * Supports fail-over: for which it needs to maintain a transaction HW which
> is the offset of the BEGIN control record of the earliest pending
> transaction. It should checkpoint the HW periodically either to ZK/separate
> topic/offset commit.
> We merge KAFKA-1565 transaction manager failover handling into this JIRA.
> Transaction manager should guarantee that, once a pre-commit/pre-abort
> request is acknowledged, commit/abort request will be delivered to partitions
> involved in the transaction.
> This patch handles the following failover scenarios:
> 1) Transaction manager or its followers fail before txRequest is duplicated
> on local log and followers.
> Solution: Transaction manager responds to request with error status. The
> producer keeps trying to commit.
> 2) The txPartition’s leader is not available.
> Solution: Put txRequest on unSentTxRequestQueue. When metadataCache is
> updated, check and re-send txRequest from unSentTxRequestQueue if possible.
> 3) The txPartition’s leader fails when txRequest is in channel manager.
> Solution: Retrieve all txRequests queued for transmission to this broker and
> put them on unSentTxRequestQueue.
> 4) Transaction manage does not receive success response from txPartition’s
> leaders within timeout period.
> Solution: Transaction manager expires the txRequest and re-send it.
> 5) Transaction manager fails.
> Solution: The new transaction manager reads transactionHW from zookeeper, and
> sends txRequest starting from the transactionHW.
> This patch does not provide the following feature. These will be provided in
> separate patches.
> 1) Producer offset commit.
> 2) Transaction expiration.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)