When running redis-server using the --sentinel flag, the sentinel connects to master, but is unable to retrieve the list of slaves, nor other sentinels. This prevents the sentinels from acting as a quora, and promoting a slave when the master goes down.
I'm running some proof-of-concepts on my local machine to mimic a possible Redis HA topology. My local machine is Windows 7 x64; I've disabled (all profiles) the Windows Firewall, and shut down any network protection services running (i.e., Symantec,etc.)
I've built from the 2.6 branch (small change to remove the erroneous merge flags in redis-cli.c). I run the run_all.cmd (see below) from an elevated command prompt.
In order to reproduce the error, I've pushed my local test environment/configuration up to:
http://github.com/jstclair/redis-sentinel-win-demo
I've also included the original redis.conf (renamed in root as redis-default.conf) and sentinel.conf (sentinel-default.conf) for comparison.
When I run the run_all.cmd, after hitting space twice, the redis sentinels masters command returns (relevant parts):
- "num-slaves"
- "0"
- "num-other-sentinels"
- "0"
- "quorum"
- "3"
Watching the master server console, I see that it has accepted connections from everyone (it lists "6 clients connected (2 slaves)", but each sentinel merely cycles through:
[7360] 15 May 13:35:08.854 . +cmd-link master mymaster 127.0.0.1 6379
[7360] 15 May 13:35:08.855 . +pubsub-link master mymaster 127.0.0.1 6379
[7360] 15 May 13:35:13.854 # +sdown master mymaster 127.0.0.1 6379
[7360] 15 May 13:35:23.955 . +cmd-link master mymaster 127.0.0.1 6379
I'm not sure what's exactly going on; perhaps a missing pubsub channel?
Thanks!