From 40e614c194cf2adb66c2deb6fca196ba4d7eab58 Mon Sep 17 00:00:00 2001
From: pgamba <pgamba@localhost>
Date: Mon, 07 Sep 2009 15:32:03 +0000
Subject: [PATCH] Fix for #4209 ECL: trailing changelog entries after purge can make ECL search result incoherent
---
opends/src/server/org/opends/server/replication/server/DbHandler.java | 17 ++++++++++++++++-
1 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/opends/src/server/org/opends/server/replication/server/DbHandler.java b/opends/src/server/org/opends/server/replication/server/DbHandler.java
index ca05642..5a5b5bd 100644
--- a/opends/src/server/org/opends/server/replication/server/DbHandler.java
+++ b/opends/src/server/org/opends/server/replication/server/DbHandler.java
@@ -113,6 +113,8 @@
// The maximum number of retries in case of DatabaseDeadlock Exception.
private static final int DEADLOCK_RETRIES = 10;
+ private long latestTrimDate = 0;
+
/**
*
* The trim age in milliseconds. Changes record in the change DB that
@@ -393,6 +395,16 @@
}
/**
+ * Retrieves the latest trim date.
+ * @return the latest trim date.
+ */
+ public long getLatestTrimDate()
+ {
+ return latestTrimDate;
+ }
+
+
+ /**
* Trim old changes from this replicationServer database.
* @throws DatabaseException In case of database problem.
*/
@@ -403,7 +415,10 @@
int size = 0;
boolean finished = false;
boolean done = false;
- ChangeNumber trimDate = new ChangeNumber(TimeThread.getTime() - trimage,
+
+ latestTrimDate = TimeThread.getTime() - trimage;
+
+ ChangeNumber trimDate = new ChangeNumber(latestTrimDate,
(short) 0, (short)0);
// In case of deadlock detection by the Database, this thread can
--
Gitblit v1.10.0