ClusterRunner fixed

pull/856/head^2
Nikita 8 years ago
parent b4978ed9e0
commit b8ebea2354

@ -72,7 +72,8 @@ public class ClusterRunner {
private List<String> getClusterConfig(RedisRunner runner) { private List<String> getClusterConfig(RedisRunner runner) {
String me = runner.getInitialBindAddr() + ":" + runner.getPort(); String me = runner.getInitialBindAddr() + ":" + runner.getPort();
List<String> nodeConfig = new ArrayList<>(); List<String> nodeConfig = new ArrayList<>();
int c = 0; int c = 1;
int master = 0;
for (RedisRunner node : nodes.keySet()) { for (RedisRunner node : nodes.keySet()) {
String nodeId = nodes.get(node); String nodeId = nodes.get(node);
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
@ -82,7 +83,8 @@ public class ClusterRunner {
sb.append(me.equals(nodeAddr) sb.append(me.equals(nodeAddr)
? "myself," ? "myself,"
: ""); : "");
if (!masters.containsKey(nodeId)) { boolean isMaster = !masters.containsKey(nodeId);
if (isMaster) {
sb.append("master -"); sb.append("master -");
} else { } else {
sb.append("slave ").append(masters.get(nodeId)); sb.append("slave ").append(masters.get(nodeId));
@ -92,9 +94,13 @@ public class ClusterRunner {
sb.append(me.equals(nodeAddr) sb.append(me.equals(nodeAddr)
? "0" ? "0"
: "1").append(" "); : "1").append(" ");
sb.append(c + 1).append(" "); sb.append(c).append(" ");
sb.append("connected "); sb.append("connected ");
sb.append(getSlots(c, nodes.size())); if (isMaster) {
sb.append(getSlots(master, masters.size()));
master++;
}
c++; c++;
nodeConfig.add(sb.toString()); nodeConfig.add(sb.toString());
} }

Loading…
Cancel
Save