diff options
author | Oran Agra <oran@redislabs.com> | 2020-06-08 09:16:32 +0300 |
---|---|---|
committer | Oran Agra <oran@redislabs.com> | 2020-06-08 09:16:32 +0300 |
commit | 2fa077b0e93f9312590f6c7c8070eaa0db76747d (patch) | |
tree | c573b3746e51e7f36803e08eb9941ac94e60ac08 /src/slowlog.h | |
parent | 44b76a75d2d9778491e6bf27119d32315706eda2 (diff) | |
download | redis-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