-
Notifications
You must be signed in to change notification settings - Fork 24.5k
Closed
Description
If a client sends a long running EVAL command and exceeds lua_time_limit, after return ,redis will no longer read any commands from that link.
server log:
[28748] 10 Jan 16:54:30.285 # Server started, Redis version 2.9.7 [28748] 10 Jan 16:54:30.285 * DB loaded from disk: 0.000 seconds [28748] 10 Jan 16:54:30.285 * The server is now ready to accept connections on port 6379 [28748] 10 Jan 16:55:01.852 # Lua slow script detected: still in execution after 5016 milliseconds. You can try killing the script using the SCRIPT KILL command.
client:
redis 127.0.0.1:6379> eval "for i=1,10000000 do redis.call('ping') end return 'ok'" 0
"ok"
(12.13s)
redis 127.0.0.1:6379> info // nothing returns
client list output in another connection:
redis 127.0.0.1:6379> client list addr=127.0.0.1:53468 fd=7 age=34 idle=4 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events= cmd=eval addr=127.0.0.1:53469 fd=8 age=3 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client
The readable event for the eval client has been removed and not restored.
Reactions are currently unavailable