summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2020-03-13 08:34:01 +0100
committerHarald Musum <musum@verizonmedia.com>2020-03-13 08:34:01 +0100
commit2195e1201eda50787c63e786d5a4f3a3d42882e7 (patch)
treef408f0e44f2254a54fb02f47ae2c0e103e04b56b
parentb9db32e421399835024efe5f800e7fa6f63f6735 (diff)
parent592172e5b992149a7f0d04528943861d188403f1 (diff)
Merge commit '592172e5b992149a7f0d04528943861d188403f1' into hmusum/cleanup-RankSetupValidator
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/RankSetupValidator.java40
1 files changed, 21 insertions, 19 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/RankSetupValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/RankSetupValidator.java
index 7f8ff6edd85..f528468b958 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/RankSetupValidator.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/RankSetupValidator.java
@@ -33,17 +33,19 @@ import java.util.logging.Logger;
/**
* Validate rank setup for all search clusters (rank-profiles, index-schema, attributes configs), validating done
- * by running through the binary 'vespa-verify-ranksetup'
+ * by running the binary 'vespa-verify-ranksetup-bin'
*
* @author vegardh
*/
public class RankSetupValidator extends Validator {
private static final Logger log = Logger.getLogger(RankSetupValidator.class.getName());
- private final boolean force;
+ private static final String binaryName = "vespa-verify-ranksetup-bin ";
- public RankSetupValidator(boolean force) {
- this.force = force;
+ private final boolean ignoreValidationErrors;
+
+ public RankSetupValidator(boolean ignoreValidationErrors) {
+ this.ignoreValidationErrors = ignoreValidationErrors;
}
@Override
@@ -100,29 +102,29 @@ public class RankSetupValidator extends Validator {
IOUtils.recursiveDeleteDir(dir);
}
- private void writeConfigs(String dir, AbstractConfigProducer producer) throws IOException {
+ private void writeConfigs(String dir, AbstractConfigProducer<?> producer) throws IOException {
RankProfilesConfig.Builder rpcb = new RankProfilesConfig.Builder();
- RankProfilesConfig.Producer.class.cast(producer).getConfig(rpcb);
+ ((RankProfilesConfig.Producer) producer).getConfig(rpcb);
RankProfilesConfig rpc = new RankProfilesConfig(rpcb);
writeConfig(dir, RankProfilesConfig.getDefName() + ".cfg", rpc);
IndexschemaConfig.Builder iscb = new IndexschemaConfig.Builder();
- IndexschemaConfig.Producer.class.cast(producer).getConfig(iscb);
+ ((IndexschemaConfig.Producer) producer).getConfig(iscb);
IndexschemaConfig isc = new IndexschemaConfig(iscb);
writeConfig(dir, IndexschemaConfig.getDefName() + ".cfg", isc);
AttributesConfig.Builder acb = new AttributesConfig.Builder();
- AttributesConfig.Producer.class.cast(producer).getConfig(acb);
+ ((AttributesConfig.Producer) producer).getConfig(acb);
AttributesConfig ac = new AttributesConfig(acb);
writeConfig(dir, AttributesConfig.getDefName() + ".cfg", ac);
RankingConstantsConfig.Builder rccb = new RankingConstantsConfig.Builder();
- RankingConstantsConfig.Producer.class.cast(producer).getConfig(rccb);
+ ((RankingConstantsConfig.Producer) producer).getConfig(rccb);
RankingConstantsConfig rcc = new RankingConstantsConfig(rccb);
writeConfig(dir, RankingConstantsConfig.getDefName() + ".cfg", rcc);
ImportedFieldsConfig.Builder ifcb = new ImportedFieldsConfig.Builder();
- ImportedFieldsConfig.Producer.class.cast(producer).getConfig(ifcb);
+ ((ImportedFieldsConfig.Producer) producer).getConfig(ifcb);
ImportedFieldsConfig ifc = new ImportedFieldsConfig(ifcb);
writeConfig(dir, ImportedFieldsConfig.getDefName() + ".cfg", ifc);
}
@@ -132,7 +134,7 @@ public class RankSetupValidator extends Validator {
}
private boolean execValidate(String configId, SearchCluster sc, String sdName, DeployLogger deployLogger) {
- String job = "vespa-verify-ranksetup-bin " + configId;
+ String job = String.format("%s %s", binaryName, configId);
ProcessExecuter executer = new ProcessExecuter();
try {
Pair<Integer, String> ret = executer.exec(job);
@@ -147,27 +149,27 @@ public class RankSetupValidator extends Validator {
}
private void validateWarn(Exception e, DeployLogger deployLogger) {
- String msg = "Unable to execute 'vespa-verify-ranksetup', validation of rank expressions will only take place when you start Vespa: " +
+ String msg = "Unable to execute '"+ binaryName + "', validation of rank expressions will only take place when you start Vespa: " +
Exceptions.toMessageString(e);
deployLogger.log(LogLevel.WARNING, msg);
}
private void validateFail(String output, SearchCluster sc, String sdName, DeployLogger deployLogger) {
- String errMsg = "For search cluster '" + sc.getClusterName() + "', search definition '" + sdName + "': error in rank setup. Details:\n";
+ StringBuilder errMsg = new StringBuilder("For search cluster '" + sc.getClusterName() + "', search definition '" + sdName + "': error in rank setup. Details:\n");
for (String line : output.split("\n")) {
// Remove debug lines from start script
if (line.startsWith("debug\t")) continue;
try {
- LogMessage logmsg = LogMessage.parseNativeFormat(line);
- errMsg = errMsg + logmsg.getLevel() + ": " + logmsg.getPayload() + "\n";
+ LogMessage logMessage = LogMessage.parseNativeFormat(line);
+ errMsg.append(logMessage.getLevel()).append(": ").append(logMessage.getPayload()).append("\n");
} catch (InvalidLogFormatException e) {
- errMsg = errMsg + line + "\n";
+ errMsg.append(line).append("\n");
}
}
- if (force) {
- deployLogger.log(LogLevel.WARNING, errMsg + "(Continuing because of force.)");
+ if (ignoreValidationErrors) {
+ deployLogger.log(LogLevel.WARNING, errMsg + "(Continuing since ignoreValidationErrors flag is set.)");
} else {
- throw new IllegalArgumentException(errMsg);
+ throw new IllegalArgumentException(errMsg.toString());
}
}