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 <[email protected]>
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