This is an automated email from the ASF dual-hosted git repository.
dlmarion pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/main by this push:
new b06ffa5518 Removed CheckForMetadataProblems class (#6172)
b06ffa5518 is described below
commit b06ffa551832578945376753e43a8badecf4f82c
Author: Dave Marion <[email protected]>
AuthorDate: Wed Mar 4 15:22:58 2026 -0500
Removed CheckForMetadataProblems class (#6172)
Moved logic into MetadataCheckRunner and removed the class, which
was also a KeywordExecutable. The checks can be executed using the
SystemCheck KeywordExecutable.
Closes #6098
---
.../server/util/CheckForMetadataProblems.java | 248 ---------------------
.../util/checkCommand/MetadataCheckRunner.java | 183 +++++++++++++++
.../checkCommand/MetadataTableCheckRunner.java | 4 +-
.../util/checkCommand/RootTableCheckRunner.java | 4 +-
.../apache/accumulo/test/functional/SplitIT.java | 5 +-
.../apache/accumulo/test/start/KeywordStartIT.java | 4 -
6 files changed, 187 insertions(+), 261 deletions(-)
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/util/CheckForMetadataProblems.java
b/server/base/src/main/java/org/apache/accumulo/server/util/CheckForMetadataProblems.java
deleted file mode 100644
index 41e3a513ff..0000000000
---
a/server/base/src/main/java/org/apache/accumulo/server/util/CheckForMetadataProblems.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.accumulo.server.util;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.TreeSet;
-import java.util.function.Consumer;
-
-import org.apache.accumulo.core.cli.ServerOpts;
-import org.apache.accumulo.core.client.Scanner;
-import org.apache.accumulo.core.client.TableNotFoundException;
-import org.apache.accumulo.core.data.Key;
-import org.apache.accumulo.core.data.TableId;
-import org.apache.accumulo.core.data.Value;
-import org.apache.accumulo.core.dataImpl.KeyExtent;
-import org.apache.accumulo.core.metadata.SystemTables;
-import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection;
-import
org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.CurrentLocationColumnFamily;
-import
org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.TabletColumnFamily;
-import org.apache.accumulo.core.security.Authorizations;
-import org.apache.accumulo.core.trace.TraceUtil;
-import org.apache.accumulo.server.ServerContext;
-import org.apache.accumulo.start.spi.CommandGroup;
-import org.apache.accumulo.start.spi.CommandGroups;
-import org.apache.accumulo.start.spi.KeywordExecutable;
-import org.apache.hadoop.io.Text;
-
-import com.beust.jcommander.JCommander;
-import com.google.auto.service.AutoService;
-
-import io.opentelemetry.api.trace.Span;
-import io.opentelemetry.context.Scope;
-
-@AutoService(KeywordExecutable.class)
-public class CheckForMetadataProblems extends
ServerKeywordExecutable<ServerOpts> {
-
- public CheckForMetadataProblems() {
- super(new ServerOpts());
- }
-
- @Override
- public String keyword() {
- return "check-metadata";
- }
-
- @Override
- public CommandGroup commandGroup() {
- return CommandGroups.INSTANCE;
- }
-
- @Override
- public String description() {
- return "Checks root and metadata table entries for problems";
- }
-
- private static boolean checkTable(ServerContext context, TableId tableId,
- TreeSet<KeyExtent> tablets, ServerOpts opts, Consumer<String>
printInfoMethod,
- Consumer<String> printProblemMethod) {
- // sanity check of metadata table entries
- // make sure tablets have no holes, and that it starts and ends w/ null
- String tableName;
- boolean sawProblems = false;
-
- try {
- tableName = context.getQualifiedTableName(tableId);
- } catch (TableNotFoundException e) {
- tableName = null;
- }
-
- printInfoMethod.accept(String.format("Ensuring tablets for table %s (%s)
have: no holes, "
- + "valid (null) prev end row for first tablet, and valid (null) end
row "
- + "for last tablet...\n", tableName, tableId));
-
- if (tablets.isEmpty()) {
- printProblemMethod.accept(String
- .format("...No entries found in metadata table for table %s (%s)",
tableName, tableId));
- return true;
- }
-
- if (tablets.first().prevEndRow() != null) {
- printProblemMethod
- .accept(String.format("...First entry for table %s (%s) - %s - has
non-null prev end row",
- tableName, tableId, tablets.first()));
- return true;
- }
-
- if (tablets.last().endRow() != null) {
- printProblemMethod
- .accept(String.format("...Last entry for table %s (%s) - %s - has
non-null end row",
- tableName, tableId, tablets.last()));
- return true;
- }
-
- Iterator<KeyExtent> tabIter = tablets.iterator();
- Text lastEndRow = tabIter.next().endRow();
- boolean everythingLooksGood = true;
- while (tabIter.hasNext()) {
- KeyExtent table = tabIter.next();
- boolean broke = false;
- if (table.prevEndRow() == null) {
- printProblemMethod
- .accept(String.format("...Table %s (%s) has null prev end row in
middle of table %s",
- tableName, tableId, table));
- broke = true;
- } else if (!table.prevEndRow().equals(lastEndRow)) {
- printProblemMethod.accept(String.format("...Table %s (%s) has a hole
%s != %s", tableName,
- tableId, table.prevEndRow(), lastEndRow));
- broke = true;
- }
- if (broke) {
- everythingLooksGood = false;
- }
-
- lastEndRow = table.endRow();
- }
- if (everythingLooksGood) {
- printInfoMethod.accept(String.format("...All is well for table %s (%s)",
tableName, tableId));
- } else {
- sawProblems = true;
- }
-
- return sawProblems;
- }
-
- public static boolean checkMetadataAndRootTableEntries(ServerContext context,
- String tableNameToCheck, ServerOpts opts, Consumer<String>
printInfoMethod,
- Consumer<String> printProblemMethod) throws Exception {
- TableId tableCheckId = context.getTableId(tableNameToCheck);
- printInfoMethod.accept(String.format("Checking tables whose metadata is
found in: %s (%s)...\n",
- tableNameToCheck, tableCheckId));
- Map<TableId,TreeSet<KeyExtent>> tables = new HashMap<>();
- boolean sawProblems = false;
-
- try (Scanner scanner = context.createScanner(tableNameToCheck,
Authorizations.EMPTY)) {
-
- scanner.setRange(TabletsSection.getRange());
- TabletColumnFamily.PREV_ROW_COLUMN.fetch(scanner);
- scanner.fetchColumnFamily(CurrentLocationColumnFamily.NAME);
-
- Text colf = new Text();
- Text colq = new Text();
- boolean justLoc = false;
-
- int count = 0;
-
- for (Entry<Key,Value> entry : scanner) {
- colf = entry.getKey().getColumnFamily(colf);
- colq = entry.getKey().getColumnQualifier(colq);
-
- count++;
-
- TableId tableId =
KeyExtent.fromMetaRow(entry.getKey().getRow()).tableId();
-
- TreeSet<KeyExtent> tablets = tables.get(tableId);
- if (tablets == null) {
-
- for (var e : tables.entrySet()) {
- sawProblems = CheckForMetadataProblems.checkTable(context,
e.getKey(), e.getValue(),
- opts, printInfoMethod, printProblemMethod) || sawProblems;
- }
-
- tables.clear();
-
- tablets = new TreeSet<>();
- tables.put(tableId, tablets);
- }
-
- if (TabletColumnFamily.PREV_ROW_COLUMN.equals(colf, colq)) {
- KeyExtent tabletKe = KeyExtent.fromMetaPrevRow(entry);
- tablets.add(tabletKe);
- justLoc = false;
- } else if (colf.equals(CurrentLocationColumnFamily.NAME)) {
- if (justLoc) {
- printProblemMethod.accept("Problem at key " + entry.getKey());
- sawProblems = true;
- }
- justLoc = true;
- }
- }
-
- if (count == 0) {
- printProblemMethod.accept(
- String.format("ERROR : table %s (%s) is empty", tableNameToCheck,
tableCheckId));
- sawProblems = true;
- }
- }
-
- for (var e : tables.entrySet()) {
- sawProblems = CheckForMetadataProblems.checkTable(context, e.getKey(),
e.getValue(), opts,
- printInfoMethod, printProblemMethod) || sawProblems;
- }
-
- if (!sawProblems) {
- printInfoMethod.accept(
- String.format("\n...No problems found in %s (%s)", tableNameToCheck,
tableCheckId));
- }
- // end METADATA table sanity check
- return sawProblems;
- }
-
- @Override
- public void execute(JCommander cl, ServerOpts options) throws Exception {
- Span span = TraceUtil.startSpan(CheckForMetadataProblems.class, "main");
- boolean sawProblems;
- try (Scope scope = span.makeCurrent()) {
-
- sawProblems = checkMetadataAndRootTableEntries(getServerContext(),
- SystemTables.ROOT.tableName(), options, System.out::println,
System.out::println);
- System.out.println();
- sawProblems =
- checkMetadataAndRootTableEntries(getServerContext(),
SystemTables.METADATA.tableName(),
- options, System.out::println, System.out::println) ||
sawProblems;
- if (sawProblems) {
- throw new IllegalStateException();
- }
- } catch (Exception e) {
- TraceUtil.setException(span, e, true);
- throw e;
- } finally {
- span.end();
- }
- }
-
- // This is called from SplitIT
- public static void main(String[] args) throws Exception {
- CheckForMetadataProblems check = new CheckForMetadataProblems();
- check.execute(args);
- }
-}
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/util/checkCommand/MetadataCheckRunner.java
b/server/base/src/main/java/org/apache/accumulo/server/util/checkCommand/MetadataCheckRunner.java
index 8c05dff1e0..8b7f0e8a1c 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/util/checkCommand/MetadataCheckRunner.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/util/checkCommand/MetadataCheckRunner.java
@@ -20,28 +20,43 @@ package org.apache.accumulo.server.util.checkCommand;
import java.io.IOException;
import java.util.AbstractMap;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
+import java.util.Map;
+import java.util.Map.Entry;
import java.util.Set;
import java.util.SortedMap;
+import java.util.TreeSet;
+import java.util.function.Consumer;
import org.apache.accumulo.core.client.IteratorSetting;
import org.apache.accumulo.core.client.Scanner;
+import org.apache.accumulo.core.client.TableNotFoundException;
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.Mutation;
import org.apache.accumulo.core.data.TableId;
import org.apache.accumulo.core.data.TabletId;
import org.apache.accumulo.core.data.Value;
+import org.apache.accumulo.core.dataImpl.KeyExtent;
import org.apache.accumulo.core.iterators.user.WholeRowIterator;
+import org.apache.accumulo.core.metadata.SystemTables;
import org.apache.accumulo.core.metadata.schema.MetadataSchema;
+import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection;
+import
org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.CurrentLocationColumnFamily;
+import
org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.TabletColumnFamily;
import org.apache.accumulo.core.security.AuthorizationContainer;
import org.apache.accumulo.core.security.Authorizations;
+import org.apache.accumulo.core.trace.TraceUtil;
import org.apache.accumulo.core.util.ColumnFQ;
import org.apache.accumulo.server.ServerContext;
import org.apache.accumulo.server.constraints.MetadataConstraints;
import org.apache.accumulo.server.constraints.SystemEnvironment;
import org.apache.hadoop.io.Text;
+import io.opentelemetry.api.trace.Span;
+import io.opentelemetry.context.Scope;
+
public interface MetadataCheckRunner extends CheckRunner {
String tableName();
@@ -183,4 +198,172 @@ public interface MetadataCheckRunner extends CheckRunner {
return context;
}
}
+
+ private static boolean checkTable(ServerContext context, TableId tableId,
+ TreeSet<KeyExtent> tablets, Consumer<String> printInfoMethod,
+ Consumer<String> printProblemMethod) {
+ // sanity check of metadata table entries
+ // make sure tablets have no holes, and that it starts and ends w/ null
+ String tableName;
+ boolean sawProblems = false;
+
+ try {
+ tableName = context.getQualifiedTableName(tableId);
+ } catch (TableNotFoundException e) {
+ tableName = null;
+ }
+
+ printInfoMethod.accept(String.format("Ensuring tablets for table %s (%s)
have: no holes, "
+ + "valid (null) prev end row for first tablet, and valid (null) end
row "
+ + "for last tablet...\n", tableName, tableId));
+
+ if (tablets.isEmpty()) {
+ printProblemMethod.accept(String
+ .format("...No entries found in metadata table for table %s (%s)",
tableName, tableId));
+ return true;
+ }
+
+ if (tablets.first().prevEndRow() != null) {
+ printProblemMethod
+ .accept(String.format("...First entry for table %s (%s) - %s - has
non-null prev end row",
+ tableName, tableId, tablets.first()));
+ return true;
+ }
+
+ if (tablets.last().endRow() != null) {
+ printProblemMethod
+ .accept(String.format("...Last entry for table %s (%s) - %s - has
non-null end row",
+ tableName, tableId, tablets.last()));
+ return true;
+ }
+
+ Iterator<KeyExtent> tabIter = tablets.iterator();
+ Text lastEndRow = tabIter.next().endRow();
+ boolean everythingLooksGood = true;
+ while (tabIter.hasNext()) {
+ KeyExtent table = tabIter.next();
+ boolean broke = false;
+ if (table.prevEndRow() == null) {
+ printProblemMethod
+ .accept(String.format("...Table %s (%s) has null prev end row in
middle of table %s",
+ tableName, tableId, table));
+ broke = true;
+ } else if (!table.prevEndRow().equals(lastEndRow)) {
+ printProblemMethod.accept(String.format("...Table %s (%s) has a hole
%s != %s", tableName,
+ tableId, table.prevEndRow(), lastEndRow));
+ broke = true;
+ }
+ if (broke) {
+ everythingLooksGood = false;
+ }
+
+ lastEndRow = table.endRow();
+ }
+ if (everythingLooksGood) {
+ printInfoMethod.accept(String.format("...All is well for table %s (%s)",
tableName, tableId));
+ } else {
+ sawProblems = true;
+ }
+
+ return sawProblems;
+ }
+
+ public static boolean checkTableEntries(ServerContext context, String
tableNameToCheck,
+ Consumer<String> printInfoMethod, Consumer<String> printProblemMethod)
throws Exception {
+ TableId tableCheckId = context.getTableId(tableNameToCheck);
+ printInfoMethod.accept(String.format("Checking tables whose metadata is
found in: %s (%s)...\n",
+ tableNameToCheck, tableCheckId));
+ Map<TableId,TreeSet<KeyExtent>> tables = new HashMap<>();
+ boolean sawProblems = false;
+
+ try (Scanner scanner = context.createScanner(tableNameToCheck,
Authorizations.EMPTY)) {
+
+ scanner.setRange(TabletsSection.getRange());
+ TabletColumnFamily.PREV_ROW_COLUMN.fetch(scanner);
+ scanner.fetchColumnFamily(CurrentLocationColumnFamily.NAME);
+
+ Text colf = new Text();
+ Text colq = new Text();
+ boolean justLoc = false;
+
+ int count = 0;
+
+ for (Entry<Key,Value> entry : scanner) {
+ colf = entry.getKey().getColumnFamily(colf);
+ colq = entry.getKey().getColumnQualifier(colq);
+
+ count++;
+
+ TableId tableId =
KeyExtent.fromMetaRow(entry.getKey().getRow()).tableId();
+
+ TreeSet<KeyExtent> tablets = tables.get(tableId);
+ if (tablets == null) {
+
+ for (var e : tables.entrySet()) {
+ sawProblems =
+ checkTable(context, e.getKey(), e.getValue(), printInfoMethod,
printProblemMethod)
+ || sawProblems;
+ }
+
+ tables.clear();
+
+ tablets = new TreeSet<>();
+ tables.put(tableId, tablets);
+ }
+
+ if (TabletColumnFamily.PREV_ROW_COLUMN.equals(colf, colq)) {
+ KeyExtent tabletKe = KeyExtent.fromMetaPrevRow(entry);
+ tablets.add(tabletKe);
+ justLoc = false;
+ } else if (colf.equals(CurrentLocationColumnFamily.NAME)) {
+ if (justLoc) {
+ printProblemMethod.accept("Problem at key " + entry.getKey());
+ sawProblems = true;
+ }
+ justLoc = true;
+ }
+ }
+
+ if (count == 0) {
+ printProblemMethod.accept(
+ String.format("ERROR : table %s (%s) is empty", tableNameToCheck,
tableCheckId));
+ sawProblems = true;
+ }
+ }
+
+ for (var e : tables.entrySet()) {
+ sawProblems =
+ checkTable(context, e.getKey(), e.getValue(), printInfoMethod,
printProblemMethod)
+ || sawProblems;
+ }
+
+ if (!sawProblems) {
+ printInfoMethod.accept(
+ String.format("\n...No problems found in %s (%s)", tableNameToCheck,
tableCheckId));
+ }
+ // end METADATA table sanity check
+ return sawProblems;
+ }
+
+ public static void checkMetadataAndRootTableEntries(ServerContext context)
throws Exception {
+ Span span = TraceUtil.startSpan(MetadataCheckRunner.class, "main");
+ boolean sawProblems;
+ try (Scope scope = span.makeCurrent()) {
+
+ sawProblems = checkTableEntries(context, SystemTables.ROOT.tableName(),
System.out::println,
+ System.out::println);
+ System.out.println();
+ sawProblems = checkTableEntries(context,
SystemTables.METADATA.tableName(),
+ System.out::println, System.out::println) || sawProblems;
+ if (sawProblems) {
+ throw new IllegalStateException();
+ }
+ } catch (Exception e) {
+ TraceUtil.setException(span, e, true);
+ throw e;
+ } finally {
+ span.end();
+ }
+ }
+
}
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/util/checkCommand/MetadataTableCheckRunner.java
b/server/base/src/main/java/org/apache/accumulo/server/util/checkCommand/MetadataTableCheckRunner.java
index 41e825d4b2..5f8ffc7e0d 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/util/checkCommand/MetadataTableCheckRunner.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/util/checkCommand/MetadataTableCheckRunner.java
@@ -27,7 +27,6 @@ import org.apache.accumulo.core.data.TableId;
import org.apache.accumulo.core.metadata.SystemTables;
import org.apache.accumulo.core.security.Authorizations;
import org.apache.accumulo.server.ServerContext;
-import org.apache.accumulo.server.util.CheckForMetadataProblems;
import org.apache.accumulo.server.util.FindOfflineTablets;
import org.apache.accumulo.server.util.adminCommand.SystemCheck.Check;
import org.apache.hadoop.io.Text;
@@ -64,8 +63,7 @@ public class MetadataTableCheckRunner implements
MetadataCheckRunner {
}
log.trace("********** Checking some references **********");
- if (CheckForMetadataProblems.checkMetadataAndRootTableEntries(context,
tableName(), opts,
- log::trace, log::warn)) {
+ if (MetadataCheckRunner.checkTableEntries(context, tableName(),
log::trace, log::warn)) {
status &= false;
}
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/util/checkCommand/RootTableCheckRunner.java
b/server/base/src/main/java/org/apache/accumulo/server/util/checkCommand/RootTableCheckRunner.java
index 3898ee44b3..48a2d9b760 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/util/checkCommand/RootTableCheckRunner.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/util/checkCommand/RootTableCheckRunner.java
@@ -26,7 +26,6 @@ import org.apache.accumulo.core.data.TableId;
import org.apache.accumulo.core.metadata.SystemTables;
import org.apache.accumulo.core.security.Authorizations;
import org.apache.accumulo.server.ServerContext;
-import org.apache.accumulo.server.util.CheckForMetadataProblems;
import org.apache.accumulo.server.util.FindOfflineTablets;
import org.apache.accumulo.server.util.adminCommand.SystemCheck.Check;
@@ -58,8 +57,7 @@ public class RootTableCheckRunner implements
MetadataCheckRunner {
}
log.trace("********** Checking some references **********");
- if (CheckForMetadataProblems.checkMetadataAndRootTableEntries(context,
tableName(), opts,
- log::trace, log::warn)) {
+ if (MetadataCheckRunner.checkTableEntries(context, tableName(),
log::trace, log::warn)) {
status &= false;
}
diff --git
a/test/src/main/java/org/apache/accumulo/test/functional/SplitIT.java
b/test/src/main/java/org/apache/accumulo/test/functional/SplitIT.java
index ef5864e9d9..b22d10ed29 100644
--- a/test/src/main/java/org/apache/accumulo/test/functional/SplitIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/SplitIT.java
@@ -76,7 +76,7 @@ import org.apache.accumulo.harness.AccumuloClusterHarness;
import org.apache.accumulo.minicluster.MemoryUnit;
import org.apache.accumulo.minicluster.ServerType;
import org.apache.accumulo.miniclusterImpl.MiniAccumuloConfigImpl;
-import org.apache.accumulo.server.util.CheckForMetadataProblems;
+import org.apache.accumulo.server.util.checkCommand.MetadataCheckRunner;
import org.apache.accumulo.test.TestIngest;
import org.apache.accumulo.test.VerifyIngest;
import org.apache.accumulo.test.VerifyIngest.VerifyParams;
@@ -274,8 +274,7 @@ public class SplitIT extends AccumuloClusterHarness {
assertTrue(count > 10, "Count should be greater than 10: " + count);
}
- assertEquals(0,
getCluster().getClusterControl().exec(CheckForMetadataProblems.class,
- new String[] {"-c", cluster.getClientPropsPath()}));
+
MetadataCheckRunner.checkMetadataAndRootTableEntries(getCluster().getServerContext());
}
}
diff --git
a/test/src/main/java/org/apache/accumulo/test/start/KeywordStartIT.java
b/test/src/main/java/org/apache/accumulo/test/start/KeywordStartIT.java
index c9bbe8c6e8..642dee65fd 100644
--- a/test/src/main/java/org/apache/accumulo/test/start/KeywordStartIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/start/KeywordStartIT.java
@@ -62,7 +62,6 @@ import org.apache.accumulo.server.conf.util.ZooInfoViewer;
import org.apache.accumulo.server.conf.util.ZooPropEditor;
import org.apache.accumulo.server.init.Initialize;
import org.apache.accumulo.server.util.CancelCompaction;
-import org.apache.accumulo.server.util.CheckForMetadataProblems;
import org.apache.accumulo.server.util.DumpZookeeper;
import org.apache.accumulo.server.util.FindCompactionTmpFiles;
import org.apache.accumulo.server.util.FindOfflineTablets;
@@ -190,8 +189,6 @@ public class KeywordStartIT {
CheckAccumuloProperties.class));
expectSet.add(new CommandInfo(CommandGroups.CONFIG,
"check-compaction-config",
CheckCompactionConfig.class));
- expectSet.add(
- new CommandInfo(CommandGroups.INSTANCE, "check-metadata",
CheckForMetadataProblems.class));
expectSet.add(new CommandInfo(CommandGroups.PROCESS, "compactor",
CompactorExecutable.class));
expectSet.add(new CommandInfo(CommandGroups.FILE, "create-empty",
CreateEmpty.class));
expectSet.add(new CommandInfo(CommandGroups.CLIENT, "create-token",
CreateToken.class));
@@ -308,7 +305,6 @@ public class KeywordStartIT {
HashSet<Class<?>> expectSet = new HashSet<>();
expectSet.add(SystemCheck.class);
- expectSet.add(CheckForMetadataProblems.class);
expectSet.add(Compactor.class);
expectSet.add(CreateEmpty.class);
expectSet.add(DumpConfig.class);