- 21 Mar, 2013 1 commit
-
-
antirez authored
-
- 20 Mar, 2013 4 commits
-
-
antirez authored
This way we make sure every time a master is turned into a replica the flag will be cleared.
-
antirez authored
When a master turns into a slave after a failover event, make sure to clear the assigned slots before setting up the replication, as a slave should never claim slots in an explicit way, but just take over the master slots when replacing its master.
-
antirez authored
A slave node set this flag for itself when, after receiving authorization from the majority of nodes, it turns itself into a master. At the same time now this flag is tested by nodes receiving a PING message before reconfiguring after a failover event. This makes the system more robust: even if currently there is no way to manually turn a slave into a master it is possible that we'll have such a feature in the future, or that simply because of misconfiguration a node joins the cluster as master while others believe it's a slave. This alone is now no longer enough to trigger reconfiguration as other nodes will check for the PROMOTED flag. The PROMOTED flag is cleared every time the node is turned back into a replica of some other node.
-
antirez authored
Sender flags were not propagated for the sender, but only for nodes in the gossip section. This is odd and in the next commits we'll need to get updated flags for the sender node, so this commit adds a new field in the cluster messages header. The message header is the same size as we reused some free space that was marked as 'unused' because of alignment concerns.
-
- 19 Mar, 2013 4 commits
-
-
antirez authored
So when the failing master node is back in touch with the cluster, instead of remaining unused it is converted into a replica of the new master, ready to perform the fail over if the new master node will fail at some point. Note that as a side effect clients with stale configuration are now not an issue as well, as the node converted into a slave will not accept queries but will redirect clients accordingly.
-
antirez authored
The code handling a master that turns into a slave or the contrary was improved in order to avoid repeating the same operations. Also the readability and conceptual simplicity was improved.
-
antirez authored
It's just a simpler way to CLUSTER DELSLOTS with all the slots as arguments, in order to obtain a node without assigned slots for reconfiguration.
-
antirez authored
-
- 15 Mar, 2013 11 commits
-
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
Redis Cluster can cope with a minority of nodes not informed about the failure of a master in time for some reason (netsplit or node not functioning properly, blocked, ...) however to wait a few seconds before to start the failover will make most "normal" failovers simpler as the FAIL message will propagate before the slave election happens.
-
antirez authored
-
antirez authored
Also, a few nearby comments improved.
-
antirez authored
-
antirez authored
-
antirez authored
See the function top-comment for info why this is useful sometimes.
-
antirez authored
Also don't check for NOADDR as we check that node->link is not NULL that's enough.
-
antirez authored
-
- 14 Mar, 2013 5 commits
- 13 Mar, 2013 10 commits
-
-
antirez authored
-
antirez authored
However currently the control is passed to a function doing nothing at all.
-
antirez authored
-
antirez authored
-
antirez authored
This message is sent by a slave that is ready to failover its master to other nodes to get the authorization from the majority of masters.
-
antirez authored
-
antirez authored
server.repl_down_since used to be initialized to the current time at startup. This is wrong since the replication never started. Clients testing this filed to check if data is uptodate should never believe data is recent if we never ever connected to our master.
-
antirez authored
-
antirez authored
-
antirez authored
A test for issue #1001 is included.
-
- 12 Mar, 2013 5 commits
-
-
antirez authored
-
antirez authored
-
Salvatore Sanfilippo authored
Abort when opening the RDB file results in an error other than ENOENT.
-
Damian Janowski authored
This fixes cases where the RDB file does exist but can't be accessed for any reason. For instance, when the Redis process doesn't have enough permissions on the file.
-
antirez authored
It was placed for error in initServer() that's called after the configuation is already loaded, causing issue #1000.
-