From 27ec8a57c0986d33c84758d2885ced7d5f756bc4 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Fri, 31 May 2013 09:07:14 +0000
Subject: [PATCH] Additional fix for OPENDJ-875: Use of hostnames in replication protocol causes failover problems

---
 opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServer.java |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServer.java b/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
index aa280d0..4076a1d 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
@@ -43,6 +43,7 @@
 import java.io.StringReader;
 import java.net.*;
 import java.util.*;
+import java.util.concurrent.CopyOnWriteArraySet;
 
 import org.opends.messages.Category;
 import org.opends.messages.Message;
@@ -165,8 +166,9 @@
   private ECLWorkflowElement eclwe;
   private WorkflowImpl externalChangeLogWorkflowImpl = null;
 
-  // FIXME: why is this a set of ports? Do we claim to support multiple ports?
-  private static HashSet<Integer> localPorts = new HashSet<Integer>();
+  // This is required for unit testing, so that we can keep track of all the
+  // replication servers which are running in the VM.
+  private static Set<Integer> localPorts = new CopyOnWriteArraySet<Integer>();
 
   // Monitors for synchronizing domain creation with the connect thread.
   private final Object domainTicketLock = new Object();

--
Gitblit v1.10.0