From dfee862f2637845769ee7c9ed594985920c4c6aa Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Mon, 31 May 2010 13:06:56 +0000
Subject: [PATCH] Add support for displaying replication CSNs in the Access Logs. The default is disabled, but the log of replication CSNs can be activated by setting the log-changenumber property in the Replication domain configuration.
---
opends/src/server/org/opends/server/replication/plugin/LDAPReplicationDomain.java | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/opends/src/server/org/opends/server/replication/plugin/LDAPReplicationDomain.java b/opends/src/server/org/opends/server/replication/plugin/LDAPReplicationDomain.java
index 9af9669..04094a0 100644
--- a/opends/src/server/org/opends/server/replication/plugin/LDAPReplicationDomain.java
+++ b/opends/src/server/org/opends/server/replication/plugin/LDAPReplicationDomain.java
@@ -405,6 +405,9 @@
// The operation should become a no-op
private static final int FRACTIONAL_BECOME_NO_OP = 3;
+ // This configuration boolean indicates if this ReplicationDomain should log
+ // ChangeNumbers.
+ private boolean logChangeNumber = false;
/**
* The thread that periodically saves the ServerState of this
@@ -551,6 +554,7 @@
heartbeatInterval = configuration.getHeartbeatInterval();
isolationpolicy = configuration.getIsolationPolicy();
configDn = configuration.dn();
+ logChangeNumber = configuration.isLogChangenumber();
this.updateToReplayQueue = updateToReplayQueue;
// Get assured configuration
@@ -2297,6 +2301,12 @@
// Note that a failed non-replication operation might not have a change
// number.
ChangeNumber curChangeNumber = OperationContext.getChangeNumber(op);
+ if ((curChangeNumber != null) && (logChangeNumber))
+ {
+ Message message =
+ Message.raw("replicationCN:%s", curChangeNumber.toString());
+ op.appendAdditionalLogMessage(message);
+ }
if ((result == ResultCode.SUCCESS) && (!op.isSynchronizationOperation()))
{
@@ -4234,6 +4244,7 @@
ReplicationDomainCfg configuration)
{
isolationpolicy = configuration.getIsolationPolicy();
+ logChangeNumber = configuration.isLogChangenumber();
changeConfig(
configuration.getReplicationServer(),
--
Gitblit v1.10.0