Andrew Wong has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/16277 )
Change subject: KUDU-2612 p7: add transaction participants to tablets ...................................................................... KUDU-2612 p7: add transaction participants to tablets This patch adds state tracking on transaction participants (i.e. tablets that are participating in a transaction) in the form of a map from transaction ID to transaction state. Each transaction that a tablet participates in has associated with it a state machine that will be controlled by the transaction status manager based on global transaction state maintained therein. Participant state tracking is plugged into the op driver framework. The details of this state machine are outlined in txn_participant.h. While this patch Raft commits participant ops using the existing op driver framework, it doesn't replay participant ops from the WAL or anchor WAL segments. As such, tests are only added to test the replication aspect of participant op drivers, rather than testing any form of durability. The added state can only be called via internal APIs. There are no RPC endpoints with which the code in this patch can be reached. Change-Id: I39201ce1d911308cd28f3f4790a126e30052f3bf Reviewed-on: http://gerrit.cloudera.org:8080/16277 Tested-by: Kudu Jenkins Reviewed-by: Alexey Serbin <[email protected]> --- M src/kudu/consensus/consensus.proto M src/kudu/integration-tests/CMakeLists.txt A src/kudu/integration-tests/txn_participant-itest.cc M src/kudu/tablet/CMakeLists.txt M src/kudu/tablet/ops/op.h M src/kudu/tablet/ops/op_tracker.cc A src/kudu/tablet/ops/participant_op.cc A src/kudu/tablet/ops/participant_op.h M src/kudu/tablet/tablet.h M src/kudu/tablet/tablet_replica.cc M src/kudu/tablet/tablet_replica.h A src/kudu/tablet/txn_participant-test-util.h A src/kudu/tablet/txn_participant-test.cc A src/kudu/tablet/txn_participant.cc A src/kudu/tablet/txn_participant.h M src/kudu/tserver/tserver_admin.proto 16 files changed, 1,333 insertions(+), 9 deletions(-) Approvals: Kudu Jenkins: Verified Alexey Serbin: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/16277 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I39201ce1d911308cd28f3f4790a126e30052f3bf Gerrit-Change-Number: 16277 Gerrit-PatchSet: 8 Gerrit-Owner: Andrew Wong <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Andrew Wong <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120)
