Also remove size of AOF buffers from used memory when doing the math for freeMemoryIfNeeded()
This commit is contained in:
parent
f6b32c14f4
commit
c1ef6ffe8a
@ -1802,8 +1802,8 @@ int freeMemoryIfNeeded(void) {
|
|||||||
size_t mem_used, mem_tofree, mem_freed;
|
size_t mem_used, mem_tofree, mem_freed;
|
||||||
int slaves = listLength(server.slaves);
|
int slaves = listLength(server.slaves);
|
||||||
|
|
||||||
/* Remove the size of slaves output buffers from the count of used
|
/* Remove the size of slaves output buffers and AOF buffer from the
|
||||||
* memory. */
|
* count of used memory. */
|
||||||
mem_used = zmalloc_used_memory();
|
mem_used = zmalloc_used_memory();
|
||||||
if (slaves) {
|
if (slaves) {
|
||||||
listIter li;
|
listIter li;
|
||||||
@ -1819,6 +1819,10 @@ int freeMemoryIfNeeded(void) {
|
|||||||
mem_used -= obuf_bytes;
|
mem_used -= obuf_bytes;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (server.aof_state != REDIS_AOF_OFF) {
|
||||||
|
mem_used -= sdslen(server.aof_buf);
|
||||||
|
mem_used -= sdslen(server.aof_rewrite_buf);
|
||||||
|
}
|
||||||
|
|
||||||
/* Check if we are over the memory limit. */
|
/* Check if we are over the memory limit. */
|
||||||
if (mem_used <= server.maxmemory) return REDIS_OK;
|
if (mem_used <= server.maxmemory) return REDIS_OK;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user