From 7160f59040db3b159e1d73d9ba58055e8806163d Mon Sep 17 00:00:00 2001
From: Fabio Pistolesi <fabio.pistolesi@forgerock.com>
Date: Wed, 12 Oct 2016 10:30:03 +0000
Subject: [PATCH] OPENDJ-3337 Make sure ReplicationOffline messages are not repeatedly returned by cursors.
---
opendj-server-legacy/src/main/java/org/opends/server/replication/server/MessageHandler.java | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/MessageHandler.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/MessageHandler.java
index 61ac4b4..9cfb03d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/MessageHandler.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/MessageHandler.java
@@ -304,6 +304,13 @@
synchronized (msgQueue) // TODO JNR why synchronize(msgQueue) here?
{
msg = lateQueue.removeFirst();
+ // By default a server is always not following. A weird case where messages not representing
+ // an operation may happen, making the late queue repeatedly fill and be emptied without ever
+ // getting the server out of state "not following".
+ if (lateQueue.isEmpty() && msgQueue.isEmpty())
+ {
+ following = true;
+ }
}
if (updateServerState(msg))
{
--
Gitblit v1.10.0