From 89183d52637336618123b78c1410381b7780d977 Mon Sep 17 00:00:00 2001
From: Fabio Pistolesi <fabio.pistolesi@forgerock.com>
Date: Thu, 19 Nov 2015 09:26:52 +0000
Subject: [PATCH] OPENDJ-2396 Replication: post-external-initialization generates an error in log
---
opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationBroker.java | 10 +++++++++-
opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationDomain.java | 8 ++++++--
2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationBroker.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationBroker.java
index 10bdeee..f5061d5 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationBroker.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationBroker.java
@@ -269,6 +269,10 @@
{
synchronized (startStopLock)
{
+ if (!shutdown)
+ {
+ return;
+ }
shutdown = false;
this.rcvWindow = getMaxRcvWindow();
connectAsDataServer();
@@ -2660,13 +2664,17 @@
/** Stop the server. */
public void stop()
{
- if (logger.isTraceEnabled())
+ if (logger.isTraceEnabled() && !shutdown)
{
debugInfo("is stopping and will close the connection to RS(" + getRsServerId() + ")");
}
synchronized (startStopLock)
{
+ if (shutdown)
+ {
+ return;
+ }
domain.publishReplicaOfflineMsg();
shutdown = true;
setConnectedRS(ConnectedRS.stopped());
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationDomain.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationDomain.java
index 14d92ad..91537b4 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationDomain.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationDomain.java
@@ -2942,8 +2942,12 @@
{
synchronized (sessionLock)
{
- final String threadName = "Replica DS(" + getServerId()
- + ") listener for domain \"" + getBaseDN() + "\"";
+ if (listenerThread != null)
+ {
+ return;
+ }
+
+ final String threadName = "Replica DS(" + getServerId() + ") listener for domain \"" + getBaseDN() + "\"";
listenerThread = new DirectoryThread(new Runnable()
{
--
Gitblit v1.10.0