From 7294e5c0f8655e64353858e506c385efa8fc4e9e Mon Sep 17 00:00:00 2001
From: dugan <dugan@localhost>
Date: Mon, 12 May 2008 19:37:51 +0000
Subject: [PATCH] Increase import DB cache default percentage from 40% to 45%. Also, detect when substring indexing is turned off and use a bigger DB cache in that condition.

---
 opends/src/server/org/opends/server/backends/jeb/BackendImpl.java |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java b/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java
index 142a238..fb11878 100644
--- a/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java
+++ b/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java
@@ -66,6 +66,7 @@
 import org.opends.server.types.*;
 import static org.opends.server.util.ServerConstants.*;
 import org.opends.server.admin.std.server.LocalDBBackendCfg;
+import org.opends.server.admin.std.server.LocalDBIndexCfg;
 import org.opends.server.admin.Configuration;
 import org.opends.server.admin.server.ConfigurationChangeListener;
 import org.opends.server.types.DN;
@@ -1192,7 +1193,18 @@
       envConfig.setTxnNoSync(false);
       envConfig.setConfigParam("je.env.isLocking", "false");
       envConfig.setConfigParam("je.env.runCheckpointer", "false");
-      Importer importer = new Importer(importConfig);
+      //Loop through local indexes and see if any are substring.
+      boolean hasSubIndex = false;
+      for (String idx : cfg.listLocalDBIndexes()) {
+        LocalDBIndexCfg indexCfg = cfg.getLocalDBIndex(idx);
+        Set<org.opends.server.admin.std.meta.LocalDBIndexCfgDefn.IndexType>
+                                            indexType = indexCfg.getIndexType();
+        if(indexType.contains(org.opends.server.admin.std.
+                meta.LocalDBIndexCfgDefn.IndexType.SUBSTRING)) {
+          hasSubIndex = true;
+        }
+      }
+      Importer importer = new Importer(importConfig, hasSubIndex);
       envConfig.setConfigParam("je.maxMemory", importer.getDBCacheSize());
       rootContainer = initializeRootContainer(envConfig);
       return importer.processImport(rootContainer);

--
Gitblit v1.10.0