- 23 6月, 2014 12 次提交
-
-
由 antirez 提交于
In the initialization test for each instance we used to unregister the old master and register it again to clear the config. However there is a race condition doing this: as soon as we unregister and re-register "mymaster", another Sentinel can update the new configuration with the old state because of gossip "hello" messages. So the correct procedure is instead, unregister "mymaster" from all the sentinel instances, and re-register it everywhere again.
-
由 antirez 提交于
-
由 antirez 提交于
-
由 antirez 提交于
-
由 antirez 提交于
-
由 Matt Stancliff 提交于
Some deployments need traffic sent from a specific address. This change uses the same policy as Cluster where the first listed bindaddr becomes the source address for outgoing Sentinel communication. Fixes #1667
-
由 Matt Stancliff 提交于
We need to access (bindaddr[0] || NULL) in a few places, so centralize access with a nice macro.
-
由 antirez 提交于
-
由 Matt Stancliff 提交于
This is hiredis f225c276be7fd0646019b51023e3f41566633dfe This update includes all changes that diverged inside of Redis since the last update. This version also allows optional source address binding for connections which we need for some Sentinel deployments.
-
由 Matt Stancliff 提交于
Fixes #1826 (and many other reports of the same problem)
-
由 Salvatore Sanfilippo 提交于
Cancel SHUTDOWN if initial AOF is being written
-
由 antirez 提交于
-
- 21 6月, 2014 3 次提交
-
-
由 Matt Stancliff 提交于
Fixes #1826 (and many other reports of the same problem)
-
由 antirez 提交于
-
由 antirez 提交于
-
- 20 6月, 2014 3 次提交
- 19 6月, 2014 5 次提交
-
-
由 antirez 提交于
-
由 antirez 提交于
-
由 antirez 提交于
Eventual configuration convergence is guaranteed by our periodic hello messages to all the instances, however when there are important notices to share, better make a phone call. With this commit we force an hello message to other Sentinal and Redis instances within the next 100 milliseconds of a config update, which is practically better than waiting a few seconds.
-
由 antirez 提交于
-
由 antirez 提交于
Lack of check of the SRI_PROMOTED flag caused Sentienl to act with the promoted slave turned into a master during failover like if it was a normal instance. Normally this problem was not apparent because during real failovers the old master is down so the bugged code path was not entered, however with manual failovers via the SENTINEL FAILOVER command, the problem was easily triggered. This commit prevents promoted slaves from getting reconfigured, moreover we now explicitly check that during a failover the slave turning into a master is the one we selected for promotion and not a different one.
-
- 18 6月, 2014 9 次提交
-
-
由 antirez 提交于
-
由 antirez 提交于
-
由 antirez 提交于
-
由 antirez 提交于
-
由 Salvatore Sanfilippo 提交于
Add correct exit value to failed tests
-
由 Matt Stancliff 提交于
-
由 Salvatore Sanfilippo 提交于
add missing signal.h include
-
由 Alex Suraci 提交于
-
由 Salvatore Sanfilippo 提交于
Add SIGINT handler to cli --intrinsic-latency
-
- 17 6月, 2014 2 次提交
-
-
由 Matt Stancliff 提交于
If we run a long latency session and want to Ctrl-C out of it, it's nice to still get the summary output at the end.
-
由 antirez 提交于
This implements the new Sentinel-Client protocol for the Sentinel part: now instances are reconfigured using a transaction that ensures that the config is rewritten in the target instance, and that clients lose the connection with the instance, in order to be forced to: ask Sentinel, reconnect to the instance, and verify the instance role with the new ROLE command.
-
- 16 6月, 2014 5 次提交
-
-
由 antirez 提交于
Added a new SKIPME option that is true by default, that prevents the client sending the command to be killed, unless SKIPME NO is sent.
-
由 antirez 提交于
-
由 antirez 提交于
-
由 antirez 提交于
This will be used by CLIENT KILL and is also a good way to ensure a given client is still the same across CLIENT LIST calls. The output of CLIENT LIST was modified to include the new ID, but this change is considered to be backward compatible as the API does not imply you can do positional parsing, since each filed as a different name.
-
由 antirez 提交于
Because of output buffer limits Redis internals had this idea of type of clients: normal, pubsub, slave. It is possible to set different output buffer limits for the three kinds of clients. However all the macros and API were named after output buffer limit classes, while the idea of a client type is a generic one that can be reused. This commit does two things: 1) Rename the API and defines with more general names. 2) Change the class of clients executing the MONITOR command from "slave" to "normal". "2" is a good idea because you want to have very special settings for slaves, that are not a good idea for MONITOR clients that are instead normal clients even if they are conceptually slave-alike (since it is a push protocol). The backward-compatibility breakage resulting from "2" is considered to be minimal to care, since MONITOR is a debugging command, and because anyway this change is not going to break the format or the behavior, but just when a connection is closed on big output buffer issues.
-
- 12 6月, 2014 1 次提交
-
-
由 antirez 提交于
-