From 00bc759fabe809563e9425ae196ec60ba7d61fb4 Mon Sep 17 00:00:00 2001
From: Yannick Lecaillez <ylecaillez@forgerock.com>
Date: Mon, 12 Oct 2015 13:29:03 +0000
Subject: [PATCH] OPENDJ-2331: rebuild-index should fail when rebuilding a non-existing index
---
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeImporter.java | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeImporter.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeImporter.java
index 19e34b0..0c96c4d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeImporter.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeImporter.java
@@ -303,7 +303,7 @@
}
private static final Set<String> selectIndexesToRebuild(EntryContainer entryContainer, RebuildConfig rebuildConfig,
- long totalEntries)
+ long totalEntries) throws InitializationException
{
final SelectIndexName selector = new SelectIndexName();
switch (rebuildConfig.getRebuildMode())
@@ -318,6 +318,13 @@
break;
case USER_DEFINED:
visitIndexes(entryContainer, visitOnlyAttributesOrIndexes(rebuildConfig.getRebuildList(), selector));
+ final Set<String> indexesToRebuild = selector.getSelectedIndexNames();
+ if (!indexesToRebuild.containsAll(rebuildConfig.getRebuildList()))
+ {
+ final Set<String> unknownIndexes = new HashSet<>(rebuildConfig.getRebuildList());
+ unknownIndexes.removeAll(indexesToRebuild);
+ throw new InitializationException(ERR_ATTRIBUTE_INDEX_NOT_CONFIGURED.get(unknownIndexes.iterator().next()));
+ }
if (!rebuildConfig.isClearDegradedState())
{
logger.info(NOTE_REBUILD_START, Utils.joinAsString(", ", selector.getSelectedIndexNames()), totalEntries);
--
Gitblit v1.10.0