Fixed - SlaveConnectionPool no available Redis entries error occurs in Cluster mode. #3980

pull/4226/head
Nikita Koksharov 3 years ago
parent 3dd1c442d3
commit acf9050965

@ -37,6 +37,7 @@ import java.net.InetSocketAddress;
import java.util.*; import java.util.*;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
/** /**
* *
@ -139,10 +140,15 @@ public class LoadBalancerManager {
CompletableFuture<Void> future = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])); CompletableFuture<Void> future = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));
future.whenComplete((r, e) -> { future.whenComplete((r, e) -> {
if (e != null) { if (e != null) {
log.error("Unable to unfreeze entry: " + entry, e);
entry.setInitialized(false); entry.setInitialized(false);
connectionManager.newTimeout(t -> {
unfreeze(entry, freezeReason);
}, 1, TimeUnit.SECONDS);
return; return;
} }
log.info("Unfreezed entry: {}", entry);
entry.setFreezeReason(null); entry.setFreezeReason(null);
}); });
return true; return true;

Loading…
Cancel
Save