Fixed - MasterConnectionPool might throw an NPE #6475

pull/4498/merge
mrniko 6 days ago
parent 16d7496148
commit 83471b8f96

@ -180,9 +180,6 @@ public class MasterSlaveEntry {
if (!config.isSlaveNotUsed()) {
addSlaveEntry(masterEntry);
}
masterConnectionPool.addEntry(masterEntry);
masterPubSubConnectionPool.addEntry(masterEntry);
return client;
});
}).whenComplete((r, e) -> {
@ -537,8 +534,6 @@ public class MasterSlaveEntry {
}
private void removeMaster(ClientConnectionsEntry masterEntry) {
masterConnectionPool.removeEntry(masterEntry);
masterPubSubConnectionPool.removeEntry(masterEntry);
removeSlaveEntry(masterEntry);
masterEntry.nodeDown();
masterEntry.shutdownAsync();

@ -46,7 +46,7 @@ abstract class ConnectionPool<T extends RedisConnection> {
private final Logger log = LoggerFactory.getLogger(getClass());
protected final Queue<ClientConnectionsEntry> entries = new ConcurrentLinkedQueue<>();
final Queue<ClientConnectionsEntry> entries = new ConcurrentLinkedQueue<>();
final ConnectionManager connectionManager;

@ -33,6 +33,7 @@ import java.util.concurrent.CompletableFuture;
*
*/
public class MasterConnectionPool extends ConnectionPool<RedisConnection> {
public MasterConnectionPool(MasterSlaveServersConfig config,
ConnectionManager connectionManager, MasterSlaveEntry masterSlaveEntry) {
super(config, connectionManager, masterSlaveEntry);
@ -48,7 +49,7 @@ public class MasterConnectionPool extends ConnectionPool<RedisConnection> {
@Override
public CompletableFuture<RedisConnection> get(RedisCommand<?> command, boolean trackChanges) {
return acquireConnection(command, entries.peek(), trackChanges);
return acquireConnection(command, masterSlaveEntry.getEntry(), trackChanges);
}
}

@ -38,7 +38,7 @@ public class MasterPubSubConnectionPool extends PubSubConnectionPool {
@Override
public CompletableFuture<RedisPubSubConnection> get(RedisCommand<?> command, boolean trackChanges) {
return acquireConnection(command, entries.peek(), trackChanges);
return acquireConnection(command, masterSlaveEntry.getEntry(), trackChanges);
}
}

Loading…
Cancel
Save