From 157717b205d4c1f957cf810e04e06f11530c619c Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 02 Sep 2013 08:57:43 +0000
Subject: [PATCH] Renamed: - ChangeNumber to CSN - ChangeNumberGenerator to CSNGenerator - ChangeNumberTest to CSNTest - ChangeNumberGeneratorTest to CSNGeneratorTest

---
 opends/src/server/org/opends/server/replication/service/ReplicationBroker.java |   94 ++++++++++++++++++-----------------------------
 1 files changed, 36 insertions(+), 58 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/service/ReplicationBroker.java b/opends/src/server/org/opends/server/replication/service/ReplicationBroker.java
index cd695a2..2195c79 100644
--- a/opends/src/server/org/opends/server/replication/service/ReplicationBroker.java
+++ b/opends/src/server/org/opends/server/replication/service/ReplicationBroker.java
@@ -27,32 +27,12 @@
  */
 package org.opends.server.replication.service;
 
-import static org.opends.messages.ReplicationMessages.*;
-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.replication.protocol.ProtocolVersion.*;
-import static org.opends.server.replication.server.ReplicationServer.*;
-import static org.opends.server.util.StaticUtils.*;
-
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.math.MathContext;
 import java.math.RoundingMode;
-import java.net.ConnectException;
-import java.net.InetAddress;
-import java.net.InetSocketAddress;
-import java.net.Socket;
-import java.net.SocketException;
-import java.net.SocketTimeoutException;
-import java.net.UnknownHostException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+import java.net.*;
+import java.util.*;
 import java.util.Map.Entry;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.Semaphore;
@@ -62,17 +42,19 @@
 import org.opends.messages.MessageBuilder;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.loggers.debug.DebugTracer;
-import org.opends.server.replication.common.ChangeNumber;
-import org.opends.server.replication.common.DSInfo;
-import org.opends.server.replication.common.MutableBoolean;
-import org.opends.server.replication.common.RSInfo;
-import org.opends.server.replication.common.ServerState;
-import org.opends.server.replication.common.ServerStatus;
+import org.opends.server.replication.common.*;
 import org.opends.server.replication.plugin.MultimasterReplication;
 import org.opends.server.replication.protocol.*;
 import org.opends.server.types.DebugLogLevel;
 import org.opends.server.util.ServerConstants;
 
+import static org.opends.messages.ReplicationMessages.*;
+import static org.opends.server.loggers.ErrorLogger.*;
+import static org.opends.server.loggers.debug.DebugLogger.*;
+import static org.opends.server.replication.protocol.ProtocolVersion.*;
+import static org.opends.server.replication.server.ReplicationServer.*;
+import static org.opends.server.util.StaticUtils.*;
+
 /**
  * The broker for Multi-master Replication.
  */
@@ -91,7 +73,7 @@
   private volatile Collection<String> replicationServerUrls;
   private volatile boolean connected = false;
   /**
-   * String reported under cn=monitor when there is no connected RS.
+   * String reported under CSN=monitor when there is no connected RS.
    */
   public final static String NO_CONNECTED_SERVER = "Not connected";
   private volatile String replicationServer = NO_CONNECTED_SERVER;
@@ -223,7 +205,7 @@
    * @param groupId The group id of our domain.
    * @param changeTimeHeartbeatInterval The interval (in ms) between Change
    *        time  heartbeats are sent to the RS,
-   *        or zero if no CN heartbeat should be sent.
+   *        or zero if no CSN heartbeat should be sent.
    */
   public ReplicationBroker(ReplicationDomain replicationDomain,
     ServerState state, String baseDn, int serverID2, int window,
@@ -1583,8 +1565,11 @@
     /**
      * Now apply the choice base on the weight to the best servers list
      */
-    if (bestServers.size() > 1)
+    if (bestServers.size() == 1)
     {
+      return bestServers.values().iterator().next();
+    }
+
       if (firstConnection)
       {
         // We are not connected to a server yet
@@ -1599,10 +1584,6 @@
         return computeBestServerForWeight(bestServers, rsServerId,
           localServerId);
       }
-    } else
-    {
-      return bestServers.values().iterator().next();
-    }
   }
 
   /**
@@ -1738,12 +1719,11 @@
     Map<Integer, ReplicationServerInfo> moreUpToDateServers =
       new HashMap<Integer, ReplicationServerInfo>();
 
-    // Extract the change number of the latest change generated by the local
-    // server
-    ChangeNumber myChangeNumber = localState.getChangeNumber(localServerId);
-    if (myChangeNumber == null)
+    // Extract the CSN of the latest change generated by the local server
+    CSN myCSN = localState.getCSN(localServerId);
+    if (myCSN == null)
     {
-      myChangeNumber = new ChangeNumber(0, 0, localServerId);
+      myCSN = new CSN(0, 0, localServerId);
     }
 
     /**
@@ -1751,23 +1731,23 @@
      * if for instance we failed and restarted, having sent some changes to the
      * RS but without having time to store our own state) regarding our own
      * server id. If some servers more up to date, prefer this list but take
-     * only the latest change number.
+     * only the latest CSN.
      */
-    ChangeNumber latestRsChangeNumber = null;
+    CSN latestRsCSN = null;
     for (Integer rsId : bestServers.keySet())
     {
       ReplicationServerInfo replicationServerInfo = bestServers.get(rsId);
       ServerState rsState = replicationServerInfo.getServerState();
-      ChangeNumber rsChangeNumber = rsState.getChangeNumber(localServerId);
-      if (rsChangeNumber == null)
+      CSN rsCSN = rsState.getCSN(localServerId);
+      if (rsCSN == null)
       {
-        rsChangeNumber = new ChangeNumber(0, 0, localServerId);
+        rsCSN = new CSN(0, 0, localServerId);
       }
 
       // Has this replication server the latest local change ?
-      if (myChangeNumber.olderOrEqual(rsChangeNumber))
+      if (myCSN.olderOrEqual(rsCSN))
       {
-        if (myChangeNumber.equals(rsChangeNumber))
+        if (myCSN.equals(rsCSN))
         {
           // This replication server has exactly the latest change from the
           // local server
@@ -1776,14 +1756,14 @@
         {
           // This replication server is even more up to date than the local
           // server
-          if (latestRsChangeNumber == null)
+          if (latestRsCSN == null)
           {
-            // Initialize the latest change number
-            latestRsChangeNumber = rsChangeNumber;
+            // Initialize the latest CSN
+            latestRsCSN = rsCSN;
           }
-          if (rsChangeNumber.newerOrEquals(latestRsChangeNumber))
+          if (rsCSN.newerOrEquals(latestRsCSN))
           {
-            if (rsChangeNumber.equals(latestRsChangeNumber))
+            if (rsCSN.equals(latestRsCSN))
             {
               moreUpToDateServers.put(rsId, replicationServerInfo);
             } else
@@ -1792,7 +1772,7 @@
               // new RS
               moreUpToDateServers.clear();
               moreUpToDateServers.put(rsId, replicationServerInfo);
-              latestRsChangeNumber = rsChangeNumber;
+              latestRsCSN = rsCSN;
             }
           }
         }
@@ -1802,10 +1782,8 @@
     {
       // Prefer servers more up to date than local server
       return moreUpToDateServers;
-    } else
-    {
-      return upToDateServers;
     }
+    return upToDateServers;
   }
 
 
@@ -3041,7 +3019,7 @@
    */
   public void startChangeTimeHeartBeatPublishing()
   {
-    // Start a CN heartbeat thread.
+    // Start a CSN heartbeat thread.
     if (changeTimeHeartbeatSendInterval > 0)
     {
       String threadName = "Replica DS("
@@ -3058,7 +3036,7 @@
     {
       if (debugEnabled())
         TRACER.debugInfo(this
-          + " is not configured to send CN heartbeat interval");
+          + " is not configured to send CSN heartbeat interval");
     }
   }
 

--
Gitblit v1.10.0