From 9f0904fda87bfcf921deeccdbaeafe834fbad696 Mon Sep 17 00:00:00 2001
From: Yannick Lecaillez <yannick.lecaillez@forgerock.com>
Date: Fri, 24 Apr 2015 14:30:47 +0000
Subject: [PATCH] OPENDJ-1725: Persistit: very long recovery and many discarded txns after addrate test
---
opendj-server-legacy/src/main/java/org/opends/server/extensions/ConfigFileHandler.java | 33 ++++++++++++++++++---------------
1 files changed, 18 insertions(+), 15 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/extensions/ConfigFileHandler.java b/opendj-server-legacy/src/main/java/org/opends/server/extensions/ConfigFileHandler.java
index 6ce62a5..3d8bf6d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/extensions/ConfigFileHandler.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/extensions/ConfigFileHandler.java
@@ -26,6 +26,7 @@
*/
package org.opends.server.extensions;
+import static org.forgerock.util.Reject.*;
import static org.opends.messages.ConfigMessages.*;
import static org.opends.server.config.ConfigConstants.*;
import static org.opends.server.extensions.ExtensionsConstants.*;
@@ -846,29 +847,31 @@
/** {@inheritDoc} */
@Override
- public long numSubordinates(DN entryDN, boolean subtree)
- throws DirectoryException
+ public long getNumberOfEntriesInBaseDN(DN baseDN) throws DirectoryException
{
- ConfigEntry baseEntry = configEntries.get(entryDN);
+ checkNotNull(baseDN, "baseDN must not be null");
+ final ConfigEntry baseEntry = configEntries.get(baseDN);
if (baseEntry == null)
{
return -1;
}
- if(!subtree)
+ long count = 1;
+ for (ConfigEntry child : baseEntry.getChildren().values())
{
- return baseEntry.getChildren().size();
+ count += getNumberOfEntriesInBaseDN(child.getDN());
+ count++;
}
- else
- {
- long count = 0;
- for(ConfigEntry child : baseEntry.getChildren().values())
- {
- count += numSubordinates(child.getDN(), true);
- count ++;
- }
- return count;
- }
+ return count;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public long getNumberOfChildren(DN parentDN) throws DirectoryException
+ {
+ checkNotNull(parentDN, "parentDN must not be null");
+ final ConfigEntry baseEntry = configEntries.get(parentDN);
+ return baseEntry != null ? baseEntry.getChildren().size() : -1;
}
/** {@inheritDoc} */
--
Gitblit v1.10.0