From a6be5db964ffa77a68b91966d99f6fa0b36b532e Mon Sep 17 00:00:00 2001
From: gbellato <gbellato@localhost>
Date: Tue, 29 May 2007 09:27:46 +0000
Subject: [PATCH] Fix for 1561 : ReplicationDomain.disable() should wait for all threads to die be fore returning
---
opends/src/server/org/opends/server/replication/server/ServerWriter.java | 33 +++++++++++++++++++++++++++++++++
1 files changed, 33 insertions(+), 0 deletions(-)
diff --git a/opends/src/server/org/opends/server/replication/server/ServerWriter.java b/opends/src/server/org/opends/server/replication/server/ServerWriter.java
index 5344e20..6018ed9 100644
--- a/opends/src/server/org/opends/server/replication/server/ServerWriter.java
+++ b/opends/src/server/org/opends/server/replication/server/ServerWriter.java
@@ -27,6 +27,8 @@
package org.opends.server.replication.server;
import static org.opends.server.loggers.ErrorLogger.logError;
+import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
+import static org.opends.server.loggers.debug.DebugLogger.getTracer;
import static org.opends.server.messages.MessageHandler.getMessage;
import static org.opends.server.messages.ReplicationMessages.*;
@@ -35,6 +37,7 @@
import java.util.NoSuchElementException;
import org.opends.server.api.DirectoryThread;
+import org.opends.server.loggers.debug.DebugTracer;
import org.opends.server.replication.protocol.ProtocolSession;
import org.opends.server.replication.protocol.UpdateMessage;
import org.opends.server.types.ErrorLogCategory;
@@ -47,9 +50,15 @@
*/
public class ServerWriter extends DirectoryThread
{
+ /**
+ * The tracer object for the debug logger.
+ */
+ private static final DebugTracer TRACER = getTracer();
+
private ProtocolSession session;
private ServerHandler handler;
private ReplicationCache replicationCache;
+ private short serverId;
/**
* Create a ServerWriter.
@@ -66,6 +75,7 @@
{
super(handler.toString() + " writer");
+ this.serverId = serverId;
this.session = session;
this.handler = handler;
this.replicationCache = replicationCache;
@@ -78,6 +88,17 @@
*/
public void run()
{
+ if (debugEnabled())
+ {
+ if (handler.isReplicationServer())
+ {
+ TRACER.debugInfo("Replication server writer starting " + serverId);
+ }
+ else
+ {
+ TRACER.debugInfo("LDAP server writer starting " + serverId);
+ }
+ }
try {
while (true)
{
@@ -132,6 +153,18 @@
// Can't do much more : ignore
}
replicationCache.stopServer(handler);
+
+ if (debugEnabled())
+ {
+ if (handler.isReplicationServer())
+ {
+ TRACER.debugInfo("Replication server writer stopping " + serverId);
+ }
+ else
+ {
+ TRACER.debugInfo("LDAP server writer stopping " + serverId);
+ }
+ }
}
}
}
--
Gitblit v1.10.0