From 8de06075fbc328011b7b399312dfbe2bde0c2374 Mon Sep 17 00:00:00 2001 From: Nikita Koksharov Date: Mon, 29 Nov 2021 11:29:17 +0300 Subject: [PATCH] Fixed - Can't find host in slaves! error after failover with a new IP of master host. #3983 --- .../org/redisson/connection/MasterSlaveEntry.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/redisson/src/main/java/org/redisson/connection/MasterSlaveEntry.java b/redisson/src/main/java/org/redisson/connection/MasterSlaveEntry.java index 446e03d84..12adf5a30 100644 --- a/redisson/src/main/java/org/redisson/connection/MasterSlaveEntry.java +++ b/redisson/src/main/java/org/redisson/connection/MasterSlaveEntry.java @@ -135,8 +135,17 @@ public class MasterSlaveEntry { if (config.getSubscriptionMode() == SubscriptionMode.MASTER) { counter++; } - + if (!slaveBalancer.contains(client.getAddr())) { + counter++; + } + CountableListener listener = new CountableListener<>(result, client, counter); + + if (!slaveBalancer.contains(client.getAddr())) { + RFuture masterAsSlaveFuture = addSlave(client.getAddr(), client.getConfig().getAddress(), false, NodeType.MASTER); + masterAsSlaveFuture.onComplete(listener); + } + RFuture writeFuture = writeConnectionPool.add(masterEntry); writeFuture.onComplete(listener);