Hello Yingchun Lai, Kudu Jenkins, Abhishek Chennaka,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/20609
to look at the new patch set (#2).
Change subject: [rpc] add hostname in Messenger to use it in ServerNegotiation
......................................................................
[rpc] add hostname in Messenger to use it in ServerNegotiation
This patch introduces a new 'hostname' property for the Messenger class
to use it in ServerNegotiation. By doing so, a call to GetFQDN() is
avoided during RPC connection negotiation at the server side. A call
to GetFQDN() might be quite expensive since sometimes it turns into
a remote call, and if DNS resolver is slow or misconfigured, the
round-trip might take several seconds as seen in a some real world
Kudu clusters. By avoiding calls to GetFQDN() as part of
ServerNegotiation::InitSaslServer(), the server-side negotiation is now
more robust at least when using Kerberos credentials for RPC
authentication.
The hostname (usually FQDN) is retrieved as a part of KuduServer::Init()
and stored in the messenger. It's used later on to set the 'hostname'
attribute for the server metrics and also when running server-side
RPC connection negotiation.
I also updated the related code in KuduClient to populate the 'hostname'
property of the messenger and added new test scenarios to cover the
newly introduced functionality.
Change-Id: I1c13e0b4c4320b5b3eeaaf8e63df8b0d56f0ee6a
---
M src/kudu/client/client-test.cc
M src/kudu/client/client.cc
M src/kudu/client/client.h
M src/kudu/master/master-test.cc
M src/kudu/rpc/messenger.cc
M src/kudu/rpc/messenger.h
M src/kudu/rpc/negotiation.cc
M src/kudu/rpc/rpc-test-base.h
M src/kudu/rpc/server_negotiation.h
M src/kudu/server/server_base.cc
M src/kudu/server/server_base.h
M src/kudu/tserver/tablet_server-test.cc
12 files changed, 93 insertions(+), 25 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/09/20609/2
--
To view, visit http://gerrit.cloudera.org:8080/20609
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I1c13e0b4c4320b5b3eeaaf8e63df8b0d56f0ee6a
Gerrit-Change-Number: 20609
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Abhishek Chennaka <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yingchun Lai <[email protected]>