From d0082246b9d667fb620c5d4b9c7d8e5ad01e1d81 Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Sat, 19 Sep 2026 12:46:32 +0000
Subject: [PATCH] [#1036] Assert that a parked change is handed out, not which thread hands it out (#1037)
---
opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/LDAPReplicationDomain.java | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/LDAPReplicationDomain.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/LDAPReplicationDomain.java
index f68df24..6ec3909 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/LDAPReplicationDomain.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/LDAPReplicationDomain.java
@@ -2897,8 +2897,8 @@
* listed, uncommitted and unowned, so the request is what brings them back, and
* this thread is the one there to run it (issue #954). A give-back which threw
* before it released anything left the parked changes as they were, owned by this
- * thread and handed out by getNextUpdate() to whichever thread clears what they
- * wait for: nothing here can do better for those.
+ * thread and handed out by getNextUpdate() to whichever thread calls it first once
+ * what they wait for is gone: nothing here can do better for those.
*
* Not run on a domain whose session has an owner, the way no road of a failed
* replay runs it there: the restart is refused where it runs and the request
@@ -4168,7 +4168,8 @@
* <p>
* A parked change is handed out again by {@code getNextUpdate()} alone, which every
* replay loop of this domain runs once it is done with a change: a parked change is
- * replayed by whichever thread clears the change it was waiting for. A thread whose
+ * replayed by whichever thread calls it first once the change it was waiting for is
+ * gone - the thread which cleared it, as a rule. A thread whose
* replay was unwound is not on that road anymore - it takes the next delivery off the
* replay queue - so a change it parked would be left owned by a thread which is not
* coming back to it, while every redelivery of it is refused as a duplicate. On a domain
--
Gitblit v1.10.0