Hello Adar Dembo, Kudu Jenkins, I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/5869 to look at the new patch set (#3). Change subject: Add new ConnectToMaster RPC, implement client fallback ...................................................................... Add new ConnectToMaster RPC, implement client fallback This adds a new RPC to the master called 'ConnectToMaster', which the client uses when first connecting to the cluster. The client used to use GetMasterRegistration for this purpose, but that returned some unnecessary information, and was overloaded for multiple purposes. This purpose-built RPC will be more useful for piggy-backing cluster security properties, etc. As before, the client sends the RPC to all of the leaders in parallel, and believes any that says it is the leader. In order to preserve backwards compatibility, this introduces a new feature flag in the master protocol. The client sends the new RPC with the new feature flag, and if it sees that it was rejected, falls back to the old RPC. The code is somewhat ugly: as we've known for a while, the Rpc/RetriableRpc/RpcRetrier thing is due for a revamp. But, I didn't want to take on revamping it at this point. So, I hope you'll forgive the spaghetti. In addition to the included unit test, I also manually tested the fallback behavior using 'kudu table list' against an existing cluster running Kudu 1.2. Change-Id: I879801400ede4209679e6eb14eceb43775916c78 --- M src/kudu/client/client-test.cc M src/kudu/client/master_rpc.cc M src/kudu/client/master_rpc.h M src/kudu/master/catalog_manager.cc M src/kudu/master/master.proto M src/kudu/master/master_service.cc M src/kudu/master/master_service.h M src/kudu/rpc/rpc_controller.cc M src/kudu/rpc/rpc_controller.h 9 files changed, 166 insertions(+), 52 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/69/5869/3 -- To view, visit http://gerrit.cloudera.org:8080/5869 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I879801400ede4209679e6eb14eceb43775916c78 Gerrit-PatchSet: 3 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon <t...@apache.org> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: Dan Burkert <danburk...@apache.org> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon <t...@apache.org>