From 1b5fac65c3243a723d2307323d234550301f5987 Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Fri, 30 Jul 2010 12:11:07 +0000
Subject: [PATCH] Fixes an out of memory issue with rebuild-index caused by memory leaks during large rebuilds. The  DB cache size was being configured too late in the rebuild-index initialization and so the default cache size of 60% heap was being used, which caused memory budgeting failures.

---
 opends/src/server/org/opends/server/backends/jeb/BackendImpl.java |    9 ++++++---
 1 files changed, 6 insertions(+), 3 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 980a077..3ccd2e0 100644
--- a/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java
+++ b/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java
@@ -1352,15 +1352,18 @@
                 .getDBCleanerMinUtilization()));
         envConfig.setConfigParam(EnvironmentConfig.LOG_FILE_MAX, String
             .valueOf(cfg.getDBLogFileMax()));
+
+        Importer importer = new Importer(rebuildConfig, cfg, envConfig);
         rootContainer = initializeRootContainer(envConfig);
+        importer.rebuildIndexes(rootContainer);
       }
       else
       {
         envConfig = ConfigurableEnvironment.parseConfigEntry(cfg);
-      }
 
-      Importer importer = new Importer(rebuildConfig, cfg, envConfig);
-      importer.rebuildIndexes(rootContainer);
+        Importer importer = new Importer(rebuildConfig, cfg, envConfig);
+        importer.rebuildIndexes(rootContainer);
+      }
     }
     catch (ExecutionException execEx)
     {

--
Gitblit v1.10.0