Alexey Serbin has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/16526


Change subject: KUDU-2612 p5 (b): add highest_seen_txn_id into 
CoordinatorOpResultPB
......................................................................

KUDU-2612 p5 (b): add highest_seen_txn_id into CoordinatorOpResultPB

This patch adds the highest transaction identifier seen by the
TxnStatusManager (TxnStatusManager coordinates the lifecycle of
transactional operations for a particular tablet of the transaction
status table).  The new field is populated when responding to
CoordinateTransaction() RPC of the BEGIN_TXN type.

The signature and the implementation of the related methods in the
TxnStatusManager and TxnSystemClient classes have been updated as well,
along with corresponding tests to cover the newly introduced
functionality.

The newly introduced field will be used in a follow-up patch containing
the initial implementation of the TxnManager component.  The rationale
behind having this new field is to allow the TxnManager to 'calibrate'
its last seen txn_id, so it could make less trial-and-error iterations
when reserving an identifier for a transaction.

The CoordinatorOpResultPB::highest_seen_txn_id would not be needed
if TxnStatusManager (or their federation) was able to reserve an
identifier for a new transaction on their own.  Of course, that would
require some sort of interaction among TxnStatusManager instances
(like request forwarding or alike).  But without such a provision,
the TxnManager needs the newly introduced field to succeed with its
trial-and-error approach while finding the next available identifier
for a newly initiated transaction.

This is a follow-up to 95f4109518e7b81b9115a4e8bacbd157dcecad0c.

Change-Id: Ifcb4d90bc10a5695c3f54229688ccdcaf56011d0
---
M src/kudu/integration-tests/ts_tablet_manager-itest.cc
M src/kudu/integration-tests/txn_status_table-itest.cc
M src/kudu/tablet/txn_coordinator.h
M src/kudu/transactions/txn_status_manager-test.cc
M src/kudu/transactions/txn_status_manager.cc
M src/kudu/transactions/txn_status_manager.h
M src/kudu/transactions/txn_system_client.cc
M src/kudu/transactions/txn_system_client.h
M src/kudu/tserver/tablet_service.cc
M src/kudu/tserver/tserver_admin.proto
10 files changed, 154 insertions(+), 46 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/26/16526/1
--
To view, visit http://gerrit.cloudera.org:8080/16526
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifcb4d90bc10a5695c3f54229688ccdcaf56011d0
Gerrit-Change-Number: 16526
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin <[email protected]>

Reply via email to