From 039ee58ed643a74b0ebcacc41cf8af0c0de76c1d Mon Sep 17 00:00:00 2001
From: dugan <dugan@localhost>
Date: Mon, 17 Mar 2008 15:41:50 +0000
Subject: [PATCH] These changes remove the temporary file limitation from import-ldif. Several other changes were made also:

---
 opendj-sdk/opends/src/server/org/opends/server/backends/jeb/RootContainer.java |   31 +++++++++++++++++++++++++++----
 1 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/RootContainer.java b/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/RootContainer.java
index 21feae2..ee30ca5 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/RootContainer.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/RootContainer.java
@@ -26,17 +26,14 @@
  */
 package org.opends.server.backends.jeb;
 import org.opends.messages.Message;
-
 import com.sleepycat.je.config.EnvironmentParams;
 import com.sleepycat.je.config.ConfigParam;
 import com.sleepycat.je.*;
-
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.*;
 import java.io.File;
 import java.io.FilenameFilter;
-
 import org.opends.server.monitors.DatabaseEnvironmentMonitor;
 import org.opends.server.types.DebugLogLevel;
 import org.opends.server.types.DN;
@@ -48,7 +45,6 @@
 import org.opends.server.admin.server.ConfigurationChangeListener;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.config.ConfigException;
-
 import static org.opends.server.loggers.ErrorLogger.logError;
 import static org.opends.server.loggers.debug.DebugLogger.*;
 import org.opends.server.loggers.debug.DebugTracer;
@@ -79,6 +75,9 @@
    */
   private Environment env;
 
+  //Used to force a checkpoint during import.
+  private CheckpointConfig importForceCheckPoint = new CheckpointConfig();
+
   /**
    * The backend configuration.
    */
@@ -129,6 +128,7 @@
     this.compressedSchema = null;
 
     config.addLocalDBChangeListener(this);
+    importForceCheckPoint.setForce(true);
   }
 
   /**
@@ -1029,4 +1029,27 @@
                                  messages);
     return ccr;
   }
+
+  /**
+   * Force a checkpoint.
+   *
+   * @throws DatabaseException If a database error occurs.
+   */
+  public void importForceCheckPoint() throws DatabaseException {
+    env.checkpoint(importForceCheckPoint);
+  }
+
+  /**
+   * Run the cleaner and return the number of files cleaned.
+   *
+   * @return The number of logs cleaned.
+   * @throws DatabaseException If a database error occurs.
+   */
+  public int cleanedLogFiles() throws DatabaseException {
+    int cleaned, totalCleaned = 0;
+    while((cleaned = env.cleanLog()) > 0) {
+      totalCleaned += cleaned;
+    }
+    return totalCleaned;
+  }
 }

--
Gitblit v1.10.0