From 40a3f7e08618d3fd8c82c74ece9fb9ecdd47dd16 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 14 Jan 2015 20:13:37 +0000
Subject: [PATCH] OPENDJ-1708 Persistit: no rebuild-index support
---
/dev/null | 295 -------------------------------------------------
opendj3-server-dev/src/server/org/opends/server/tasks/RebuildTask.java | 4
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestRebuildJob.java | 3
opendj3-server-dev/src/server/org/opends/server/backends/RebuildConfig.java | 2
opendj3-server-dev/src/server/org/opends/server/backends/jeb/BackendImpl.java | 1
opendj3-server-dev/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java | 3
opendj3-server-dev/src/server/org/opends/server/tools/RebuildIndex.java | 4
7 files changed, 10 insertions(+), 302 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/RebuildConfig.java b/opendj3-server-dev/src/server/org/opends/server/backends/RebuildConfig.java
similarity index 99%
rename from opendj3-server-dev/src/server/org/opends/server/backends/jeb/RebuildConfig.java
rename to opendj3-server-dev/src/server/org/opends/server/backends/RebuildConfig.java
index ae1a457..32c29b0 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/RebuildConfig.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/RebuildConfig.java
@@ -24,7 +24,7 @@
* Copyright 2006-2009 Sun Microsystems, Inc.
* Portions Copyright 2011-2015 ForgeRock AS
*/
-package org.opends.server.backends.jeb;
+package org.opends.server.backends;
import java.util.ArrayList;
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/BackendImpl.java b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/BackendImpl.java
index aaa7c66..65ceb23 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/BackendImpl.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/BackendImpl.java
@@ -56,6 +56,7 @@
import org.opends.server.api.Backend;
import org.opends.server.api.DiskSpaceMonitorHandler;
import org.opends.server.api.MonitorProvider;
+import org.opends.server.backends.RebuildConfig;
import org.opends.server.backends.VerifyConfig;
import org.opends.server.backends.jeb.importLDIF.Importer;
import org.opends.server.core.*;
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java
index 76edc64..5af96cc 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java
@@ -53,8 +53,9 @@
import org.opends.server.admin.std.server.LocalDBBackendCfg;
import org.opends.server.admin.std.server.LocalDBIndexCfg;
import org.opends.server.api.DiskSpaceMonitorHandler;
+import org.opends.server.backends.RebuildConfig;
+import org.opends.server.backends.RebuildConfig.RebuildMode;
import org.opends.server.backends.jeb.*;
-import org.opends.server.backends.jeb.RebuildConfig.RebuildMode;
import org.opends.server.backends.jeb.RootContainer;
import org.opends.server.backends.jeb.VLVIndex;
import org.opends.server.core.DirectoryServer;
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/RebuildConfig.java b/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/RebuildConfig.java
deleted file mode 100644
index 4b08862..0000000
--- a/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/RebuildConfig.java
+++ /dev/null
@@ -1,295 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
- * or http://forgerock.org/license/CDDLv1.0.html.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at legal-notices/CDDLv1_0.txt.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information:
- * Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- *
- *
- * Copyright 2006-2009 Sun Microsystems, Inc.
- * Portions Copyright 2011-2014 ForgeRock AS
- */
-package org.opends.server.backends.pluggable;
-
-import org.opends.server.types.DN;
-
-import java.util.ArrayList;
-
-/**
- * Configuration for the indexType rebuild process.
- */
-public class RebuildConfig
-{
- /**
- * Identifies how indexes will be selected for rebuild.
- */
- public static enum RebuildMode
- {
- /**
- * Rebuild all indexes, including system indexes.
- */
- ALL,
-
- /**
- * Rebuild all degraded indexes, including system indexes.
- */
- DEGRADED,
-
- /**
- * Rebuild used defined list of indexes.
- */
- USER_DEFINED;
- }
-
- /**
- * The base DN to rebuild.
- */
- private DN baseDN;
-
- /**
- * The names of indexes to rebuild.
- */
- private ArrayList<String> rebuildList;
-
- private RebuildMode rebuildMode = RebuildMode.USER_DEFINED;
-
- private String tmpDirectory;
-
- private boolean isClearDegradedState;
-
- /**
- * Create a new rebuild configuration.
- */
- public RebuildConfig()
- {
- rebuildList = new ArrayList<String>();
- }
-
- /**
- * Get the base DN to rebuild.
- *
- * @return The base DN to rebuild.
- */
- public DN getBaseDN()
- {
- return baseDN;
- }
-
- /**
- * Set the base DN to rebuild.
- *
- * @param baseDN
- * The base DN to rebuild.
- */
- public void setBaseDN(DN baseDN)
- {
- this.baseDN = baseDN;
- }
-
- /**
- * Get the list of indexes to rebuild in this configuration.
- *
- * @return The list of indexes to rebuild.
- */
- public ArrayList<String> getRebuildList()
- {
- return rebuildList;
- }
-
- /**
- * Add an index to be rebuilt into the configuration. Duplicate index names
- * will be ignored. Adding an index that causes a mix of complete and partial
- * rebuild for the same attribute index in the configuration will remove the
- * partial and just keep the complete attribute index name. (ie. uid and
- * uid.presence).
- *
- * @param index
- * The index to add.
- */
- public void addRebuildIndex(String index)
- {
- String[] newIndexParts = index.split("\\.");
-
- for (String s : new ArrayList<String>(rebuildList))
- {
- String[] existingIndexParts = s.split("\\.");
- if (existingIndexParts[0].equalsIgnoreCase(newIndexParts[0]))
- {
- if (newIndexParts.length == 1 && existingIndexParts.length == 1)
- {
- return;
- }
- else if (newIndexParts.length > 1 && existingIndexParts.length == 1)
- {
- return;
- }
- else if (newIndexParts.length == 1 && existingIndexParts.length > 1)
- {
- rebuildList.remove(s);
- }
- else if (newIndexParts[1].equalsIgnoreCase(existingIndexParts[1]))
- {
- return;
- }
- }
- }
-
- this.rebuildList.add(index);
- }
-
- /**
- * Check the given config for conflicts with this config. A conflict is
- * detected if both configs specify the same indexType/database to be rebuilt.
- *
- * @param config
- * The rebuild config to check against.
- * @return the name of the indexType causing the conflict or null if no
- * conflict is detected.
- */
- public String checkConflicts(RebuildConfig config)
- {
- //If they specify different base DNs, no conflicts can occur.
- if (this.baseDN.equals(config.baseDN))
- {
- for (String thisIndex : this.rebuildList)
- {
- for (String thatIndex : config.rebuildList)
- {
- String[] existingIndexParts = thisIndex.split("\\.");
- String[] newIndexParts = thatIndex.split("\\.");
- if (existingIndexParts[0].equalsIgnoreCase(newIndexParts[0]))
- {
- if (newIndexParts.length == 1 && existingIndexParts.length == 1)
- {
- return thatIndex;
- }
- else if (newIndexParts.length > 1 && existingIndexParts.length == 1)
- {
- return thatIndex;
- }
- else if (newIndexParts.length == 1 && existingIndexParts.length > 1)
- {
- return thatIndex;
- }
- else if (newIndexParts[1].equalsIgnoreCase(existingIndexParts[1]))
- {
- return thatIndex;
- }
- }
- }
- }
- }
-
- return null;
- }
-
- /**
- * Test if this rebuild config includes any system indexes to rebuild.
- *
- * @return True if rebuilding of system indexes are included. False otherwise.
- * @throws InitializationException
- */
- public boolean includesSystemIndex()
- {
- for (String index : rebuildList)
- {
- // Removed because the id2entry is not A system indexes is THE
- // primary system index. It cannot be rebuilt.
- /*if (index.equalsIgnoreCase("id2entry"))
- {
- return true;
- }*/
- if (index.equalsIgnoreCase("dn2id"))
- {
- return true;
- }
- if (index.equalsIgnoreCase("dn2uri"))
- {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Set the temporary directory to the specified path.
- *
- * @param path
- * The path to set the temporary directory to.
- */
- public void setTmpDirectory(String path)
- {
- tmpDirectory = path;
- }
-
- /**
- * Return the temporary directory path.
- *
- * @return The temporary directory string.
- */
- public String getTmpDirectory()
- {
- return tmpDirectory;
- }
-
- /**
- * Sets the rebuild mode.
- *
- * @param mode
- * The new rebuild mode.
- */
- public void setRebuildMode(RebuildMode mode)
- {
- rebuildMode = mode;
- }
-
- /**
- * Returns the rebuild mode.
- *
- * @return The rebuild mode.
- */
- public RebuildMode getRebuildMode()
- {
- return rebuildMode;
- }
-
- /**
- * Returns {@code true} if indexes should be forcefully marked as valid even
- * if they are currently degraded.
- *
- * @return {@code true} if index should be forcefully marked as valid.
- */
- public boolean isClearDegradedState()
- {
- return isClearDegradedState;
- }
-
- /**
- * Sets the 'clear degraded index' status.
- *
- * @param isClearDegradedState
- * {@code true} if indexes should be forcefully marked as valid even
- * if they are currently degraded.
- */
- public void isClearDegradedState(boolean isClearDegradedState)
- {
- this.isClearDegradedState = isClearDegradedState;
- }
-
-}
diff --git a/opendj3-server-dev/src/server/org/opends/server/tasks/RebuildTask.java b/opendj3-server-dev/src/server/org/opends/server/tasks/RebuildTask.java
index eeec27d..ed15fd3 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tasks/RebuildTask.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tasks/RebuildTask.java
@@ -29,11 +29,11 @@
import org.forgerock.i18n.LocalizableMessage;
import org.opends.messages.TaskMessages;
+import org.opends.server.backends.RebuildConfig;
import org.opends.server.backends.task.Task;
import org.opends.server.backends.task.TaskState;
-import org.opends.server.backends.jeb.RebuildConfig;
+import org.opends.server.backends.RebuildConfig.RebuildMode;
import org.opends.server.backends.jeb.BackendImpl;
-import org.opends.server.backends.jeb.RebuildConfig.RebuildMode;
import org.opends.server.types.Attribute;
import org.opends.server.types.AttributeType;
import org.opends.server.types.DN;
diff --git a/opendj3-server-dev/src/server/org/opends/server/tools/RebuildIndex.java b/opendj3-server-dev/src/server/org/opends/server/tools/RebuildIndex.java
index 30b0839..79df295 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tools/RebuildIndex.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tools/RebuildIndex.java
@@ -62,9 +62,9 @@
import org.opends.server.types.*;
import org.forgerock.opendj.ldap.ByteString;
import org.opends.server.api.Backend;
+import org.opends.server.backends.RebuildConfig;
+import org.opends.server.backends.RebuildConfig.RebuildMode;
import org.opends.server.backends.jeb.BackendImpl;
-import org.opends.server.backends.jeb.RebuildConfig;
-import org.opends.server.backends.jeb.RebuildConfig.RebuildMode;
import org.opends.server.admin.std.server.BackendCfg;
import java.io.OutputStream;
diff --git a/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestRebuildJob.java b/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestRebuildJob.java
index ce3c1a0..4f8208f 100644
--- a/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestRebuildJob.java
+++ b/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestRebuildJob.java
@@ -29,8 +29,9 @@
import static org.testng.Assert.*;
import org.opends.server.TestCaseUtils;
+import org.opends.server.backends.RebuildConfig;
import org.opends.server.backends.VerifyConfig;
-import org.opends.server.backends.jeb.RebuildConfig.RebuildMode;
+import org.opends.server.backends.RebuildConfig.RebuildMode;
import org.opends.server.core.DirectoryServer;
import org.opends.server.tasks.TaskUtils;
import org.opends.server.types.DN;
--
Gitblit v1.10.0