[ https://issues.apache.org/jira/browse/KUDU-2612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17314648#comment-17314648 ]
ASF subversion and git services commented on KUDU-2612: ------------------------------------------------------- Commit 6be9794f91a2eebb291e4db2daf63a0f12c3ae2a in kudu's branch refs/heads/master from Andrew Wong [ https://gitbox.apache.org/repos/asf?p=kudu.git;h=6be9794 ] KUDU-2612: allow ABORT_TXN txn ops to succeed if txn hasn't started This patch allows ABORT_TXN ops to proceed even if the participant hasn't yet initialized the transaction. This is desirable in the case where a participant has successfully registered with the TxnStatusManager, but hasn't yet replicated its BEGIN_TXN op. In these cases, the ops will unregister any pending TxnOpDispatchers, as well as mark the existence of the transaction on the participant, preventing further participant registrations for the transaction. Take the following as an example: 1. a transactional write op is sent to a participant 2. the participant successfully registers with the TxnStatusManager 3. before the BEGIN_TXN op replicates, the node crashes 4. no further retry of the write is sent 5. the user attempt to commit the transaction 6. the BEGIN_COMMIT op fails because the transaction hasn't started on the participant 7. an ABORT_TXN op is scheduled but that fails too because the the transaction hasn't started on the participant With this patch, step 7 should succeed, and successfully replicate the ABORT_TXN op, even though the transaction doesn't exist. The test[1] for this isn't enabled yet -- some additional plumbing is required to ensure we return the correct error codes. Along the way, I hardened up an edge case for BEGIN_COMMIT so TXN_ILLEGAL_STATE is returned if the transaction doesn't exist, instead of returning a plain IllegalState, which would have resulted in the ParticipantRpc being retried. [1] see TxnOpDispatcherITest.CommitWithWriteOpPendingParticipantRegistered Change-Id: Ia4c864b4f14e42008d3aa8f4454c8b2abf9bb766 Reviewed-on: http://gerrit.cloudera.org:8080/17233 Reviewed-by: Alexey Serbin <aser...@cloudera.com> Tested-by: Andrew Wong <aw...@cloudera.com> > Implement multi-row transactions > -------------------------------- > > Key: KUDU-2612 > URL: https://issues.apache.org/jira/browse/KUDU-2612 > Project: Kudu > Issue Type: Task > Reporter: Mike Percy > Priority: Major > Labels: roadmap-candidate > > Tracking Jira to implement multi-row / multi-table transactions in Kudu. -- This message was sent by Atlassian Jira (v8.3.4#803005)