summaryrefslogtreecommitdiff
path: root/src/slowlog.h
diff options
context:
space:
mode:
authorOran Agra <oran@redislabs.com>2020-06-08 09:16:32 +0300
committerOran Agra <oran@redislabs.com>2020-06-08 09:16:32 +0300
commit2fa077b0e93f9312590f6c7c8070eaa0db76747d (patch)
treec573b3746e51e7f36803e08eb9941ac94e60ac08 /src/slowlog.h
parent44b76a75d2d9778491e6bf27119d32315706eda2 (diff)
downloadredis-2fa077b0e93f9312590f6c7c8070eaa0db76747d.tar.gz
Avoid rejecting WATCH / UNWATCH, like MULTI/EXEC/DISCARD
Much like MULTI/EXEC/DISCARD, the WATCH and UNWATCH are not actually operating on the database or server state, but instead operate on the client state. the client may send them all in one long pipeline and check all the responses only at the end, so failing them may lead to a mismatch between the client state on the server and the one on the client end, and execute the wrong commands (ones that were meant to be discarded) the watched keys are not actually stored in the client struct, but they are in fact part of the client state. for instance, they're not cleared or moved in SWAPDB or FLUSHDB.
Diffstat (limited to 'src/slowlog.h')
0 files changed, 0 insertions, 0 deletions