generalize config file check for sentinel (#8730)
The implications of this change is just that in the past when a config file was missing, in some cases it was exiting before printing the sever startup prints and sometimes after, and now it'll always exit before printing them.
This commit is contained in:
parent
e5d50b236c
commit
d5935bb0a4
@ -549,14 +549,12 @@ void initSentinel(void) {
|
||||
server.sentinel_config = NULL;
|
||||
}
|
||||
|
||||
/* This function gets called when the server is in Sentinel mode, started,
|
||||
* loaded the configuration, and is ready for normal operations. */
|
||||
void sentinelIsRunning(void) {
|
||||
int j;
|
||||
|
||||
/* This function is for checking whether sentinel config file has been set,
|
||||
* also checking whether we have write permissions. */
|
||||
void sentinelCheckConfigFile(void) {
|
||||
if (server.configfile == NULL) {
|
||||
serverLog(LL_WARNING,
|
||||
"Sentinel started without a config file. Exiting...");
|
||||
"Sentinel needs config file on disk to save state. Exiting...");
|
||||
exit(1);
|
||||
} else if (access(server.configfile,W_OK) == -1) {
|
||||
serverLog(LL_WARNING,
|
||||
@ -564,6 +562,12 @@ void sentinelIsRunning(void) {
|
||||
server.configfile,strerror(errno));
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
/* This function gets called when the server is in Sentinel mode, started,
|
||||
* loaded the configuration, and is ready for normal operations. */
|
||||
void sentinelIsRunning(void) {
|
||||
int j;
|
||||
|
||||
/* If this Sentinel has yet no ID set in the configuration file, we
|
||||
* pick a random one and persist the config on disk. From now on this
|
||||
|
@ -6247,7 +6247,6 @@ int main(int argc, char **argv) {
|
||||
server.exec_argv[1] = zstrdup(server.configfile);
|
||||
j = 2; // Skip this arg when parsing options
|
||||
}
|
||||
|
||||
while(j < argc) {
|
||||
/* Either first or last argument - Should we read config from stdin? */
|
||||
if (argv[j][0] == '-' && argv[j][1] == '\0' && (j == 1 || j == argc-1)) {
|
||||
@ -6270,16 +6269,11 @@ int main(int argc, char **argv) {
|
||||
j++;
|
||||
}
|
||||
|
||||
if (server.sentinel_mode && ! server.configfile) {
|
||||
serverLog(LL_WARNING,
|
||||
"Sentinel needs config file on disk to save state. Exiting...");
|
||||
exit(1);
|
||||
}
|
||||
loadServerConfig(server.configfile, config_from_stdin, options);
|
||||
if (server.sentinel_mode) loadSentinelConfigFromQueue();
|
||||
sdsfree(options);
|
||||
}
|
||||
|
||||
if (server.sentinel_mode) sentinelCheckConfigFile();
|
||||
server.supervised = redisIsSupervised(server.supervised_mode);
|
||||
int background = server.daemonize && !server.supervised;
|
||||
if (background) daemonize();
|
||||
|
@ -2404,6 +2404,7 @@ const char *sentinelHandleConfiguration(char **argv, int argc);
|
||||
void queueSentinelConfig(sds *argv, int argc, int linenum, sds line);
|
||||
void loadSentinelConfigFromQueue(void);
|
||||
void sentinelIsRunning(void);
|
||||
void sentinelCheckConfigFile(void);
|
||||
|
||||
/* redis-check-rdb & aof */
|
||||
int redis_check_rdb(char *rdbfilename, FILE *fp);
|
||||
|
Loading…
x
Reference in New Issue
Block a user