diff options
author | Binbin <binloveplay1314@qq.com> | 2022-06-23 23:40:20 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-23 18:40:20 +0300 |
commit | 755b51a42c7b0dd570b80d9893ae26d94d71e39c (patch) | |
tree | 0401fc955d62454b0cc79af8ebb96195f16bd95e | |
parent | c52922e1d9d94a7aea705d3f91e0185ef2a9cfae (diff) | |
download | redis-755b51a42c7b0dd570b80d9893ae26d94d71e39c.tar.gz |
When dirCreateIfMissing or openNewIncrAofForAppend fail, set aof_lastbgrewrite_status to err (#10775)
It will be displayed in the `aof_last_bgrewrite_status`
field of the INFO command.
-rw-r--r-- | src/aof.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -2408,6 +2408,7 @@ int rewriteAppendOnlyFileBackground(void) { if (dirCreateIfMissing(server.aof_dirname) == -1) { serverLog(LL_WARNING, "Can't open or create append-only dir %s: %s", server.aof_dirname, strerror(errno)); + server.aof_lastbgrewrite_status = C_ERR; return C_ERR; } @@ -2415,7 +2416,10 @@ int rewriteAppendOnlyFileBackground(void) { * feedAppendOnlyFile() to issue a SELECT command. */ server.aof_selected_db = -1; flushAppendOnlyFile(1); - if (openNewIncrAofForAppend() != C_OK) return C_ERR; + if (openNewIncrAofForAppend() != C_OK) { + server.aof_lastbgrewrite_status = C_ERR; + return C_ERR; + } server.stat_aof_rewrites++; if ((childpid = redisFork(CHILD_TYPE_AOF)) == 0) { char tmpfile[256]; |