Fixed - ClusterConnectionManager should use shared resolverGroup

pull/1499/head
Nikita 7 years ago
parent c3d9213294
commit 31d5140b76

@ -288,7 +288,7 @@ public class ClusterConnectionManager extends MasterSlaveConnectionManager {
public void run() { public void run() {
if (isConfigEndpoint) { if (isConfigEndpoint) {
final URI uri = cfg.getNodeAddresses().iterator().next(); final URI uri = cfg.getNodeAddresses().iterator().next();
final AddressResolver<InetSocketAddress> resolver = createResolverGroup().getResolver(getGroup().next()); final AddressResolver<InetSocketAddress> resolver = resolverGroup.getResolver(getGroup().next());
Future<List<InetSocketAddress>> allNodes = resolver.resolveAll(InetSocketAddress.createUnresolved(uri.getHost(), uri.getPort())); Future<List<InetSocketAddress>> allNodes = resolver.resolveAll(InetSocketAddress.createUnresolved(uri.getHost(), uri.getPort()));
allNodes.addListener(new FutureListener<List<InetSocketAddress>>() { allNodes.addListener(new FutureListener<List<InetSocketAddress>>() {
@Override @Override

@ -211,19 +211,6 @@ public class MasterSlaveConnectionManager implements ConnectionManager {
this.commandExecutor = new CommandSyncService(this); this.commandExecutor = new CommandSyncService(this);
} }
/*
* Remove it once https://github.com/netty/netty/issues/7882 get resolved
*/
protected DnsAddressResolverGroup createResolverGroup() {
if (cfg.getTransportMode() == TransportMode.EPOLL) {
return cfg.getAddressResolverGroupFactory().create(EpollDatagramChannel.class, DnsServerAddressStreamProviders.platformDefault());
} else if (cfg.getTransportMode() == TransportMode.KQUEUE) {
return cfg.getAddressResolverGroupFactory().create(KQueueDatagramChannel.class, DnsServerAddressStreamProviders.platformDefault());
}
return cfg.getAddressResolverGroupFactory().create(NioDatagramChannel.class, DnsServerAddressStreamProviders.platformDefault());
}
protected void closeNodeConnections() { protected void closeNodeConnections() {
List<RFuture<Void>> futures = new ArrayList<RFuture<Void>>(); List<RFuture<Void>> futures = new ArrayList<RFuture<Void>>();
for (RedisConnection connection : nodeConnections.values()) { for (RedisConnection connection : nodeConnections.values()) {

Loading…
Cancel
Save