From 92d88ca699cd8090a26b92cbe46789d2b848195f Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Mon, 07 Sep 2026 09:30:36 +0000
Subject: [PATCH] [#889] Keep a change the replay could not apply out of the ServerState (#892)
---
opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/ReplayThread.java | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/ReplayThread.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/ReplayThread.java
index 44ea968..4a31d0c 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/ReplayThread.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/ReplayThread.java
@@ -13,6 +13,7 @@
*
* Copyright 2006-2008 Sun Microsystems, Inc.
* Portions Copyright 2011-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.opends.server.replication.plugin;
@@ -98,7 +99,15 @@
// Find replication domain for that update message and mark it as "in progress"
updateMsg = updateToreplay.getUpdateMessage();
domain = updateToreplay.getReplicationDomain();
- domain.markInProgress(updateMsg);
+ if (!domain.markInProgress(updateMsg))
+ {
+ /*
+ * The domain restarted its session after a failed replay while this
+ * message was waiting here, so it does not know about this change
+ * anymore: the replication server sends it again over the new session.
+ */
+ continue;
+ }
}
finally
{
--
Gitblit v1.10.0