- 18 Nov, 2013 1 commit
-
-
antirez authored
-
- 14 Nov, 2013 3 commits
-
-
antirez authored
Once we switched configuration during a failover, we should advertise the new address. This was a serious race condition as the Sentinel performing the failover for a moment advertised the old address with the new configuration epoch: once trasmitted to the other Sentinels the broken configuration would remain there forever, until the next failover (because a greater configuration epoch is required to overwrite an older one).
-
antirez authored
-
antirez authored
-
- 13 Nov, 2013 12 commits
-
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
Now Sentinel believe the current configuration is always the winner and should be applied by Sentinels instead of trying to adapt our view of the cluster based on what we observe. So the only way to modify what a Sentinel believe to be the truth is to win an election and advertise the new configuration via Pub / Sub with a greater configuration epoch.
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
This commit also removes some dead code and cleanup generic flags.
-
- 12 Nov, 2013 10 commits
- 11 Nov, 2013 5 commits
-
-
antirez authored
Changes to leadership handling. Now the leader gets selected by every Sentinel, for a specified epoch, when the SENTINEL is-master-down-by-addr is sent. This command now includes the runid and the currentEpoch of the instance seeking for a vote. The Sentinel only votes a single time in a given epoch. Still a work in progress, does not even compile at this stage.
-
antirez authored
Even when messages are received via the slave, we should perform operations (like adding a new Sentinel) in the context of the master.
-
antirez authored
-
antirez authored
Sentinel state now includes the idea of current epoch and config epoch. In the Hello message, that is now published both on masters and slaves, a Sentinel no longer just advertises itself but also broadcasts its current view of the configuration: the master name / ip / port and its current epoch. Sentinels receiving such information switch to the new master if the configuration epoch received is newer and the ip / port of the master are indeed different compared to the previos ones.
-
antirez authored
-
- 08 Nov, 2013 6 commits
-
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
Now there is a function that handles the update of the local slot configuration every time we have some new info about a node and its set of served slots and configEpoch. Moreoever the UPDATE packets are now processed when received (it was a work in progress in the previous commit).
-
antirez authored
-
antirez authored
The commit also introduces detection of nodes publishing not updated configuration. More work in progress to send an UPDATE packet to inform of the config change.
-
- 07 Nov, 2013 2 commits
- 06 Nov, 2013 1 commit
-
-
antirez authored
-