From d0deb0709fc73a94d3d46ac76753933383861b00 Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Thu, 10 Sep 2026 11:56:42 +0000
Subject: [PATCH] [#901] Make the replay retry budget of a replication domain configurable (#944)
---
opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/RemotePendingChanges.java | 24 ++++++++++++++++++++++++
1 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/RemotePendingChanges.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/RemotePendingChanges.java
index 4eef2d8..1d54c51 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/RemotePendingChanges.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/RemotePendingChanges.java
@@ -393,6 +393,30 @@
}
/**
+ * Returns how many of the listed changes have a failed replay recorded against them.
+ * <p>
+ * A change is counted from its first failed replay until it leaves this map, whether it
+ * leaves it applied or given up on. It is what tells that the replay of this domain is
+ * stuck: a domain whose {@code replay-give-up-delay} is unlimited never gives up, so it
+ * never counts a failed change either, and the changes it keeps asking for are only
+ * visible here.
+ *
+ * @return the number of listed changes with a failed replay recorded against them
+ */
+ public int getFailingChangesSize()
+ {
+ pendingChangesReadLock.lock();
+ try
+ {
+ return failingChanges;
+ }
+ finally
+ {
+ pendingChangesReadLock.unlock();
+ }
+ }
+
+ /**
* Forgets every change listed here, without updating the ServerState.
* <p>
* Called when the domain is disabled: its ServerState is saved and cleared from
--
Gitblit v1.10.0