From b517bc1f0a32784dd258e36e9274c9bfbf3afb7f Mon Sep 17 00:00:00 2001 From: Radoslav Husar Date: Thu, 3 Sep 2026 11:31:16 +0200 Subject: [PATCH] MODCLUSTER-876 Drain pending proxies discovery in init() and reset established on shutdown processPendingDiscoveryEvents() was inadvertently moved out of the private status(boolean) in MODCLUSTER-103, so init()'s status(false) iterates an empty proxy list and never establishes a connection. Restore the drain call before status(false) so statically configured proxies are contacted eagerly during init. Also reset both established flags on shutdown so isEstablished() does not report a stale value after stop. Signed-off-by: Radoslav Husar --- core/src/main/java/org/jboss/modcluster/ModClusterService.java | 1 + .../java/org/jboss/modcluster/mcmp/impl/DefaultMCMPHandler.java | 2 ++ 2 files changed, 3 insertions(+) diff --git a/core/src/main/java/org/jboss/modcluster/ModClusterService.java b/core/src/main/java/org/jboss/modcluster/ModClusterService.java index 42dab213..7c21ae26 100644 --- a/core/src/main/java/org/jboss/modcluster/ModClusterService.java +++ b/core/src/main/java/org/jboss/modcluster/ModClusterService.java @@ -184,6 +184,7 @@ public synchronized void shutdown() { } this.mcmpHandler.shutdown(); + this.established = false; } @Override diff --git a/core/src/main/java/org/jboss/modcluster/mcmp/impl/DefaultMCMPHandler.java b/core/src/main/java/org/jboss/modcluster/mcmp/impl/DefaultMCMPHandler.java index 1bdb6c4e..29d4d273 100644 --- a/core/src/main/java/org/jboss/modcluster/mcmp/impl/DefaultMCMPHandler.java +++ b/core/src/main/java/org/jboss/modcluster/mcmp/impl/DefaultMCMPHandler.java @@ -119,6 +119,7 @@ public void init(Collection proxies, MCMPConnectionListener this.add(proxy.getRemoteAddress(), proxy.getLocalAddress()); } + this.processPendingDiscoveryEvents(); this.status(false); } finally { lock.unlock(); @@ -131,6 +132,7 @@ public void init(Collection proxies, MCMPConnectionListener @Override public void shutdown() { this.init = false; + this.established.set(false); Lock lock = this.proxiesLock.readLock(); lock.lock();