From 010eb1a3897f43458830cef58270d8196c3a4459 Mon Sep 17 00:00:00 2001
From: Violette Roche-Montane <violette.roche-montane@forgerock.com>
Date: Thu, 07 Feb 2013 13:27:03 +0000
Subject: [PATCH] OPENDJ-473 CR-1252 Implement a task which allows the administrator to forcefully clear an index's degraded status.
---
opends/src/server/org/opends/server/tools/RebuildIndex.java | 20 +++++++++++++++++++-
1 files changed, 19 insertions(+), 1 deletions(-)
diff --git a/opends/src/server/org/opends/server/tools/RebuildIndex.java b/opends/src/server/org/opends/server/tools/RebuildIndex.java
index d789ffc..83a6305 100644
--- a/opends/src/server/org/opends/server/tools/RebuildIndex.java
+++ b/opends/src/server/org/opends/server/tools/RebuildIndex.java
@@ -23,7 +23,7 @@
*
*
* Copyright 2006-2009 Sun Microsystems, Inc.
- * Portions copyright 2012 ForgeRock AS.
+ * Portions Copyright 2011-2013 ForgeRock AS
*/
package org.opends.server.tools;
import org.opends.messages.Message;
@@ -41,6 +41,7 @@
import static org.opends.server.config.ConfigConstants.*;
import static org.opends.server.loggers.ErrorLogger.logError;
+
import org.opends.server.loggers.TextWriter;
import org.opends.server.loggers.ErrorLogger;
import org.opends.server.loggers.TextErrorLogPublisher;
@@ -85,6 +86,7 @@
private StringArgument tmpDirectory = null;
private BooleanArgument rebuildAll = null;
private BooleanArgument rebuildDegraded = null;
+ private BooleanArgument clearDegradedState = null;
/**
* Processes the command-line arguments and invokes the rebuild process.
@@ -203,6 +205,10 @@
INFO_REBUILDINDEX_DESCRIPTION_REBUILD_DEGRADED.get());
argParser.addArgument(rebuildDegraded);
+ clearDegradedState =
+ new BooleanArgument("clearDegradedState", null, "clearDegradedState",
+ INFO_REBUILDINDEX_DESCRIPTION_CLEAR_DEGRADED_STATE.get());
+ argParser.addArgument(clearDegradedState);
tmpDirectory =
new StringArgument("tmpdirectory", null, "tmpdirectory", false,
@@ -557,6 +563,9 @@
}
else
{
+ if(clearDegradedState.isPresent()) {
+ rebuildConfig.isClearDegradedState(true);
+ }
rebuildConfig.setRebuildMode(RebuildMode.USER_DEFINED);
}
@@ -660,6 +669,15 @@
attributes.add(
new LDAPAttribute(ATTR_REBUILD_INDEX, values));
}
+
+ if (clearDegradedState.getValue() != null &&
+ !clearDegradedState.getValue().equals(
+ clearDegradedState.getDefaultValue())) {
+ values = new ArrayList<ByteString>(1);
+ values.add(ByteString.valueOf("true"));
+ attributes.add(
+ new LDAPAttribute(ATTR_REBUILD_INDEX_CLEARDEGRADEDSTATE, values));
+ }
}
/**
--
Gitblit v1.10.0