From 7c30dbb5403772b323df3ad907d9ed15d23b5aee Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Thu, 29 Apr 2010 20:35:40 +0000
Subject: [PATCH] Last batch of changes for this week. This adds support for the IETF based Password Policy for LDAP as SubEntry. Also resolves the following issues : - 4544 : initializeBackend() should not set JE env config params directly. - 4478 : ECL in draft compat mode / search lastchangenumber can be very long - 4538 : Virtual attributes not retrieved when entry cache configured - 4547 : Search Filter Matching differ for cn=Directory Manager and plain user. - 4514 : Logs shows unexpected message with replication monitoring data missing (Partial fix) - 4534 : Replication using security does not work after server restart - 4516 : SEVERE_ERROR: servers (...) have the same ServerId In addition, they also improve reliability and performance in various areas including CollectiveAttributes, Virtual Attributes and Subentries management, Schema loading, Replication...
---
opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java | 16 ++++++++++++----
1 files changed, 12 insertions(+), 4 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 67673d1..1cefe98 100644
--- a/opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java
+++ b/opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java
@@ -1439,7 +1439,8 @@
if (handler == null)
return 0;
- return handler.getCount(from, to);
+ int count = handler.getCount(from, to);
+ return count;
}
/**
@@ -2674,12 +2675,12 @@
for (ServerHandler rs : replicationServers.values())
{
int serverId = rs.getServerId();
+ // Store the fact that we expect a MonitoringMsg back from this server
+ expectedMonitoringMsg.add(new GlobalServerId(baseDn, serverId));
MonitorRequestMsg msg =
new MonitorRequestMsg(this.replicationServer.getServerId(),
serverId);
rs.send(msg);
- // Store the fact that we expect a MonitoringMsg back from this server
- expectedMonitoringMsg.add(new GlobalServerId(baseDn, serverId));
}
} catch (Exception e)
{
@@ -3379,6 +3380,7 @@
*/
public long getEligibleCount(ServerState startState, ChangeNumber endCN)
{
+ long sidRes = 0;
long res = 0;
// Parses the dbState of the domain , server by server
@@ -3391,7 +3393,13 @@
ChangeNumber startCN = null;
if (startState.getMaxChangeNumber(sid) != null)
startCN = startState.getMaxChangeNumber(sid);
- res += getCount(sid, startCN, endCN);
+ sidRes += getCount(sid, startCN, endCN);
+
+ // The startPoint is excluded when counting the ECL eligible changes
+ if ((startCN!=null)&&(sidRes>0))
+ sidRes--;
+
+ res+=sidRes;
}
return res;
}
--
Gitblit v1.10.0