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