From 22cde7308a6fa8f1dddc35ba48e9e7213db567e9 Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Fri, 28 May 2010 08:58:23 +0000
Subject: [PATCH] Fix specific replication tests and typos.

---
 opends/src/server/org/opends/server/replication/server/ECLServerHandler.java |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/server/ECLServerHandler.java b/opends/src/server/org/opends/server/replication/server/ECLServerHandler.java
index c41073b..f777a84 100644
--- a/opends/src/server/org/opends/server/replication/server/ECLServerHandler.java
+++ b/opends/src/server/org/opends/server/replication/server/ECLServerHandler.java
@@ -770,7 +770,22 @@
                 // changelogdb start state, it means that the replication
                 // changelog db has been trimed and the cookie is not valid
                 // anymore.
-                if (newDomainCtxt.startState.cover(rsd.getStartState())==false)
+                boolean cookieTooOld = false;
+                for (int serverId : rsd.getStartState())
+                {
+                  ChangeNumber dbOldestChange =
+                    rsd.getStartState().getMaxChangeNumber(serverId);
+                  ChangeNumber providedChange =
+                    newDomainCtxt.startState.getMaxChangeNumber(serverId);
+                  if ((providedChange != null)
+                      && (providedChange.older(dbOldestChange)))
+                  {
+                    cookieTooOld=true;
+                  }
+                }
+
+              //if (newDomainCtxt.startState.cover(rsd.getStartState())==false)
+                if (cookieTooOld)
                 {
                   // the provided start
                   throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM,

--
Gitblit v1.10.0