Fixed - continuously reconnecting to a removed slave node in cluster mode. #5547

pull/5676/head
Nikita Koksharov 11 months ago
parent 0f05a859f8
commit f27061a219

@ -543,7 +543,7 @@ public class ClusterConnectionManager extends MasterSlaveConnectionManager {
.filter(uri -> !currentPart.getFailedSlaveAddresses().contains(uri)) .filter(uri -> !currentPart.getFailedSlaveAddresses().contains(uri))
.forEach(uri -> { .forEach(uri -> {
currentPart.addFailedSlaveAddress(uri); currentPart.addFailedSlaveAddress(uri);
if (entry.slaveDown(uri, FreezeReason.MANAGER)) { if (config.isSlaveNotUsed() || entry.slaveDown(uri, FreezeReason.MANAGER)) {
disconnectNode(uri); disconnectNode(uri);
log.warn("slave: {} has down for slot ranges: {}", uri, currentPart.getSlotRanges()); log.warn("slave: {} has down for slot ranges: {}", uri, currentPart.getSlotRanges());
} }
@ -558,7 +558,7 @@ public class ClusterConnectionManager extends MasterSlaveConnectionManager {
for (RedisURI uri : removedSlaves) { for (RedisURI uri : removedSlaves) {
currentPart.removeSlaveAddress(uri); currentPart.removeSlaveAddress(uri);
if (entry.slaveDown(uri, FreezeReason.MANAGER)) { if (config.isSlaveNotUsed() || entry.slaveDown(uri, FreezeReason.MANAGER)) {
disconnectNode(uri); disconnectNode(uri);
log.info("slave {} removed for slot ranges: {}", uri, currentPart.getSlotRanges()); log.info("slave {} removed for slot ranges: {}", uri, currentPart.getSlotRanges());
} }

@ -172,7 +172,7 @@ public class ReplicatedConnectionManager extends MasterSlaveConnectionManager {
.collect(Collectors.toSet()); .collect(Collectors.toSet());
for (RedisClient slave : failedSlaves) { for (RedisClient slave : failedSlaves) {
if (entry.slaveDown(slave.getAddr(), FreezeReason.MANAGER)) { if (config.isSlaveNotUsed() || entry.slaveDown(slave.getAddr(), FreezeReason.MANAGER)) {
log.info("slave: {} is down", slave); log.info("slave: {} is down", slave);
disconnectNode(new RedisURI(slave.getConfig().getAddress().getScheme(), disconnectNode(new RedisURI(slave.getConfig().getAddress().getScheme(),
slave.getAddr().getAddress().getHostAddress(), slave.getAddr().getAddress().getHostAddress(),

Loading…
Cancel
Save