summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPieter Noordhuis <pcnoordhuis@gmail.com>2011-08-17 18:15:06 +0200
committerantirez <antirez@gmail.com>2011-09-16 11:14:00 +0200
commit682b63312e711ea71bdad2e11e31871d9fbf75f6 (patch)
tree08ded2f02012493352141e6b59c17ea881e9d2be
parent6fd1a727123ddb19ad265e82d25bc7e409749397 (diff)
downloadredis-682b63312e711ea71bdad2e11e31871d9fbf75f6.tar.gz
Fix AOF race that may duplicate commands
-rw-r--r--src/aof.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/aof.c b/src/aof.c
index a85aa0054..0354592c1 100644
--- a/src/aof.c
+++ b/src/aof.c
@@ -795,6 +795,11 @@ void backgroundRewriteDoneHandler(int statloc) {
server.appendseldb = -1; /* Make sure SELECT is re-issued */
aofUpdateCurrentSize();
server.auto_aofrewrite_base_size = server.appendonly_current_size;
+
+ /* Clear regular AOF buffer since its contents was just written to
+ * the new AOF from the background rewrite buffer. */
+ sdsfree(server.aofbuf);
+ server.aofbuf = sdsempty();
}
redisLog(REDIS_NOTICE, "Background AOF rewrite successful");