Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
e8b09d22
Commit
e8b09d22
authored
May 14, 2020
by
Benjamin Sergeant
Committed by
antirez
May 22, 2020
Browse files
do not handle --cluster-yes for cluster fix mode
parent
57b4fb0d
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/redis-cli.c
View file @
e8b09d22
...
...
@@ -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
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment