From a7eb0e0617d50e1357132e04b58b76d2a86f501e Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 03 Jan 2014 11:19:57 +0000
Subject: [PATCH] OPENDJ-1205 Remove network layer from External ChangeLog implementation

---
 opendj-sdk/opends/src/server/org/opends/server/replication/server/ServerWriter.java |   54 ++++++++++++------------------------------------------
 1 files changed, 12 insertions(+), 42 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/server/ServerWriter.java b/opendj-sdk/opends/src/server/org/opends/server/replication/server/ServerWriter.java
index dc85031..23a2880 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/server/ServerWriter.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/server/ServerWriter.java
@@ -27,7 +27,6 @@
 package org.opends.server.replication.server;
 
 import java.net.SocketException;
-import java.util.NoSuchElementException;
 
 import org.opends.messages.Message;
 import org.opends.server.api.DirectoryThread;
@@ -103,12 +102,14 @@
         UpdateMsg update = replicationServerDomain.take(this.handler);
         if (update == null)
         {
+          // this connection is closing
           errMessage = Message.raw(
            "Connection closure: null update returned by domain.");
-          return;       /* this connection is closing */
+          return;
         }
 
-        /* Ignore updates in some cases */
+        // Ignore updates in some cases
+        long referenceGenerationId = replicationServerDomain.getGenerationId();
         if (handler.isDataServer())
         {
           /**
@@ -127,9 +128,8 @@
           if (dsStatus == ServerStatus.BAD_GEN_ID_STATUS
               || dsStatus == ServerStatus.FULL_UPDATE_STATUS)
           {
-            long referenceGenerationId =
-              replicationServerDomain.getGenerationId();
             if (dsStatus == ServerStatus.BAD_GEN_ID_STATUS)
+            {
               logError(WARN_IGNORING_UPDATE_TO_DS_BADGENID.get(
                   handler.getReplicationServerId(),
                   update.getCSN().toString(),
@@ -137,22 +137,24 @@
                   session.getReadableRemoteAddress(),
                   handler.getGenerationId(),
                   referenceGenerationId));
-            if (dsStatus == ServerStatus.FULL_UPDATE_STATUS)
+            }
+            else if (dsStatus == ServerStatus.FULL_UPDATE_STATUS)
+            {
               logError(WARN_IGNORING_UPDATE_TO_DS_FULLUP.get(
                   handler.getReplicationServerId(),
                   update.getCSN().toString(),
                   handler.getBaseDNString(), handler.getServerId(),
                   session.getReadableRemoteAddress()));
+            }
             continue;
           }
-        } else
+        }
+        else
         {
           /**
            * Ignore updates to RS with bad gen id
            * (no system managed status for a RS)
            */
-          long referenceGenerationId =
-            replicationServerDomain.getGenerationId();
           if (referenceGenerationId != handler.getGenerationId()
               || referenceGenerationId == -1
               || handler.getGenerationId() == -1)
@@ -175,45 +177,13 @@
         session.publish(update);
       }
     }
-    catch (NoSuchElementException e)
-    {
-      /*
-       * The remote host has disconnected and this particular Tree is going to
-       * be removed, just ignore the exception and let the thread die as well
-       */
-      if (handler.isDataServer())
-      {
-        errMessage = ERR_DS_BADLY_DISCONNECTED.get(
-            handler.getReplicationServerId(), handler.getServerId(),
-            session.getReadableRemoteAddress(), handler.getBaseDNString());
-      }
-      else
-      {
-        errMessage = ERR_RS_BADLY_DISCONNECTED.get(
-            handler.getReplicationServerId(), handler.getServerId(),
-            session.getReadableRemoteAddress(), handler.getBaseDNString());
-      }
-
-      logError(errMessage);
-    }
     catch (SocketException e)
     {
       /*
        * The remote host has disconnected and this particular Tree is going to
        * be removed, just ignore the exception and let the thread die as well
        */
-      if (handler.isDataServer())
-      {
-        errMessage = ERR_DS_BADLY_DISCONNECTED.get(
-            handler.getReplicationServerId(), handler.getServerId(),
-            session.getReadableRemoteAddress(), handler.getBaseDNString());
-      }
-      else
-      {
-        errMessage = ERR_RS_BADLY_DISCONNECTED.get(
-            handler.getReplicationServerId(), handler.getServerId(),
-            session.getReadableRemoteAddress(), handler.getBaseDNString());
-      }
+      errMessage = handler.getBadlyDisconnectedErrorMessage();
       logError(errMessage);
     }
     catch (Exception e)

--
Gitblit v1.10.0