From 5f54a5e615efca2c15a8990c336986d9c9497453 Mon Sep 17 00:00:00 2001 From: Pieter Noordhuis Date: Wed, 17 Aug 2011 18:15:06 +0200 Subject: [PATCH] Fix AOF race that may duplicate commands --- src/aof.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/aof.c b/src/aof.c index 7b15acb8..42f153be 100644 --- 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");