Cluster: fix error reporting when slaveof is found in config.
This commit is contained in:
parent
ac3850cabd
commit
437fc2cb56
@ -82,6 +82,7 @@ void resetServerSaveParams() {
|
|||||||
void loadServerConfigFromString(char *config) {
|
void loadServerConfigFromString(char *config) {
|
||||||
char *err = NULL;
|
char *err = NULL;
|
||||||
int linenum = 0, totlines, i;
|
int linenum = 0, totlines, i;
|
||||||
|
int slaveof_linenum = 0;
|
||||||
sds *lines;
|
sds *lines;
|
||||||
|
|
||||||
lines = sdssplitlen(config,strlen(config),"\n",1,&totlines);
|
lines = sdssplitlen(config,strlen(config),"\n",1,&totlines);
|
||||||
@ -244,6 +245,7 @@ void loadServerConfigFromString(char *config) {
|
|||||||
goto loaderr;
|
goto loaderr;
|
||||||
}
|
}
|
||||||
} else if (!strcasecmp(argv[0],"slaveof") && argc == 3) {
|
} else if (!strcasecmp(argv[0],"slaveof") && argc == 3) {
|
||||||
|
slaveof_linenum = linenum;
|
||||||
server.masterhost = sdsnew(argv[1]);
|
server.masterhost = sdsnew(argv[1]);
|
||||||
server.masterport = atoi(argv[2]);
|
server.masterport = atoi(argv[2]);
|
||||||
server.repl_state = REDIS_REPL_CONNECT;
|
server.repl_state = REDIS_REPL_CONNECT;
|
||||||
@ -490,13 +492,16 @@ void loadServerConfigFromString(char *config) {
|
|||||||
}
|
}
|
||||||
sdsfreesplitres(argv,argc);
|
sdsfreesplitres(argv,argc);
|
||||||
}
|
}
|
||||||
sdsfreesplitres(lines,totlines);
|
|
||||||
|
|
||||||
/* Sanity checks. */
|
/* Sanity checks. */
|
||||||
if (server.cluster_enabled && server.masterhost) {
|
if (server.cluster_enabled && server.masterhost) {
|
||||||
|
linenum = slaveof_linenum;
|
||||||
|
i = linenum-1;
|
||||||
err = "slaveof directive not allowed in cluster mode";
|
err = "slaveof directive not allowed in cluster mode";
|
||||||
goto loaderr;
|
goto loaderr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sdsfreesplitres(lines,totlines);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
loaderr:
|
loaderr:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user