From 79e812a1ce0dc5e475a57a31c1a6ac2382c5b1a9 Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Wed, 28 Oct 2026 16:24:44 +0000
Subject: [PATCH] [#1241] Log the benign aborts of a replication handshake as warnings: the cross connection timeout (145) and a peer which went away (178, 179) (#1242)

---
 opendj-server-legacy/src/main/java/org/opends/server/replication/server/ReplicationServer.java |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/ReplicationServer.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/ReplicationServer.java
index f83b4ed..4aa9a57 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/ReplicationServer.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/ReplicationServer.java
@@ -770,19 +770,23 @@
      * returns false from then on, so the next real outage of it is not reported at all.
      *
      * What the handshake did next is reported all the same, because it is not the log which
-     * can be left to it. ReplicationServerHandler.connect() aborts at seven places, and the
+     * can be left to it. ReplicationServerHandler.connect() aborts at eight places, and the
      * three which pass no message log nothing at all, abortStart() logging nothing without
      * one: a StopMsg read where the peer's ReplServerStartMsg was due, a cross connect this
      * server resolves against a peer it is already connected to, and a phase two the peer
      * leaves unanswered. Those would otherwise leave "connected" as the last thing said
-     * about a domain which has no session for it. The remaining four have their reason
+     * about a domain which has no session for it. The remaining five have their reason
      * logged here by abortStart(), and they are not all of one kind: this server rejecting
      * the peer, the peer going away while the handshake ran, and whatever else fails on
-     * this side of it. So the message reported for an answer without a session tells the
-     * two apart by where a reason was logged rather than by naming a side: the operator is
-     * sent to the log of the peer only where nothing was logged here, and that is also the
-     * abort the peer may have logged nothing about either -- it resolves a cross connect
-     * with the same silent abortStart(null), one line up in startFromRemoteRS().
+     * this side of it -- the second logged as a warning, being no error of this server, and
+     * the other two as errors. A peer silent past the connection timeout is of the second
+     * kind. A frame this server has no heap for is of the first kind or of the third, though
+     * the session reports it as an IOException, which the second kind is as well. So the
+     * message reported for an answer without a session tells the two apart by where a
+     * reason was logged rather than by naming a side: the operator is sent to the log of the
+     * peer only where nothing was logged here, and that is also the abort the peer may have
+     * logged nothing about either -- it resolves a cross connect with the same silent
+     * abortStart(null), one line up in startFromRemoteRS().
      *
      * The cross connect this server resolves is the one abort of the three where a session
      * for the domain does exist: it is the connection the peer made. For a peer which names

--
Gitblit v1.10.0