From c5002b02cd1cb195c202b59a6ded17951fa423dc Mon Sep 17 00:00:00 2001
From: Violette Roche-Montane <violette.roche-montane@forgerock.com>
Date: Mon, 04 Mar 2013 08:37:07 +0000
Subject: [PATCH] OPENDJ-769 rebuild-index --clearDegradedState in online mode should not rebuild the index - added support for the clearDegradedState option in online mode.
---
opends/src/server/org/opends/server/tasks/RebuildTask.java | 14 +++++++++++++-
1 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/opends/src/server/org/opends/server/tasks/RebuildTask.java b/opends/src/server/org/opends/server/tasks/RebuildTask.java
index f5fcba9..dd7f71f 100644
--- a/opends/src/server/org/opends/server/tasks/RebuildTask.java
+++ b/opends/src/server/org/opends/server/tasks/RebuildTask.java
@@ -23,7 +23,7 @@
*
*
* Copyright 2006-2009 Sun Microsystems, Inc.
- * Portions copyright 2012 ForgeRock AS.
+ * Portions copyright 2012-2013 ForgeRock AS.
*/
package org.opends.server.tasks;
import org.opends.messages.Message;
@@ -77,6 +77,7 @@
ArrayList<String> indexes = null;
private String tmpDirectory = null;
private RebuildMode rebuildMode = RebuildMode.USER_DEFINED;
+ boolean isClearDegradedState = false;
/**
* {@inheritDoc}
@@ -111,6 +112,7 @@
AttributeType typeBaseDN;
AttributeType typeIndex;
AttributeType typeTmpDirectory;
+ AttributeType clearDegradedState;
typeBaseDN =
getAttributeType(ATTR_REBUILD_BASE_DN, true);
@@ -118,6 +120,8 @@
getAttributeType(ATTR_REBUILD_INDEX, true);
typeTmpDirectory =
getAttributeType(ATTR_REBUILD_TMP_DIRECTORY, true);
+ clearDegradedState =
+ getAttributeType(ATTR_REBUILD_INDEX_CLEARDEGRADEDSTATE, true);
List<Attribute> attrList;
@@ -138,6 +142,10 @@
indexes.clear();
}
+ attrList = taskEntry.getAttribute(clearDegradedState);
+ isClearDegradedState = Boolean.parseBoolean(
+ TaskUtils.getSingleValueString(attrList));
+
attrList = taskEntry.getAttribute(typeTmpDirectory);
tmpDirectory = TaskUtils.getSingleValueString(attrList);
@@ -184,6 +192,9 @@
rebuildConfig.addRebuildIndex(index);
}
+ // The degraded state is set(if present in args)
+ // during the initialization.
+ rebuildConfig.isClearDegradedState(isClearDegradedState);
Backend backend =
DirectoryServer.getBackendWithBaseDN(rebuildConfig.getBaseDN());
@@ -248,6 +259,7 @@
}
rebuildConfig.setTmpDirectory(tmpDirectory);
rebuildConfig.setRebuildMode(rebuildMode);
+
TaskState returnCode = TaskState.COMPLETED_SUCCESSFULLY;
// Launch the rebuild process.
try
--
Gitblit v1.10.0