From 74be925257cd0df68cfde1a77f77cbb930c7832f Mon Sep 17 00:00:00 2001
From: pgamba <pgamba@localhost>
Date: Wed, 24 Oct 2007 14:04:25 +0000
Subject: [PATCH] Fix 2425 - dsreplication initialize-all fails - fix ConcurrentModificationException in the Initialize task by using methods that lock the entry - fix unroutable message, by forwarding message only to the replication servers that have replica connected Miscellaneous improvements in error or debug traces
---
opends/src/server/org/opends/server/replication/server/ReplicationCache.java | 21 +++++++++++++++------
1 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/opends/src/server/org/opends/server/replication/server/ReplicationCache.java b/opends/src/server/org/opends/server/replication/server/ReplicationCache.java
index 279871a..89140e9 100644
--- a/opends/src/server/org/opends/server/replication/server/ReplicationCache.java
+++ b/opends/src/server/org/opends/server/replication/server/ReplicationCache.java
@@ -617,10 +617,14 @@
{
if (!senderHandler.isReplicationServer())
{
- // Send to all replicationServers
- for (ServerHandler destinationHandler : replicationServers.values())
+ // Send to all replication servers with a least one remote
+ // server connected
+ for (ServerHandler rsh : replicationServers.values())
{
- servers.add(destinationHandler);
+ if (!rsh.getRemoteLDAPServers().isEmpty())
+ {
+ servers.add(rsh);
+ }
}
}
@@ -651,6 +655,8 @@
{
for (ServerHandler h : replicationServers.values())
{
+ // Send to all replication servers with a least one remote
+ // server connected
if (h.isRemoteLDAPServer(msg.getDestination()))
{
servers.add(h);
@@ -696,13 +702,16 @@
{
MessageBuilder mb = new MessageBuilder();
mb.append(ERR_NO_REACHABLE_PEER_IN_THE_DOMAIN.get());
- mb.append(" unreachable server ID=" + msg.getDestination());
- mb.append(" unroutable message =" + msg);
+ mb.append(" In Replication Server=" + this.replicationServer.
+ getMonitorInstanceName());
+ mb.append(" domain =" + this.baseDn);
+ mb.append(" unroutable message =" + msg.toString());
+ mb.append(" routing table is empty");
ErrorMessage errMsg = new ErrorMessage(
this.replicationServer.getServerId(),
msg.getsenderID(),
mb.toMessage());
-
+ logError(mb.toMessage());
try
{
senderHandler.send(errMsg);
--
Gitblit v1.10.0