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)