mirror of
https://codeberg.org/redict/redict.git
synced 2025-01-23 00:28:26 -05:00
497351ad07
* SLOWLOG didn't record anything for blocked commands because the client was reset and argv was already empty. there was a fix for this issue specifically for modules, now it works for all blocked clients. * The original command argv (before being re-written) was also reset before adding the slowlog on behalf of the blocked command. * Latency monitor is now updated regardless of the slowlog flags of the command or its execution (their purpose is to hide sensitive info from the slowlog, not hide the fact the latency happened). * Latency monitor now uses real_cmd rather than c->cmd (which may be different if the command got re-written, e.g. GEOADD) Changes: * Unify shared code between slowlog insertion in call() and updateStatsOnUnblock(), hopefully prevent future bugs from happening due to the later being overlooked. * Reset CLIENT_PREVENT_LOGGING in resetClient rather than after command processing. * Add a test for SLOWLOG and BLPOP Notes: - real_cmd == c->lastcmd, except inside MULTI and Lua. - blocked commands never happen in these cases (MULTI / Lua) - real_cmd == c->cmd, except for when the command is rewritten (e.g. GEOADD) - blocked commands (currently) are never rewritten - other than the command's CLIENT_PREVENT_LOGGING, and the execution flag CLIENT_PREVENT_LOGGING, other cases that we want to avoid slowlog are on AOF loading (specifically CMD_CALL_SLOWLOG will be off when executed from execCommand that runs from an AOF) |
||
---|---|---|
.. | ||
moduleapi | ||
type | ||
acl.tcl | ||
aofrw.tcl | ||
auth.tcl | ||
bitfield.tcl | ||
bitops.tcl | ||
dump.tcl | ||
expire.tcl | ||
geo.tcl | ||
hyperloglog.tcl | ||
info.tcl | ||
introspection-2.tcl | ||
introspection.tcl | ||
keyspace.tcl | ||
latency-monitor.tcl | ||
lazyfree.tcl | ||
limits.tcl | ||
maxmemory.tcl | ||
memefficiency.tcl | ||
multi.tcl | ||
networking.tcl | ||
obuf-limits.tcl | ||
oom-score-adj.tcl | ||
other.tcl | ||
pause.tcl | ||
pendingquerybuf.tcl | ||
printver.tcl | ||
protocol.tcl | ||
pubsub.tcl | ||
quit.tcl | ||
scan.tcl | ||
scripting.tcl | ||
shutdown.tcl | ||
slowlog.tcl | ||
sort.tcl | ||
tls.tcl | ||
tracking.tcl | ||
wait.tcl |