From ca156caf9b6a29477027a5ea6442773a2ebbb057 Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Mon, 31 May 2010 08:45:17 +0000
Subject: [PATCH] Fix issue #4507. Improve performances of searches in ELC with bounded filters, like (&(changeNumber>=0)(changeNumber<=999)) Also remove a concurrent modification exception in online init, detected with unit tests.
---
opends/src/server/org/opends/server/replication/server/ECLServerHandler.java | 8 ++++++--
1 files changed, 6 insertions(+), 2 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 35e253f..0373d72 100644
--- a/opends/src/server/org/opends/server/replication/server/ECLServerHandler.java
+++ b/opends/src/server/org/opends/server/replication/server/ECLServerHandler.java
@@ -1400,7 +1400,7 @@
break;
}
} // while DraftCN
- }
+ } // if draftCompat
// here we have the right oldest change
// and in the draft case, we have its draft changenumber
@@ -1414,7 +1414,11 @@
{
domainCtxts[iDom].active = false;
}
-
+ if (draftCompat && (lastDraftCN>0) &&
+ (oldestChange.getDraftChangeNumber()>lastDraftCN))
+ {
+ domainCtxts[iDom].active = false;
+ }
if (domainCtxts[iDom].active)
{
// populates the table with the next eligible msg from idomain
--
Gitblit v1.10.0