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

Reply via email to