Andrew Wong has uploaded this change for review. ( http://gerrit.cloudera.org:8080/17217
Change subject: KUDU-2612: allow ABORT_TXN or FINALIZE_COMMIT when transaction hasn't been started ...................................................................... KUDU-2612: allow ABORT_TXN or FINALIZE_COMMIT when transaction hasn't been started This patch makes allows ABORT_TXN to proceed even if the participant hasn't yet replicated a BEGIN_TXN op. The primary motivator for this is the following case: - A write request is served by participant P1 of transaction T1. - P1's TxnOpDispatcher successfully makes the RegisterParticipant call for T1. - P1 fails to replicate its BEGIN_TXN op for T1. - The write request times out (no further retries happen). - T1 is aborted, and ABORT_TXN ops are sent to all registered participants, including P1. - Since the BEGIN_TXN op wasn't successul on P1, its ABORT_TXN op is also unsuccessful, causing the abort task to halt. Change-Id: Ibf85e0724ee579cb20dac642b82e3228faf90935 --- M src/kudu/client/batcher.cc M src/kudu/integration-tests/txn_write_ops-itest.cc M src/kudu/tablet/lock_manager.h M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet_metadata.cc M src/kudu/tablet/tablet_replica.cc M src/kudu/tablet/txn_participant-test.cc M src/kudu/tablet/txn_participant.h M src/kudu/transactions/txn_status_manager.cc 9 files changed, 40 insertions(+), 33 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/17/17217/1 -- To view, visit http://gerrit.cloudera.org:8080/17217 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ibf85e0724ee579cb20dac642b82e3228faf90935 Gerrit-Change-Number: 17217 Gerrit-PatchSet: 1 Gerrit-Owner: Andrew Wong <[email protected]>
