Closed GoogleCodeExporter closed 8 years ago
Hello, this is a bug indeed, related to the MONITOR command.
After a client is in MONITOR state, if QUIT is called against this connection
the flag REDIS_CLOSE_AFTER_REPLY is set on the connection, but still as an
effect of other clients doing other work some new data may be written against
this client, triggering the assert.
Fixing it into unstable and 2.2 branch in minutes, and then reporting back here.
Original comment by anti...@gmail.com
on 31 Mar 2011 at 2:29
Fixed in both 2.2 and unstable branch. Fix rationale: the assert was not
enforceable due to MONITOR, Pub/Sub, and other systems that will try to append
data even after a QUIT or Protocol Error. So the assert was removed and
conditionals added in the low level code to append to the client output buffer
so that further output will be discarded if the close-after-reply flag is set.
I tested the new code and can no longer crash Redis.
Salvatore
Original comment by anti...@gmail.com
on 31 Mar 2011 at 2:47
Original issue reported on code.google.com by
massimo....@gmail.com
on 31 Mar 2011 at 1:45