From a77994116fdc36bff765e79f85fdb29027259f32 Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Mon, 02 Nov 2026 08:21:08 +0000
Subject: [PATCH] [#1250] Report unexpected replication stream EOF as a bad disconnection (#1254)
---
opendj-server-legacy/src/main/java/org/opends/server/replication/server/ServerReader.java | 18 ++++++++++++++++++
1 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/ServerReader.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/ServerReader.java
index 7eb1c9e..424c8c3 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/ServerReader.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/ServerReader.java
@@ -13,9 +13,11 @@
*
* Copyright 2006-2010 Sun Microsystems, Inc.
* Portions Copyright 2011-2015 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.opends.server.replication.server;
+import java.io.EOFException;
import java.net.SocketException;
import org.forgerock.i18n.LocalizableMessage;
@@ -206,6 +208,22 @@
logger.error(errMessage);
}
}
+ catch (EOFException e)
+ {
+ // V4 and later peers send StopMsg before an orderly close unless their session recorded an error.
+ if (!handler.shuttingDown() && !session.closeInitiated()
+ && session.getProtocolVersion() >= ProtocolVersion.REPLICATION_PROTOCOL_V4)
+ {
+ logException(e);
+ errMessage = handler.getBadlyDisconnectedErrorMessage();
+ logger.error(errMessage);
+ }
+ else
+ {
+ errMessage = NOTE_READER_EXCEPTION.get(handler, stackTraceToSingleLineString(e));
+ logger.info(errMessage);
+ }
+ }
catch (Exception e)
{
/*
--
Gitblit v1.10.0