- 07 Jun, 2014 1 commit
-
-
antirez authored
SET-CONFIG-EPOCH, used by redis-trib at cluster creation time, failed to update the currentEpoch, making it possible after a failover for a server to set its configEpoch to a value smaller than the current one (since configEpochs are obtained using currentEpoch). The bug totally break the Redis Cluster algorithms and protocols allowing for permanent split brain conditions about the slots configuration as shown in issue #1799.
-
- 06 Jun, 2014 4 commits
-
-
Andy Grunwald authored
-
Jan-Erik Rediger authored
-
yoav authored
-
zionwu authored
-
- 05 Jun, 2014 2 commits
- 04 Jun, 2014 3 commits
-
-
antirez authored
I'm not sure if while the visibility is the inner block, the fact we point to 'dbuf' is a problem or not, probably the stack var isx guaranteed to live until the function returns. However obvious code is better anyway.
-
antirez authored
-
antirez authored
The lua_to*string() family of functions use a non optimal format specifier when converting integers to strings. This has both the problem of the number being converted in exponential notation, which we don't use as a Redis return value when floating point numbers are involed, and, moreover, there is a loss of precision since the default format specifier is not able to represent numbers that must be represented exactly in the IEEE 754 number mantissa. The new code handles it as a special case using a saner conversion. This fixes issue #1118.
-
- 28 May, 2014 1 commit
-
-
antirez authored
-
- 26 May, 2014 7 commits
-
-
antirez authored
-
Matt Stancliff authored
Previously the PID format was: [PID] Timestamp But it recently changed to: PID:X Timestamp The tcl testing framework was grabbing the PID from \[\d+\], but that's not valid anymore. Now we grab the pid from "PID: <PID>" in the part of Redis startup output to the right of the ASCII logo.
-
Matt Stancliff authored
If we are in the signal handler, we don't want to handle the signal again. In extreme cases, this can cause a stack overflow and segfault Redis. Fixes #1771
-
antirez authored
-
antirez authored
There is a time defined by REDIS_CLUSTER_WRITABLE_DELAY where fail -> ok switch is not possible after startup as a master for some time, however the contrary (ok -> fail) should always be possible.
-
antirez authored
FLUSHALL will fail on read-only slaves, but there the command is not needed in order to reset the instance with CLUSTER RESET so errors can be ignored.
-
antirez authored
-
- 23 May, 2014 14 commits
-
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
Do things in a sequence that prevents failover during failure detection.
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
Every log contains, just after the pid, a single character that provides information about the role of an instance: S - Slave M - Master C - Writing child X - Sentinel
-
antirez authored
Check the commit changes in the example redis.conf for more information.
-
antirez authored
The bug was triggered by running the test with Valgrind (which is a lot slower and more sensible to timing issues) after the recent changes that made Redis more promptly able to reply with the -LOADING error.
-
antirez authored
-
antirez authored
While iterating the list of nodes we want to set the slot as stable in the current node, not always in the first node of the list.
-
antirez authored
-
antirez authored
This fixes issue #1765.
-
- 20 May, 2014 8 commits
-
-
antirez authored
-
antirez authored
-
antirez authored
-
michael-grunder authored
When scanning the argument list inside of a redis.call() invocation for pre-cached values, there was no check being done that the argument we were on was in fact within the bounds of the cache size. So if a redis.call() command was ever executed with more than 32 arguments (current cache size #define setting) redis-server could segfault.
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
clusterHandleSlaveFailover() was reimplementing what clusterSetNodeAsMaster() without any good reason.
-