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