- 18 Mar, 2012 7 commits
-
-
antirez authored
More memory tests implemented. Default number of iterations lowered to a more acceptable value of 50.
-
antirez authored
-
antirez authored
Number of iteration of --test-memory is now 300 (several minutes per gigabyte). Memtest86 and Memtester links are also displayed while running the test.
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
- 26 Feb, 2012 1 commit
-
-
antirez authored
redis-benchmark: backported the more capable version from the unstable branch (pipelining,run selected tests,fixes)
-
- 22 Feb, 2012 4 commits
-
-
antirez authored
Fix for issue #306, thanks to tchajed (on github) for the pull request. The original patch was reworked a bit.
-
antirez authored
-
antirez authored
-
antirez authored
zzlIsInRange() now is capable of handling empty sorted sets that may end inside the data set when loading very old RDB files produced by early-stage versions of Redis.
-
- 21 Feb, 2012 6 commits
-
-
Pieter Noordhuis authored
-
Pieter Noordhuis authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
- 16 Feb, 2012 1 commit
-
-
antirez authored
-
- 15 Feb, 2012 8 commits
-
-
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
Precision of getClientOutputBufferMemoryUsage() greatily improved, see issue #327 for more information.
-
antirez authored
-
antirez authored
-
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
Initial version of c->reply_bytes implementation backported from unstable to 2.4, in order to apply issue 327 patches.
-
- 14 Feb, 2012 2 commits
- 02 Feb, 2012 5 commits
- 14 Jan, 2012 1 commit
-
-
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.
-
- 12 Jan, 2012 1 commit
-
-
antirez authored
On crash print information about the current client (if any), command vector, and object associated to first argument assuming it is a key.
-
- 11 Jan, 2012 2 commits
- 10 Jan, 2012 1 commit
-
-
antirez authored
-
- 07 Jan, 2012 1 commit
-
-
antirez authored
Protections against protocol desyncs, leading to infinite query buffer growing, due to nul-terms in specific bytes of the request or indefinitely long multi bulk or bulk count strings without newlines. This bug is related to Issue #141 as well.
-