From b182ea128bb2c9e70bdfb41ac056efef4ea70430 Mon Sep 17 00:00:00 2001
From: gbellato <gbellato@localhost>
Date: Thu, 22 Mar 2007 16:59:32 +0000
Subject: [PATCH] Fix for issue 1370 : tests for resynchronization after import or restore are failing This was happening because in some cases the Changelog server was failing to re-send the changes to the LDAP servers.
---
opends/src/server/org/opends/server/synchronization/changelog/ChangelogDB.java | 16 +++++++++++++++-
1 files changed, 15 insertions(+), 1 deletions(-)
diff --git a/opends/src/server/org/opends/server/synchronization/changelog/ChangelogDB.java b/opends/src/server/org/opends/server/synchronization/changelog/ChangelogDB.java
index 1f9c67f..d443ddb 100644
--- a/opends/src/server/org/opends/server/synchronization/changelog/ChangelogDB.java
+++ b/opends/src/server/org/opends/server/synchronization/changelog/ChangelogDB.java
@@ -323,7 +323,21 @@
if (cursor.getSearchKey(key, data, LockMode.DEFAULT) !=
OperationStatus.SUCCESS)
{
- throw new Exception("ChangeNumber not available");
+ if (cursor.getSearchKeyRange(key, data, LockMode.DEFAULT) !=
+ OperationStatus.SUCCESS)
+ {
+ throw new Exception("ChangeNumber not available");
+ }
+ else
+ {
+ DatabaseEntry key = new DatabaseEntry();
+ DatabaseEntry data = new DatabaseEntry();
+ if (cursor.getPrev(key, data, LockMode.DEFAULT) !=
+ OperationStatus.SUCCESS)
+ {
+ cursor = db.openCursor(txn, null);
+ }
+ }
}
}
}
--
Gitblit v1.10.0