This is an automated email from the ASF dual-hosted git repository. dlmarion pushed a commit to branch 2.1 in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/2.1 by this push: new 84de006a14 Call CheckCompactionConfig during upgrade (#4802) 84de006a14 is described below commit 84de006a141e34e7cca2d8b34525d021dde8e6e8 Author: Dave Marion <dlmar...@apache.org> AuthorDate: Mon Aug 12 13:17:49 2024 -0400 Call CheckCompactionConfig during upgrade (#4802) Closes #4315 --- .../org/apache/accumulo/server/conf/CheckCompactionConfig.java | 9 ++++++++- .../org/apache/accumulo/manager/upgrade/UpgradeCoordinator.java | 6 ++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/server/base/src/main/java/org/apache/accumulo/server/conf/CheckCompactionConfig.java b/server/base/src/main/java/org/apache/accumulo/server/conf/CheckCompactionConfig.java index 6926fd559e..c02b36edf7 100644 --- a/server/base/src/main/java/org/apache/accumulo/server/conf/CheckCompactionConfig.java +++ b/server/base/src/main/java/org/apache/accumulo/server/conf/CheckCompactionConfig.java @@ -94,6 +94,11 @@ public class CheckCompactionConfig implements KeywordExecutable { } AccumuloConfiguration config = SiteConfiguration.fromFile(path.toFile()).build(); + validate(config); + } + + public static void validate(AccumuloConfiguration config) + throws ReflectiveOperationException, SecurityException, IllegalArgumentException { var servicesConfig = new CompactionServicesConfig(config, log::warn); ServiceEnvironment senv = createServiceEnvironment(config); @@ -131,9 +136,10 @@ public class CheckCompactionConfig implements KeywordExecutable { } log.info("Properties file has passed all checks."); + } - private ServiceEnvironment createServiceEnvironment(AccumuloConfiguration config) { + private static ServiceEnvironment createServiceEnvironment(AccumuloConfiguration config) { return new ServiceEnvironment() { @Override @@ -162,4 +168,5 @@ public class CheckCompactionConfig implements KeywordExecutable { } }; } + } diff --git a/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/UpgradeCoordinator.java b/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/UpgradeCoordinator.java index 5445d6d3da..35ead37814 100644 --- a/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/UpgradeCoordinator.java +++ b/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/UpgradeCoordinator.java @@ -44,6 +44,7 @@ import org.apache.accumulo.manager.EventCoordinator; import org.apache.accumulo.server.AccumuloDataVersion; import org.apache.accumulo.server.ServerContext; import org.apache.accumulo.server.ServerDirs; +import org.apache.accumulo.server.conf.CheckCompactionConfig; import org.apache.accumulo.server.fs.VolumeManager; import org.apache.hadoop.fs.Path; import org.slf4j.Logger; @@ -247,6 +248,11 @@ public class UpgradeCoordinator { | TableNotFoundException e) { throw new IllegalStateException("Error checking properties", e); } + try { + CheckCompactionConfig.validate(context.getConfiguration()); + } catch (SecurityException | IllegalArgumentException | ReflectiveOperationException e) { + throw new IllegalStateException("Error validating compaction configuration", e); + } } // visible for testing