Unverified Commit eb15c456 authored by Binbin's avatar Binbin Committed by GitHub
Browse files

Check `CLIENT_DIRTY_CAS` flag before process transaction. (#9086)

Do not queue command in an already aborted MULTI state.
We can detect an error (watched key).
So in queueMultiCommand, we also can return early.
Like we deal with `CLIENT_DIRTY_EXEC`.
parent 678e67b5
......@@ -63,7 +63,7 @@ void queueMultiCommand(client *c) {
* this is useful in case client sends these in a pipeline, or doesn't
* bother to read previous responses and didn't notice the multi was already
* aborted. */
if (c->flags & CLIENT_DIRTY_EXEC)
if (c->flags & (CLIENT_DIRTY_CAS|CLIENT_DIRTY_EXEC))
return;
c->mstate.commands = zrealloc(c->mstate.commands,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment