Will Berkeley has uploaded a new change for review. http://gerrit.cloudera.org:8080/7444
Change subject: [tools] Add a 'kudu tablet relocate' tool ...................................................................... [tools] Add a 'kudu tablet relocate' tool This patch adds a relocate tool that moves a tablet replica from one tablet server to another. Usage: kudu tablet change_config relocate_replica <masters> <tablet id> <remove id> <add id> It works by adding <add id> to the configuration, waiting for it to tablet copy, then removing <remove id>. In the typical case, this means the number of replicas will change 3 -> 4 -> 3, and therefore the number of tolerable faults is 1 while the new tablet bootstraps. As a result of this extra fragility, the tool requires the tablet to be in "perfect health" when it runs, meaning ksck returns no errors for the tablet, and also requires the same after the copy is complete but before removing a replica. This probably limits the usefulness of the tool to rebalancing replicas within a healthy tablet. Once pre-voters are implemented, it should be safe to allow the tool to remove a replica just after adding one, without waiting for the copy to finish, assuming the tablet stays healthy. Additionally, this makes some minimal changes to ksck to allow it to print to other output streams besides stdout. The purpose was to allow the output to be suppressed when running the tool, since the use of ksck is an implementation detail, and the output is noisy. Change-Id: I8684e4826bfeaf36b31d297ec1e49897705867f1 Change-Id: I3b7a7243333ba6e6a3d6fce96b220224d6e38a84 --- M src/kudu/tools/ksck-test.cc M src/kudu/tools/ksck.cc M src/kudu/tools/ksck.h M src/kudu/tools/ksck_remote-test.cc M src/kudu/tools/kudu-admin-test.cc M src/kudu/tools/kudu-tool-test.cc M src/kudu/tools/tool_action_tablet.cc 7 files changed, 377 insertions(+), 126 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/44/7444/1 -- To view, visit http://gerrit.cloudera.org:8080/7444 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I3b7a7243333ba6e6a3d6fce96b220224d6e38a84 Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Will Berkeley <[email protected]>
