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