From ba2b247fb296f883e9efcd46308a64dfd6cca0a4 Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Thu, 16 Jul 2026 05:17:57 +0000
Subject: [PATCH] [#737] Fix cn=changelog search failing when aliases are dereferenced (#740)

---
 opendj-server-legacy/src/main/java/org/opends/server/backends/ChangelogBackend.java |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/ChangelogBackend.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/ChangelogBackend.java
index 60c2f37..249f7b0 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/ChangelogBackend.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/ChangelogBackend.java
@@ -297,6 +297,14 @@
     return true;
   }
 
+  /**
+   * {@inheritDoc}
+   * <p>
+   * Only the base changelog entry can be retrieved by DN. Change records are streamed by
+   * {@link #search(SearchOperation)}, which needs the search filter and the change number range to
+   * position its cursors, so they cannot be looked up individually and {@code null} is returned for
+   * them. None of them is ever an alias, so callers dereferencing aliases get the answer they need.
+   */
   @Override
   public Entry getEntry(final DN entryDN) throws DirectoryException
   {
@@ -305,7 +313,11 @@
       throw new DirectoryException(DirectoryServer.getCoreConfigManager().getServerErrorResultCode(),
           ERR_BACKEND_GET_ENTRY_NULL.get(getBackendID()));
     }
-    throw new RuntimeException("Not implemented");
+    if (CHANGELOG_BASE_DN.equals(entryDN))
+    {
+      return buildBaseChangelogEntry();
+    }
+    return null;
   }
 
   @Override

--
Gitblit v1.10.0