From 2b20c60a8fe4d5d62f04d0f80cd45267adf0478f Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Tue, 04 Aug 2026 08:26:25 +0000
Subject: [PATCH] [#821] Unregister the handler when a handshake aborts after registration (#838)
---
opendj-server-legacy/src/main/java/org/opends/server/replication/server/ServerHandler.java | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/ServerHandler.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/ServerHandler.java
index 8037b16..6943c03 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/ServerHandler.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/ServerHandler.java
@@ -246,6 +246,16 @@
generationIdSetOnStart = -100;
}
+ // A handshake that got as far as registering this handler in the domain
+ // must unregister it on abort: the reader and writer threads that
+ // normally trigger the cleanup when the session dies were never started,
+ // so nothing else will ever remove it. Do it BEFORE releasing the domain
+ // lock, so a handshake queued on the lock never sees the dead handler.
+ if (replicationServerDomain != null)
+ {
+ replicationServerDomain.unregisterFailedHandshake(this);
+ }
+
releaseDomainLock();
}
--
Gitblit v1.10.0