]> git.saurik.com Git - redis.git/blobdiff - src/redis.c
Use a safe iterator while saving the DB, since the getExpire() function will access...
[redis.git] / src / redis.c
index bf51db9d536df64fa675f22aea4565a63d19a217..e7351b6ef5381001b8b78dc221fad40a85a12fc0 100644 (file)
@@ -692,14 +692,16 @@ int serverCron(struct aeEventLoop *eventLoop, long long id, void *clientData) {
          }
 
          /* Trigger an AOF rewrite if needed */
-         if (server.auto_aofrewrite_perc &&
+         if (server.bgsavechildpid == -1 &&
+             server.bgrewritechildpid == -1 &&
+             server.auto_aofrewrite_perc &&
              server.appendonly_current_size > server.auto_aofrewrite_min_size)
          {
             int base = server.auto_aofrewrite_base_size ?
                             server.auto_aofrewrite_base_size : 1;
-            long long growth = (server.appendonly_current_size*100/base);
+            long long growth = (server.appendonly_current_size*100/base) - 100;
             if (growth >= server.auto_aofrewrite_perc) {
-                redisLog(REDIS_NOTICE,"Starting automatic rewriting of AOF on %lld growth",growth);
+                redisLog(REDIS_NOTICE,"Starting automatic rewriting of AOF on %lld%% growth",growth);
                 rewriteAppendOnlyFileBackground();
             }
          }