Andrew Wong has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/17343 )
Change subject: [client] retry master RPCs on network errors ...................................................................... [client] retry master RPCs on network errors AsyncLeaderMasterRpc and AsyncRandomTxnManagerRpc fail fast when it runs into a network error. We expect such errors in a couple of scenarios: - the client is misconfigured and is pointing at the wrong masters - the masters are down or otherwise unavailable The current handling makes it convenient in the former case, since users can immediately adjust their application or tooling with the correct masters list. However, this seems to be a far less expected scenario than the latter. So, this patch updates the behavior to retry on such errors, as we would an RPC timeout. The end result is that leader-master-bound requests should be more resilient to master failures. The primary motivation for this is to make TxnManager calls more robust to master failures -- a later patch will leverage this behavior. Change-Id: Iae2febb9e890acf6f7efd5cce3cb7e4f7b5f683d Reviewed-on: http://gerrit.cloudera.org:8080/17343 Tested-by: Andrew Wong <[email protected]> Reviewed-by: Alexey Serbin <[email protected]> --- M src/kudu/client/client-test.cc M src/kudu/client/master_proxy_rpc.cc M src/kudu/client/transaction-internal.cc M src/kudu/client/txn_manager_proxy_rpc.cc M src/kudu/integration-tests/master_hms-itest.cc M src/kudu/integration-tests/txn_commit-itest.cc M src/kudu/integration-tests/txn_status_table-itest.cc 7 files changed, 97 insertions(+), 72 deletions(-) Approvals: Andrew Wong: Verified Alexey Serbin: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/17343 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Iae2febb9e890acf6f7efd5cce3cb7e4f7b5f683d Gerrit-Change-Number: 17343 Gerrit-PatchSet: 6 Gerrit-Owner: Andrew Wong <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Andrew Wong <[email protected]> Gerrit-Reviewer: Bankim Bhavsar <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120)
