From a2a74542282fa2eba683661058786625b50c6dc7 Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Thu, 24 Sep 2026 06:37:59 +0000
Subject: [PATCH] [#1048] Hold the session restart a released change asks for while a total update runs (#1049)
---
opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationDomain.java | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationDomain.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationDomain.java
index 80c6bbf..3dbca34 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationDomain.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationDomain.java
@@ -3521,8 +3521,12 @@
* {@code SESSION_BEING_STOPPED}, held for the length of the stop and released once the
* listener thread is gone - it is the one thread which claims a total update this replica
* did not ask for, and {@link #disableService()} waits for it. An export in the context is
- * not an owner: the session is stopped from under it and the exporter reports the cut, as
- * it does for every other stop. A total update which lands between the end of that export
+ * not an owner here: the session is stopped from under it and the exporter reports the
+ * cut, as it does for every other stop. The session restart a replay asks for does not
+ * get this far while a total update runs - {@code runRequestedSessionRestarts()} leaves
+ * the request standing until it is over (issue #1048) - so an export reaches this arm only
+ * when it begins between that read and the claim below. A total update which lands
+ * between the end of that export
* and the stop is refused by the listener when it reads the broker as stopping after its
* claim; a stop which lands after that read still has the import run over a session which
* is going down, and end as a failed import over the suffix it has replaced (issue
--
Gitblit v1.10.0