From 21af6610b07617ecbf1b826310a2f244deb4d348 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Tue, 25 Mar 2014 15:02:51 +0000
Subject: [PATCH] Fix OPENDJ-1354 - replication threads BLOCKED in pendingChanges queue
---
opendj3-server-dev/src/server/org/opends/server/replication/server/ServerReader.java | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/replication/server/ServerReader.java b/opendj3-server-dev/src/server/org/opends/server/replication/server/ServerReader.java
index 106bc28..4e1da15 100644
--- a/opendj3-server-dev/src/server/org/opends/server/replication/server/ServerReader.java
+++ b/opendj3-server-dev/src/server/org/opends/server/replication/server/ServerReader.java
@@ -174,8 +174,22 @@
{
handler.updateWindow((WindowMsg) msg);
}
+ else if (msg instanceof MonitorRequestMsg)
+ {
+ handler.processMonitorRequestMsg((MonitorRequestMsg) msg);
+ }
+ else if (msg instanceof MonitorMsg)
+ {
+ handler.processMonitorMsg((MonitorMsg) msg);
+ }
else if (msg instanceof RoutableMsg)
{
+ /*
+ * Note that we handle monitor messages separately since they in
+ * fact never need "routing" and are instead sent directly between
+ * connected peers. Doing so allows us to more clearly decouple
+ * write IO from the reader thread (see OPENDJ-1354).
+ */
handler.process((RoutableMsg) msg);
}
else if (msg instanceof ResetGenerationIdMsg)
--
Gitblit v1.10.0