diff --git a/redisson/src/main/java/org/redisson/connection/DNSMonitor.java b/redisson/src/main/java/org/redisson/connection/DNSMonitor.java index 3c4f4fc9b..55a694192 100644 --- a/redisson/src/main/java/org/redisson/connection/DNSMonitor.java +++ b/redisson/src/main/java/org/redisson/connection/DNSMonitor.java @@ -96,8 +96,8 @@ public class DNSMonitor { }, dnsMonitoringInterval, TimeUnit.MILLISECONDS); } - private void monitorMasters(final AtomicInteger counter) { - for (final Entry entry : masters.entrySet()) { + private void monitorMasters(AtomicInteger counter) { + for (Entry entry : masters.entrySet()) { Future resolveFuture = resolver.resolve(InetSocketAddress.createUnresolved(entry.getKey().getHost(), entry.getKey().getPort())); resolveFuture.addListener(new FutureListener() { @Override @@ -118,7 +118,11 @@ public class DNSMonitor { entry.getKey(), currentMasterAddr.getAddress().getHostAddress(), newMasterAddr.getAddress().getHostAddress()); MasterSlaveEntry masterSlaveEntry = connectionManager.getEntry(currentMasterAddr); if (masterSlaveEntry == null) { - log.error("Unable to find master entry for {}", currentMasterAddr); + if (connectionManager instanceof SingleConnectionManager) { + log.error("Unable to find master entry for {}. Multiple IP bindings for single hostname supported only in Redisson PRO!", currentMasterAddr); + } else { + log.error("Unable to find master entry for {}", currentMasterAddr); + } return; } masterSlaveEntry.changeMaster(newMasterAddr, entry.getKey()); @@ -129,8 +133,8 @@ public class DNSMonitor { } } - private void monitorSlaves(final AtomicInteger counter) { - for (final Entry entry : slaves.entrySet()) { + private void monitorSlaves(AtomicInteger counter) { + for (Entry entry : slaves.entrySet()) { Future resolveFuture = resolver.resolve(InetSocketAddress.createUnresolved(entry.getKey().getHost(), entry.getKey().getPort())); resolveFuture.addListener(new FutureListener() { @Override @@ -144,12 +148,12 @@ public class DNSMonitor { return; } - final InetSocketAddress currentSlaveAddr = entry.getValue(); - final InetSocketAddress newSlaveAddr = future.getNow(); + InetSocketAddress currentSlaveAddr = entry.getValue(); + InetSocketAddress newSlaveAddr = future.getNow(); if (!newSlaveAddr.getAddress().equals(currentSlaveAddr.getAddress())) { log.info("Detected DNS change. Slave {} has changed ip from {} to {}", entry.getKey().getHost(), currentSlaveAddr.getAddress().getHostAddress(), newSlaveAddr.getAddress().getHostAddress()); - for (final MasterSlaveEntry masterSlaveEntry : connectionManager.getEntrySet()) { + for (MasterSlaveEntry masterSlaveEntry : connectionManager.getEntrySet()) { if (!masterSlaveEntry.hasSlave(currentSlaveAddr)) { continue; }