}
/* 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 growth = (server.appendonly_current_size*100/
- server.auto_aofrewrite_base_size);
+ int base = server.auto_aofrewrite_base_size ?
+ server.auto_aofrewrite_base_size : 1;
+ 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 %d growth",growth);
+ redisLog(REDIS_NOTICE,"Starting automatic rewriting of AOF on %lld%% growth",growth);
rewriteAppendOnlyFileBackground();
}
}
server.lastsave,
server.bgrewritechildpid != -1);
+ if (server.appendonly) {
+ info = sdscatprintf(info,
+ "aof_current_size:%lld\r\n"
+ "aof_base_size:%lld\r\n"
+ "aof_pending_rewrite:%d\r\n",
+ (long long) server.appendonly_current_size,
+ (long long) server.auto_aofrewrite_base_size,
+ server.aofrewrite_scheduled);
+ }
+
if (server.loading) {
double perc;
time_t eta, elapsed;