mirror of
http://github.com/valkey-io/valkey
synced 2024-11-22 09:17:20 +00:00
critical bug about glueoutputbuffers=yes fixed. Under load and with pipelining and clients disconnecting on the middle of the chat with the server, Redis could block. Now it's ok
This commit is contained in:
parent
32c3a426a6
commit
6fdc78ac69
1
TODO
1
TODO
@ -5,7 +5,6 @@ BEFORE REDIS 1.0.0-rc1
|
||||
* maxmemory support
|
||||
* maxclients support
|
||||
* Resize the expires and Sets hash tables if needed as well? For Sets the right moment to check for this is probably in SREM
|
||||
* TTL command that returns -1 if a key is not volatile otherwise the time to live of a volatile key in seconds.
|
||||
* What happens if the saving child gets killed or segfaults instead of ending normally? Handle this.
|
||||
* Make sinterstore / unionstore / sdiffstore returning the cardinality of the resulting set.
|
||||
* check 'server.dirty' everywere
|
||||
|
3
redis.c
3
redis.c
@ -1119,7 +1119,8 @@ static void glueReplyBuffersIfNeeded(redisClient *c) {
|
||||
listDelNode(c->reply,ln);
|
||||
}
|
||||
/* Now the output buffer is empty, add the new single element */
|
||||
addReplySds(c,sdsnewlen(buf,totlen));
|
||||
o = createObject(REDIS_STRING,sdsnewlen(buf,totlen));
|
||||
if (!listAddNodeTail(c->reply,o)) oom("listAddNodeTail");
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user