Merge pull request #2563 from markusdlugi/master

Perform Sentinel DNS check when all connections fail
pull/2577/head
Nikita Koksharov 5 years ago committed by GitHub
commit 6e1bafdb23
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -257,6 +257,12 @@ public class SentinelConnectionManager extends MasterSlaveConnectionManager {
}
};
performSentinelDNSCheck(commonListener);
}
}, config.getDnsMonitoringInterval(), TimeUnit.MILLISECONDS);
}
private void performSentinelDNSCheck(FutureListener<List<InetSocketAddress>> commonListener) {
for (RedisURI host : sentinelHosts) {
Future<List<InetSocketAddress>> allNodes = sentinelResolver.resolveAll(InetSocketAddress.createUnresolved(host.getHost(), host.getPort()));
allNodes.addListener(new FutureListener<List<InetSocketAddress>>() {
@ -278,10 +284,10 @@ public class SentinelConnectionManager extends MasterSlaveConnectionManager {
}
}
});
if (commonListener != null) {
allNodes.addListener(commonListener);
}
}
}, config.getDnsMonitoringInterval(), TimeUnit.MILLISECONDS);
}
private void scheduleChangeCheck(SentinelServersConfig cfg, Iterator<RedisClient> iterator) {
@ -306,6 +312,7 @@ public class SentinelConnectionManager extends MasterSlaveConnectionManager {
if (lastException.get() != null) {
log.error("Can't update cluster state", lastException.get());
}
performSentinelDNSCheck(null);
scheduleChangeCheck(cfg, null);
return;
}

Loading…
Cancel
Save