- 21 Feb, 2012 2 commits
- 19 Feb, 2012 3 commits
- 16 Feb, 2012 5 commits
-
-
Pieter Noordhuis authored
The cron is responsible for expiring keys. When keys are expired at load time, it is possible that the snapshot of a master node gets modified. This can in turn lead to inconsistencies in the data set. A more concrete example of this behavior follows. A user reported a slave that would show an monotonically increase input buffer length, shortly after completing a SYNC. Also, `INFO` output showed a single blocked client, which could only be the master link. Investigation showed that indeed the `BRPOP` command was fed by the master. This command can only end up in the stream of write operations when it did NOT block, and effectively executed `RPOP`. However, when the key involved in the `BRPOP` is expired BEFORE the command is executed, the client executing it will block. The client in this case, is the master link.
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
- 15 Feb, 2012 1 commit
-
-
antirez authored
-
- 14 Feb, 2012 5 commits
- 13 Feb, 2012 2 commits
-
-
Salvatore Sanfilippo authored
added lua struct c extension
-
lsbardel authored
-
- 09 Feb, 2012 3 commits
- 08 Feb, 2012 3 commits
- 07 Feb, 2012 6 commits
-
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
Fixes to c->reply_bytes computation, and debug messages to closely study the behavior of memory pressure + slaves + maxmemory + blocked slaves.
-
antirez authored
-
antirez authored
Precision of getClientOutputBufferMemoryUsage() greatily improved, see issue #327 for more information.
-
- 06 Feb, 2012 2 commits
- 05 Feb, 2012 3 commits
- 04 Feb, 2012 2 commits
-
-
antirez authored
1) sendReplyToClient() now no longer stops transferring data to a single client in the case we are out of memory (maxmemory-wise). 2) in processCommand() the idea of we being out of memory is no longer the naive zmalloc_used_memory() > server.maxmemory. To say if we can accept or not write queries is up to the return value of freeMemoryIfNeeded(), that has full control about that. 3) freeMemoryIfNeeded() now does its math without considering output buffers size. But at the same time it can't let the output buffers to put us too much outside the max memory limit, so at the same time it makes sure there is enough effort into delivering the output buffers to the slaves, calling the write handler directly. This three changes are the result of many tests, I found (partially empirically) that is the best way to address the problem, but maybe we'll find better solutions in the future.
-
antirez authored
Use less memory when emitting the protocol, by using more shared objects for commonly emitted parts of the protocol.
-
- 02 Feb, 2012 3 commits
-
-
antirez authored
Now Lua scripts dispatch Redis commands properly calling the call() function. In order to make this possible call() was improved with a new flags argument that controls how the Redis command is executed.
-
antirez authored
Set a 3.5 GB maxmemory limit with noeviction policy if a 32 bit instance without user-provided memory limits is detected.
-
antirez authored
-