Make sure an automatic rewrite only gets triggered when no other child is in execution.
This commit is contained in:
parent
0ec932208e
commit
19b46c9a09
@ -692,14 +692,16 @@ int serverCron(struct aeEventLoop *eventLoop, long long id, void *clientData) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Trigger an AOF rewrite if needed */
|
/* 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)
|
server.appendonly_current_size > server.auto_aofrewrite_min_size)
|
||||||
{
|
{
|
||||||
int base = server.auto_aofrewrite_base_size ?
|
int base = server.auto_aofrewrite_base_size ?
|
||||||
server.auto_aofrewrite_base_size : 1;
|
server.auto_aofrewrite_base_size : 1;
|
||||||
long long growth = (server.appendonly_current_size*100/base);
|
long long growth = (server.appendonly_current_size*100/base);
|
||||||
if (growth >= server.auto_aofrewrite_perc) {
|
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();
|
rewriteAppendOnlyFileBackground();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user