do not handle --cluster-yes for cluster fix mode
This commit is contained in:
parent
57b4fb0d84
commit
e8b09d2203
@ -1797,11 +1797,14 @@ static void usage(void) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
static int confirmWithYes(char *msg) {
|
||||
if (config.cluster_manager_command.flags & CLUSTER_MANAGER_CMD_FLAG_YES) {
|
||||
static int confirmWithYes(char *msg, int force) {
|
||||
/* if force is true and --cluster-yes option is on,
|
||||
* do not prompt for an answer */
|
||||
if (force &&
|
||||
(config.cluster_manager_command.flags & CLUSTER_MANAGER_CMD_FLAG_YES)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
printf("%s (type 'yes' to accept): ", msg);
|
||||
fflush(stdout);
|
||||
char buf[4];
|
||||
@ -4476,12 +4479,16 @@ static int clusterManagerFixSlotsCoverage(char *all_slots) {
|
||||
}
|
||||
dictReleaseIterator(iter);
|
||||
|
||||
/* we want explicit manual confirmation from users for all the fix cases */
|
||||
int force = 0;
|
||||
|
||||
/* Handle case "1": keys in no node. */
|
||||
if (listLength(none) > 0) {
|
||||
printf("The following uncovered slots have no keys "
|
||||
"across the cluster:\n");
|
||||
clusterManagerPrintSlotsList(none);
|
||||
if (confirmWithYes("Fix these slots by covering with a random node?")){
|
||||
if (confirmWithYes("Fix these slots by covering with a random node?",
|
||||
force)) {
|
||||
listIter li;
|
||||
listNode *ln;
|
||||
listRewind(none, &li);
|
||||
@ -4507,7 +4514,8 @@ static int clusterManagerFixSlotsCoverage(char *all_slots) {
|
||||
if (listLength(single) > 0) {
|
||||
printf("The following uncovered slots have keys in just one node:\n");
|
||||
clusterManagerPrintSlotsList(single);
|
||||
if (confirmWithYes("Fix these slots by covering with those nodes?")){
|
||||
if (confirmWithYes("Fix these slots by covering with those nodes?",
|
||||
force)) {
|
||||
listIter li;
|
||||
listNode *ln;
|
||||
listRewind(single, &li);
|
||||
@ -4539,7 +4547,7 @@ static int clusterManagerFixSlotsCoverage(char *all_slots) {
|
||||
printf("The following uncovered slots have keys in multiple nodes:\n");
|
||||
clusterManagerPrintSlotsList(multi);
|
||||
if (confirmWithYes("Fix these slots by moving keys "
|
||||
"into a single node?")) {
|
||||
"into a single node?", force)) {
|
||||
listIter li;
|
||||
listNode *ln;
|
||||
listRewind(multi, &li);
|
||||
@ -5502,7 +5510,8 @@ assign_replicas:
|
||||
}
|
||||
clusterManagerOptimizeAntiAffinity(ip_nodes, ip_count);
|
||||
clusterManagerShowNodes();
|
||||
if (confirmWithYes("Can I set the above configuration?")) {
|
||||
int force = 1;
|
||||
if (confirmWithYes("Can I set the above configuration?", force)) {
|
||||
listRewind(cluster_manager.nodes, &li);
|
||||
while ((ln = listNext(&li)) != NULL) {
|
||||
clusterManagerNode *node = ln->value;
|
||||
|
Loading…
x
Reference in New Issue
Block a user