From 5c87cce021cba14003f8371f8e496aefe68724bc Mon Sep 17 00:00:00 2001
From: Ludovic Poitou <ludovic.poitou@forgerock.com>
Date: Thu, 09 Jun 2011 21:24:05 +0000
Subject: [PATCH] Fix issue OPENDJ-67: Investigate ECL change number consistency across replications servers which have been subjected to different purging policies.

---
 opendj-sdk/opends/src/server/org/opends/server/replication/server/DbHandler.java |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/server/DbHandler.java b/opendj-sdk/opends/src/server/org/opends/server/replication/server/DbHandler.java
index b147246..1ab48e1 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/server/DbHandler.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/server/DbHandler.java
@@ -654,8 +654,14 @@
   public int getCount(ChangeNumber from, ChangeNumber to)
   {
     int c=0;
-    flush();
-    c = db.count(from, to);
+    // Now that we always keep the last ChangeNumber in the DB to avoid
+    // expiring cookies to quickly, we need to check if the "to"
+    // is older than the trim date.
+    if ((to == null) || !to.older(new ChangeNumber(latestTrimDate, 0, 0)))
+    {
+      flush();
+      c = db.count(from, to);
+    }
     return c;
   }
 

--
Gitblit v1.10.0