Alexey Serbin has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/16815 )

Change subject: [txn] update not-a-leader retry logic in TxnSystemClient
......................................................................

[txn] update not-a-leader retry logic in TxnSystemClient

This patch updates the retry logic in TxnSystemClient to handle
the case when TxnStatusManager returns Status::ServiceUnavailable().

In addition, this patch adds extra provision to check for tablet replica
status in StatusManager::CheckTxnStatusDataLoadedUnlocked().
The signatures of the involved methods have been updated as well.

This patch also enhances FinalizeCommitTransaction() to report
on errors from underlying tablet, if any.  Also, TXN_ILLEGAL_STATE error
code is added into CoordinateTransactionResponsePB responses when
TxnStatusManager finds the requested transaction in a wrong state.

I didn't add new tests scenarios in this patch: they are present in
follow-up patches which introduce the tracking of stalled transactions.

Change-Id: I1b8abb27c7678c5c616a325343620902f6cbfd59
Reviewed-on: http://gerrit.cloudera.org:8080/16815
Reviewed-by: Andrew Wong <aw...@cloudera.com>
Reviewed-by: Hao Hao <hao....@cloudera.com>
Tested-by: Alexey Serbin <aser...@cloudera.com>
---
M src/kudu/client/client-test.cc
M src/kudu/tablet/txn_coordinator.h
M src/kudu/transactions/coordinator_rpc.cc
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/tserver/tablet_service.cc
7 files changed, 178 insertions(+), 74 deletions(-)

Approvals:
  Andrew Wong: Looks good to me, approved
  Hao Hao: Looks good to me, approved
  Alexey Serbin: Verified

-- 
To view, visit http://gerrit.cloudera.org:8080/16815
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I1b8abb27c7678c5c616a325343620902f6cbfd59
Gerrit-Change-Number: 16815
Gerrit-PatchSet: 6
Gerrit-Owner: Alexey Serbin <aser...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Hao Hao <hao....@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)

Reply via email to