]> git.saurik.com Git - redis.git/commitdiff
Fix AOF race that may duplicate commands
authorPieter Noordhuis <pcnoordhuis@gmail.com>
Wed, 17 Aug 2011 16:15:06 +0000 (18:15 +0200)
committerantirez <antirez@gmail.com>
Fri, 16 Sep 2011 09:12:31 +0000 (11:12 +0200)
src/aof.c

index 7b15acb82daeadc0e164bec9034a05438cd6e0fb..42f153bef083adf16d3bdde6bec252d7dcf3dc69 100644 (file)
--- a/src/aof.c
+++ b/src/aof.c
@@ -766,6 +766,11 @@ void backgroundRewriteDoneHandler(int exitcode, int bysignal) {
             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");