Todd Lipcon has submitted this change and it was merged. Change subject: KUDU-687: use client in ksck for master operations ......................................................................
KUDU-687: use client in ksck for master operations This patch modifies ksck to use the client for all master operations, restricting direct access only for tserver operations. In doing so, ksck can now work with multi-master clusters, retrying operations when the leader master dies. Interesting things of note: - I went back and forth on what the semantics of KsckMaster::Connect() ought to be. At first I thought we should ping every master, but in the end I settled on building the client, which just verifies the existence of a leader master. My justification: today's ksck isn't really concerned with master health; the master merely provides information that is consumed during the real checks: of table and tablet integrity. - I relented on commit cf009d4 and restored a MiniCluster method to find the leader master. It's got the same signature as the ExternalMiniCluster variant so that Mike's common cluster interface (a work in progress) can expose it. Change-Id: Icbd6b28ea1b2c88e02cd451095e4dec94b0ebfc3 Reviewed-on: http://gerrit.cloudera.org:8080/4147 Tested-by: Kudu Jenkins Reviewed-by: Todd Lipcon <t...@apache.org> --- M src/kudu/client/schema.h M src/kudu/integration-tests/cluster_verifier.cc M src/kudu/integration-tests/mini_cluster.cc M src/kudu/integration-tests/mini_cluster.h M src/kudu/tools/CMakeLists.txt M src/kudu/tools/ksck-test.cc M src/kudu/tools/ksck.h M src/kudu/tools/ksck_remote-test.cc M src/kudu/tools/ksck_remote.cc M src/kudu/tools/ksck_remote.h M src/kudu/tools/tool_action_cluster.cc 11 files changed, 163 insertions(+), 166 deletions(-) Approvals: Todd Lipcon: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/4147 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: Icbd6b28ea1b2c88e02cd451095e4dec94b0ebfc3 Gerrit-PatchSet: 5 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Dan Burkert <d...@cloudera.com> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy <mpe...@apache.org> Gerrit-Reviewer: Todd Lipcon <t...@apache.org>