ensure SHUTDOWN_NOSAVE in Sentinel mode
- enforcing of SHUTDOWN_NOSAVE flag in one place to make it consitent when running in Sentinel mode
This commit is contained in:
parent
fc08cafdb0
commit
6782243054
8
src/db.c
8
src/db.c
@ -963,14 +963,6 @@ void shutdownCommand(client *c) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* When SHUTDOWN is called while the server is loading a dataset in
|
|
||||||
* memory we need to make sure no attempt is performed to save
|
|
||||||
* the dataset on shutdown (otherwise it could overwrite the current DB
|
|
||||||
* with half-read data).
|
|
||||||
*
|
|
||||||
* Also when in Sentinel mode clear the SAVE flag and force NOSAVE. */
|
|
||||||
if (server.loading || server.sentinel_mode)
|
|
||||||
flags = (flags & ~SHUTDOWN_SAVE) | SHUTDOWN_NOSAVE;
|
|
||||||
if (prepareForShutdown(flags) == C_OK) exit(0);
|
if (prepareForShutdown(flags) == C_OK) exit(0);
|
||||||
addReplyError(c,"Errors trying to SHUTDOWN. Check logs.");
|
addReplyError(c,"Errors trying to SHUTDOWN. Check logs.");
|
||||||
}
|
}
|
||||||
|
@ -3680,6 +3680,15 @@ void closeListeningSockets(int unlink_unix_socket) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int prepareForShutdown(int flags) {
|
int prepareForShutdown(int flags) {
|
||||||
|
/* When SHUTDOWN is called while the server is loading a dataset in
|
||||||
|
* memory we need to make sure no attempt is performed to save
|
||||||
|
* the dataset on shutdown (otherwise it could overwrite the current DB
|
||||||
|
* with half-read data).
|
||||||
|
*
|
||||||
|
* Also when in Sentinel mode clear the SAVE flag and force NOSAVE. */
|
||||||
|
if (server.loading || server.sentinel_mode)
|
||||||
|
flags = (flags & ~SHUTDOWN_SAVE) | SHUTDOWN_NOSAVE;
|
||||||
|
|
||||||
int save = flags & SHUTDOWN_SAVE;
|
int save = flags & SHUTDOWN_SAVE;
|
||||||
int nosave = flags & SHUTDOWN_NOSAVE;
|
int nosave = flags & SHUTDOWN_NOSAVE;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user