From 939456f71b5f02daab10d7c16615d24d09c89047 Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Wed, 24 Sep 2025 09:32:54 +0000
Subject: [PATCH] Make GrizzlyLDAPListener close in a synchronous fasion to prevent test race conditions (#557)
---
opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/GrizzlyLDAPListener.java | 17 +++++++++--------
1 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/GrizzlyLDAPListener.java b/opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/GrizzlyLDAPListener.java
index 2ebbf43..19e36fe 100644
--- a/opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/GrizzlyLDAPListener.java
+++ b/opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/GrizzlyLDAPListener.java
@@ -13,6 +13,7 @@
*
* Copyright 2010 Sun Microsystems, Inc.
* Portions copyright 2011-2016 ForgeRock AS.
+ * Portions copyright 2025 3A Systems, LLC.
*/
package org.forgerock.opendj.grizzly;
@@ -25,6 +26,7 @@
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
+import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import org.forgerock.i18n.LocalizableMessage;
@@ -118,16 +120,15 @@
@Override
public void close() {
if (isClosed.compareAndSet(false, true)) {
- try {
- for (TCPNIOConnection serverConnection : serverConnections) {
- serverConnection.closeSilently();
+ for (TCPNIOConnection serverConnection : serverConnections) {
+ try {
+ serverConnection.close().get(5, TimeUnit.SECONDS);
+ } catch (final Exception e) {
+ // TODO: I18N
+ logger.warn(LocalizableMessage.raw("Exception occurred while closing listener", e));
}
- } catch (final Exception e) {
- // TODO: I18N
- logger.warn(LocalizableMessage.raw("Exception occurred while closing listener", e));
- } finally {
- transport.release();
}
+ transport.release();
}
}
--
Gitblit v1.10.0