From b41f8df6ea90f377c125d918c85bea922bc654a7 Mon Sep 17 00:00:00 2001
From: gbellato <gbellato@localhost>
Date: Tue, 15 Jan 2008 13:55:33 +0000
Subject: [PATCH] Fix for issue 2805 : purge delay parameter not taken into account online.
---
opends/src/server/org/opends/server/replication/server/ReplicationServer.java | 23 ++++++++++++++++++-----
1 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/opends/src/server/org/opends/server/replication/server/ReplicationServer.java b/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
index bf81c46..31088dd 100644
--- a/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
+++ b/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
@@ -119,8 +119,11 @@
private int rcvWindow;
private int queueSize;
private String dbDirname = null;
- private long trimAge; // the time (in sec) after which the changes must
- // be deleted from the persistent storage.
+
+ // The delay (in sec) after which the changes must
+ // be deleted from the persistent storage.
+ private long purgeDelay;
+
private int replicationPort;
private boolean stopListen = false;
private ReplSessionSecurity replSessionSecurity;
@@ -158,7 +161,7 @@
if (replicationServers == null)
replicationServers = new ArrayList<String>();
queueSize = configuration.getQueueSize();
- trimAge = configuration.getReplicationPurgeDelay();
+ purgeDelay = configuration.getReplicationPurgeDelay();
dbDirname = configuration.getReplicationDBDirectory();
rcvWindow = configuration.getWindowSize();
if (dbDirname == null)
@@ -582,7 +585,7 @@
*/
long getTrimage()
{
- return trimAge * 1000;
+ return purgeDelay * 1000;
}
/**
@@ -628,7 +631,17 @@
if (replicationServers == null)
replicationServers = new ArrayList<String>();
queueSize = configuration.getQueueSize();
- trimAge = configuration.getReplicationPurgeDelay();
+ long newPurgeDelay = configuration.getReplicationPurgeDelay();
+ if (newPurgeDelay != purgeDelay)
+ {
+ purgeDelay = newPurgeDelay;
+ // propagate
+ for (ReplicationServerDomain domain : baseDNs.values())
+ {
+ domain.setPurgeDelay(purgeDelay);
+ }
+ }
+
rcvWindow = configuration.getWindowSize();
// changing the listen port requires to stop the listen thread
--
Gitblit v1.10.0