Hello Kudu Jenkins,

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/17233

to look at the new patch set (#2).

Change subject: KUDU-2612: allow terminal txn ops to succeed if txn hasn't 
started
......................................................................

KUDU-2612: allow terminal txn ops to succeed if txn hasn't started

This patch allows ABORT_TXN and FINALIZE_COMMIT 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.

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.

Change-Id: Ia4c864b4f14e42008d3aa8f4454c8b2abf9bb766
---
M src/kudu/integration-tests/txn_participant-itest.cc
M src/kudu/tablet/tablet.cc
M src/kudu/tablet/tablet.h
M src/kudu/tablet/tablet_metadata.cc
M src/kudu/tablet/tablet_metadata.h
M src/kudu/tablet/txn_metadata.h
M src/kudu/tablet/txn_participant-test.cc
M src/kudu/tablet/txn_participant.h
8 files changed, 118 insertions(+), 43 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/33/17233/2
--
To view, visit http://gerrit.cloudera.org:8080/17233
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia4c864b4f14e42008d3aa8f4454c8b2abf9bb766
Gerrit-Change-Number: 17233
Gerrit-PatchSet: 2
Gerrit-Owner: Andrew Wong <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)

Reply via email to