From 328ec50e683c622586d30aeb9dee55bebdebfe0c Mon Sep 17 00:00:00 2001
From: dugan <dugan@localhost>
Date: Fri, 24 Jul 2009 22:32:43 +0000
Subject: [PATCH] Commit of new import code.
---
opends/src/server/org/opends/server/backends/jeb/BackendImpl.java | 86 +++++++++++++++++++++++-------------------
1 files changed, 47 insertions(+), 39 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 8d2dbe4..7f8e84c 100644
--- a/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java
+++ b/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java
@@ -30,6 +30,7 @@
import java.io.IOException;
import java.io.File;
import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.ExecutionException;
import java.io.FileInputStream;
import java.io.FilenameFilter;
@@ -41,6 +42,7 @@
import com.sleepycat.je.EnvironmentConfig;
import com.sleepycat.je.RunRecoveryException;
+import org.opends.server.backends.jeb.importLDIF.*;
import org.opends.server.admin.std.meta.LocalDBIndexCfgDefn;
import org.opends.server.admin.std.server.MonitorProviderCfg;
import org.opends.server.api.Backend;
@@ -71,7 +73,7 @@
import org.opends.server.admin.server.ConfigurationChangeListener;
import org.opends.server.api.ExtensibleIndexer;
import org.opends.server.types.DN;
-import org.opends.server.backends.jeb.importLDIF.Importer;
+
import org.opends.server.api.ExtensibleMatchingRule;
/**
* This is an implementation of a Directory Server Backend which stores entries
@@ -107,12 +109,12 @@
/**
* A count of the total operation threads currently in the backend.
*/
- private AtomicInteger threadTotalCount = new AtomicInteger(0);
+ private final AtomicInteger threadTotalCount = new AtomicInteger(0);
/**
* A count of the write operation threads currently in the backend.
*/
- private AtomicInteger threadWriteCount = new AtomicInteger(0);
+ private final AtomicInteger threadWriteCount = new AtomicInteger(0);
/**
* A list of monitor providers created for this backend instance.
@@ -281,6 +283,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public void configureBackend(Configuration cfg)
throws ConfigException
{
@@ -1128,10 +1131,11 @@
envConfig.setAllowCreate(true);
envConfig.setTransactional(false);
envConfig.setTxnNoSync(false);
- envConfig.setConfigParam("je.env.isLocking", "false");
+ envConfig.setConfigParam("je.env.isLocking", "true");
envConfig.setConfigParam("je.env.runCheckpointer", "false");
//Loop through local indexes and see if any are substring.
boolean hasSubIndex = false;
+ int indexCount = cfg.listLocalDBIndexes().length;
subIndex:
for (String idx : cfg.listLocalDBIndexes()) {
final LocalDBIndexCfg indexCfg = cfg.getLocalDBIndex(idx);
@@ -1164,11 +1168,33 @@
}
}
}
- Importer importer = new Importer(importConfig, hasSubIndex);
- envConfig.setConfigParam("je.maxMemory", importer.getDBCacheSize());
+
+ Importer importer = new Importer(importConfig, cfg);
+ importer.init(envConfig);
rootContainer = initializeRootContainer(envConfig);
+
return importer.processImport(rootContainer);
}
+ catch (ExecutionException execEx)
+ {
+ if (debugEnabled())
+ {
+ TRACER.debugCaught(DebugLogLevel.ERROR, execEx);
+ }
+ Message message = ERR_EXECUTION_ERROR.get(execEx.getMessage());
+ throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
+ message);
+ }
+ catch (InterruptedException intEx)
+ {
+ if (debugEnabled())
+ {
+ TRACER.debugCaught(DebugLogLevel.ERROR, intEx);
+ }
+ Message message = ERR_INTERRUPTED_ERROR.get(intEx.getMessage());
+ throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
+ message);
+ }
catch (IOException ioe)
{
if (debugEnabled())
@@ -1188,14 +1214,6 @@
throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
je.getMessageObject());
}
- catch (DatabaseException de)
- {
- if (debugEnabled())
- {
- TRACER.debugCaught(DebugLogLevel.ERROR, de);
- }
- throw createDirectoryException(de);
- }
catch (InitializationException ie)
{
if (debugEnabled())
@@ -1656,12 +1674,10 @@
* @param e The DatabaseException to be converted.
* @return DirectoryException created from exception.
*/
- DirectoryException createDirectoryException(DatabaseException e)
- {
+ DirectoryException createDirectoryException(DatabaseException e) {
ResultCode resultCode = DirectoryServer.getServerErrorResultCode();
Message message = null;
- if(e instanceof RunRecoveryException)
- {
+ if (e instanceof RunRecoveryException) {
message = NOTE_BACKEND_ENVIRONMENT_UNUSABLE.get(getBackendID());
logError(message);
DirectoryServer.sendAlertNotification(DirectoryServer.getInstance(),
@@ -1669,8 +1685,7 @@
}
String jeMessage = e.getMessage();
- if (jeMessage == null)
- {
+ if (jeMessage == null) {
jeMessage = stackTraceToSingleLineString(e);
}
message = ERR_JEB_DATABASE_EXCEPTION.get(jeMessage);
@@ -1680,45 +1695,38 @@
/**
* {@inheritDoc}
*/
- public String getClassName()
- {
+ public String getClassName() {
return CLASS_NAME;
}
/**
* {@inheritDoc}
*/
- public LinkedHashMap<String,String> getAlerts()
- {
- LinkedHashMap<String,String> alerts = new LinkedHashMap<String,String>();
+ public LinkedHashMap<String, String> getAlerts() {
+ LinkedHashMap<String, String> alerts = new LinkedHashMap<String, String>();
alerts.put(ALERT_TYPE_BACKEND_ENVIRONMENT_UNUSABLE,
- ALERT_DESCRIPTION_BACKEND_ENVIRONMENT_UNUSABLE);
+ ALERT_DESCRIPTION_BACKEND_ENVIRONMENT_UNUSABLE);
return alerts;
}
/**
* {@inheritDoc}
*/
- public DN getComponentEntryDN()
- {
+ public DN getComponentEntryDN() {
return cfg.dn();
}
private RootContainer initializeRootContainer(EnvironmentConfig envConfig)
- throws ConfigException, InitializationException
- {
+ throws ConfigException, InitializationException {
// Open the database environment
- try
- {
+ try {
RootContainer rc = new RootContainer(this, cfg);
rc.open(envConfig);
return rc;
}
- catch (DatabaseException e)
- {
- if (debugEnabled())
- {
+ catch (DatabaseException e) {
+ if (debugEnabled()) {
TRACER.debugCaught(DebugLogLevel.ERROR, e);
}
Message message = ERR_JEB_OPEN_ENV_FAIL.get(e.getMessage());
@@ -1729,11 +1737,11 @@
/**
* {@inheritDoc}
*/
+ @Override
public void preloadEntryCache() throws
- UnsupportedOperationException
- {
+ UnsupportedOperationException {
EntryCachePreloader preloader =
- new EntryCachePreloader(this);
+ new EntryCachePreloader(this);
preloader.preload();
}
}
--
Gitblit v1.10.0