From 48139cc36d9814f774293d31497bc722656f5955 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Fri, 17 Sep 2010 22:18:47 +0000
Subject: [PATCH] Fix bug where ECL Draft Compat / lastChangeNumber is erroneous when changes have the same time (in the same ms)

---
 opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java b/opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java
index 848b5e6..01f79db 100644
--- a/opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java
+++ b/opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java
@@ -3453,13 +3453,13 @@
 
   /**
    * This methods count the changes, server by server :
-   * - from a start time
+   * - from a start CN
    * - to (inclusive) an end point (the provided endCN).
-   * @param startTime The provided start time.
+   * @param startCN The provided start changeNumber.
    * @param endCN The provided end change number.
    * @return The number of changes between startTime and endCN.
    */
-  public long getEligibleCount(long startTime, ChangeNumber endCN)
+  public long getEligibleCount(ChangeNumber startCN, ChangeNumber endCN)
   {
     long sidRes = 0;
     long res = 0;
@@ -3471,8 +3471,9 @@
     {
       // process one sid
       int sid = serverIDIterator.next();
-      ChangeNumber startCN = new ChangeNumber(startTime, 0, sid);
-      sidRes += getCount(sid, startCN, endCN);
+      ChangeNumber lStartCN =
+        new ChangeNumber(startCN.getTime(), startCN.getSeqnum(), sid);
+      sidRes += getCount(sid, lStartCN, endCN);
       res+=sidRes;
     }
     return res;

--
Gitblit v1.10.0