|
@@ -957,8 +957,13 @@ public class QuorumCnxManager {
|
|
|
new ListenerHandler(address, self.shouldUsePortUnification(), self.isSslQuorum(), latch))
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
- ExecutorService executor = Executors.newFixedThreadPool(addresses.size());
|
|
|
- listenerHandlers.forEach(executor::submit);
|
|
|
+ final ExecutorService executor = Executors.newFixedThreadPool(addresses.size());
|
|
|
+ try {
|
|
|
+ listenerHandlers.forEach(executor::submit);
|
|
|
+ } finally {
|
|
|
+ // prevent executor's threads to leak after ListenerHandler tasks complete
|
|
|
+ executor.shutdown();
|
|
|
+ }
|
|
|
|
|
|
try {
|
|
|
latch.await();
|