Andrew Wong has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/17839 )
Change subject: [rpc] KUDU-75: refresh DNS entries if proxies hit a network error ...................................................................... [rpc] KUDU-75: refresh DNS entries if proxies hit a network error This patch aims to tackle the following issues that revolve around changes in addresses at runtime. - KUDU-1885: master long-lived tserver proxies need to be re-resolved in case nodes are assigned different addresses; today we just retry at the same location forever. - KUDU-1620: tablet consensus long-lived proxies need to be re-resolved on failure. - C++ clients' usages of RemoteTabletServer also have long-lived proxies and are likely to run into similar problems if tservers are restarted and assigned new physical addresses. It addresses this by plumbing a DnsResolver into the rpc::Proxy class, and chaining the asynchronous callback to an asynchronous refresh of the address with the newly introduced refreshing capabilities of the DnsResolver. The new style of proxy isn't currently used, but a test is added exercising the new functionality. Change-Id: I777d169bd3a461294e5721f05071b726ced70f7e Reviewed-on: http://gerrit.cloudera.org:8080/17839 Tested-by: Kudu Jenkins Reviewed-by: Alexey Serbin <[email protected]> --- M src/kudu/rpc/CMakeLists.txt M src/kudu/rpc/connection_id.cc M src/kudu/rpc/connection_id.h M src/kudu/rpc/mt-rpc-test.cc M src/kudu/rpc/protoc-gen-krpc.cc A src/kudu/rpc/proxy-test.cc M src/kudu/rpc/proxy.cc M src/kudu/rpc/proxy.h M src/kudu/rpc/rpc-test-base.h M src/kudu/rpc/rpc-test.cc M src/kudu/rpc/rpc_stub-test.cc M src/kudu/util/net/sockaddr.cc M src/kudu/util/net/sockaddr.h 13 files changed, 517 insertions(+), 74 deletions(-) Approvals: Kudu Jenkins: Verified Alexey Serbin: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/17839 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I777d169bd3a461294e5721f05071b726ced70f7e Gerrit-Change-Number: 17839 Gerrit-PatchSet: 9 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) Gerrit-Reviewer: Tidy Bot (241)
