Commit 47e3f1f1 authored by antirez's avatar antirez
Browse files

Cluster: flush importing/migrating state when master is turned into slave.

parent 11755719
...@@ -2897,8 +2897,8 @@ int verifyClusterConfigWithData(void) { ...@@ -2897,8 +2897,8 @@ int verifyClusterConfigWithData(void) {
* SLAVE nodes handling * SLAVE nodes handling
* -------------------------------------------------------------------------- */ * -------------------------------------------------------------------------- */
/* Set the specified node 'n' as master. Setup the node as a slave if /* Set the specified node 'n' as master for this node.
* needed. */ * If this node is currently a master, it is turned into a slave. */
void clusterSetMaster(clusterNode *n) { void clusterSetMaster(clusterNode *n) {
redisAssert(n != myself); redisAssert(n != myself);
redisAssert(myself->numslots == 0); redisAssert(myself->numslots == 0);
...@@ -2906,6 +2906,7 @@ void clusterSetMaster(clusterNode *n) { ...@@ -2906,6 +2906,7 @@ void clusterSetMaster(clusterNode *n) {
if (nodeIsMaster(myself)) { if (nodeIsMaster(myself)) {
myself->flags &= ~REDIS_NODE_MASTER; myself->flags &= ~REDIS_NODE_MASTER;
myself->flags |= REDIS_NODE_SLAVE; myself->flags |= REDIS_NODE_SLAVE;
clusterCloseAllSlots();
} else { } else {
if (myself->slaveof) if (myself->slaveof)
clusterNodeRemoveSlave(myself->slaveof,myself); clusterNodeRemoveSlave(myself->slaveof,myself);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment