mirror of
https://github.com/fluencelabs/redis
synced 2025-04-12 04:06:04 +00:00
Don't perform eviction when re-entering the event loop.
Related to #5250.
This commit is contained in:
parent
4e5e0d3719
commit
51b627d916
@ -2593,8 +2593,13 @@ int processCommand(client *c) {
|
|||||||
*
|
*
|
||||||
* First we try to free some memory if possible (if there are volatile
|
* First we try to free some memory if possible (if there are volatile
|
||||||
* keys in the dataset). If there are not the only thing we can do
|
* keys in the dataset). If there are not the only thing we can do
|
||||||
* is returning an error. */
|
* is returning an error.
|
||||||
if (server.maxmemory) {
|
*
|
||||||
|
* Note that we do not want to reclaim memory if we are here re-entering
|
||||||
|
* the event loop since there is a busy Lua script running in timeout
|
||||||
|
* condition, to avoid mixing the propagation of scripts with the propagation
|
||||||
|
* of DELs due to eviction. */
|
||||||
|
if (server.maxmemory && !server.lua_timedout) {
|
||||||
int out_of_memory = freeMemoryIfNeeded() == C_ERR;
|
int out_of_memory = freeMemoryIfNeeded() == C_ERR;
|
||||||
/* freeMemoryIfNeeded may flush slave output buffers. This may result
|
/* freeMemoryIfNeeded may flush slave output buffers. This may result
|
||||||
* into a slave, that may be the active client, to be freed. */
|
* into a slave, that may be the active client, to be freed. */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user