refactoring

pull/4031/head
Nikita Koksharov 3 years ago
parent 5542dd0572
commit d3db83632b

@ -289,15 +289,15 @@ public class ClusterConnectionManager extends MasterSlaveConnectionManager {
MasterSlaveEntry entry;
if (config.checkSkipSlavesInit()) {
entry = new SingleEntry(ClusterConnectionManager.this, config, configEndpointHostName);
entry = new SingleEntry(ClusterConnectionManager.this, config);
} else {
Set<String> slaveAddresses = partition.getSlaveAddresses().stream().map(r -> r.toString()).collect(Collectors.toSet());
config.setSlaveAddresses(slaveAddresses);
entry = new MasterSlaveEntry(ClusterConnectionManager.this, config, configEndpointHostName);
entry = new MasterSlaveEntry(ClusterConnectionManager.this, config);
}
RFuture<RedisClient> f = entry.setupMasterEntry(new RedisURI(config.getMasterAddress()));
RFuture<RedisClient> f = entry.setupMasterEntry(new RedisURI(config.getMasterAddress()), configEndpointHostName);
f.onComplete((masterClient, ex3) -> {
if (ex3 != null) {
log.error("Can't add master: " + partition.getMasterAddress() + " for slot ranges: " + partition.getSlotRanges(), ex3);
@ -311,7 +311,7 @@ public class ClusterConnectionManager extends MasterSlaveConnectionManager {
}
if (!config.checkSkipSlavesInit()) {
List<RFuture<Void>> fs = entry.initSlaveBalancer(partition.getFailedSlaveAddresses(), masterClient);
List<RFuture<Void>> fs = entry.initSlaveBalancer(partition.getFailedSlaveAddresses(), masterClient, configEndpointHostName);
AtomicInteger counter = new AtomicInteger(fs.size());
AtomicInteger errorCounter = new AtomicInteger(fs.size());
for (RFuture<Void> future : fs) {
@ -542,7 +542,7 @@ public class ClusterConnectionManager extends MasterSlaveConnectionManager {
continue;
}
RFuture<Void> future = entry.addSlave(uri);
RFuture<Void> future = entry.addSlave(uri, false, NodeType.SLAVE, configEndpointHostName);
future.onComplete((res, ex) -> {
if (ex != null) {
log.error("Can't add slave: " + uri, ex);

@ -324,9 +324,9 @@ public class MasterSlaveConnectionManager implements ConnectionManager {
protected void initSingleEntry() {
try {
if (config.checkSkipSlavesInit()) {
masterSlaveEntry = new SingleEntry(this, config, null);
masterSlaveEntry = new SingleEntry(this, config);
} else {
masterSlaveEntry = new MasterSlaveEntry(this, config, null);
masterSlaveEntry = new MasterSlaveEntry(this, config);
}
RFuture<RedisClient> masterFuture = masterSlaveEntry.setupMasterEntry(new RedisURI(config.getMasterAddress()));
masterFuture.syncUninterruptibly();

@ -64,17 +64,13 @@ public class MasterSlaveEntry {
final AtomicBoolean active = new AtomicBoolean(true);
final String sslHostname;
public MasterSlaveEntry(ConnectionManager connectionManager, MasterSlaveServersConfig config, String sslHostname) {
public MasterSlaveEntry(ConnectionManager connectionManager, MasterSlaveServersConfig config) {
this.connectionManager = connectionManager;
this.config = config;
slaveBalancer = new LoadBalancerManager(config, connectionManager, this);
writeConnectionPool = new MasterConnectionPool(config, connectionManager, this);
pubSubConnectionPool = new MasterPubSubConnectionPool(config, connectionManager, this);
this.sslHostname = sslHostname;
}
public MasterSlaveServersConfig getConfig() {
@ -82,7 +78,7 @@ public class MasterSlaveEntry {
}
public List<RFuture<Void>> initSlaveBalancer(Collection<RedisURI> disconnectedNodes, RedisClient master) {
return initSlaveBalancer(disconnectedNodes, master, sslHostname);
return initSlaveBalancer(disconnectedNodes, master, null);
}
public List<RFuture<Void>> initSlaveBalancer(Collection<RedisURI> disconnectedNodes, RedisClient master, String slaveSSLHostname) {
@ -91,7 +87,7 @@ public class MasterSlaveEntry {
&& disconnectedNodes.size() < config.getSlaveAddresses().size();
List<RFuture<Void>> result = new LinkedList<RFuture<Void>>();
RFuture<Void> f = addSlave(master.getAddr(), master.getConfig().getAddress(), freezeMasterAsSlave, NodeType.MASTER);
RFuture<Void> f = addSlave(master.getAddr(), master.getConfig().getAddress(), freezeMasterAsSlave, NodeType.MASTER, master.getConfig().getSslHostname());
result.add(f);
for (String address : config.getSlaveAddresses()) {
RedisURI uri = new RedisURI(address);
@ -102,14 +98,12 @@ public class MasterSlaveEntry {
}
public RFuture<RedisClient> setupMasterEntry(InetSocketAddress address, RedisURI uri) {
RedisClient client = connectionManager.createClient(NodeType.MASTER, address, uri, sslHostname);
RedisClient client = connectionManager.createClient(NodeType.MASTER, address, uri, null);
return setupMasterEntry(client);
}
public RFuture<RedisClient> setupMasterEntry(RedisURI address) {
RedisClient client = connectionManager.createClient(NodeType.MASTER, address, sslHostname);
return setupMasterEntry(client);
return setupMasterEntry(address, null);
}
public RFuture<RedisClient> setupMasterEntry(RedisURI address, String sslHostname) {
@ -151,7 +145,7 @@ public class MasterSlaveEntry {
CountableListener<RedisClient> listener = new CountableListener<>(result, client, counter);
if (!slaveBalancer.contains(client.getAddr())) {
RFuture<Void> masterAsSlaveFuture = addSlave(client.getAddr(), client.getConfig().getAddress(), false, NodeType.MASTER);
RFuture<Void> masterAsSlaveFuture = addSlave(client.getAddr(), client.getConfig().getAddress(), false, NodeType.MASTER, client.getConfig().getSslHostname());
masterAsSlaveFuture.onComplete(listener);
}
@ -316,11 +310,11 @@ public class MasterSlaveEntry {
}
public RFuture<Void> addSlave(RedisURI address) {
return addSlave(address, false, NodeType.SLAVE);
return addSlave(address, false, NodeType.SLAVE, null);
}
public RFuture<Void> addSlave(InetSocketAddress address, RedisURI uri) {
return addSlave(address, uri, false, NodeType.SLAVE);
return addSlave(address, uri, false, NodeType.SLAVE, null);
}
private RFuture<Void> addSlave(RedisClient client, boolean freezed, NodeType nodeType) {
@ -353,16 +347,11 @@ public class MasterSlaveEntry {
return result;
}
private RFuture<Void> addSlave(InetSocketAddress address, RedisURI uri, boolean freezed, NodeType nodeType) {
private RFuture<Void> addSlave(InetSocketAddress address, RedisURI uri, boolean freezed, NodeType nodeType, String sslHostname) {
RedisClient client = connectionManager.createClient(NodeType.SLAVE, address, uri, sslHostname);
return addSlave(client, freezed, nodeType);
}
private RFuture<Void> addSlave(RedisURI address, boolean freezed, NodeType nodeType) {
RedisClient client = connectionManager.createClient(nodeType, address, sslHostname);
return addSlave(client, freezed, nodeType);
}
public RFuture<Void> addSlave(RedisURI address, boolean freezed, NodeType nodeType, String sslHostname) {
RedisClient client = connectionManager.createClient(nodeType, address, sslHostname);
return addSlave(client, freezed, nodeType);

@ -28,8 +28,8 @@ import org.redisson.misc.RedisURI;
*/
public class SingleEntry extends MasterSlaveEntry {
public SingleEntry(ConnectionManager connectionManager, MasterSlaveServersConfig config, String sslHostname) {
super(connectionManager, config, sslHostname);
public SingleEntry(ConnectionManager connectionManager, MasterSlaveServersConfig config) {
super(connectionManager, config);
}
@Override

Loading…
Cancel
Save