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

@ -172,7 +172,7 @@ public class ReplicatedConnectionManager extends MasterSlaveConnectionManager {
.collect(Collectors.toSet());
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);
disconnectNode(new RedisURI(slave.getConfig().getAddress().getScheme(),
slave.getAddr().getAddress().getHostAddress(),

Loading…
Cancel
Save