You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by xh...@apache.org on 2019/05/28 18:46:21 UTC
[incubator-pinot] branch master updated: Skip pipeline validation
when disabling it (#4240)
This is an automated email from the ASF dual-hosted git repository.
xhsun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git
The following commit(s) were added to refs/heads/master by this push:
new 4694f67 Skip pipeline validation when disabling it (#4240)
4694f67 is described below
commit 4694f67d45c99e27ee5757da077cbee27f6eaf54
Author: Xiaohui Sun <xh...@linkedin.com>
AuthorDate: Tue May 28 11:46:15 2019 -0700
Skip pipeline validation when disabling it (#4240)
* update ThirdEye metrics/dataset from UMP metadata
* Lazy saving metrics/datasets. & Fix style validation issues.
---
.../thirdeye/detection/yaml/YamlResource.java | 28 +++++++++++++++-------
1 file changed, 19 insertions(+), 9 deletions(-)
diff --git a/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/yaml/YamlResource.java b/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/yaml/YamlResource.java
index a60116f..430bf2a 100644
--- a/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/yaml/YamlResource.java
+++ b/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/yaml/YamlResource.java
@@ -160,7 +160,7 @@ public class YamlResource {
try {
translator = this.translatorLoader.from(yamlConfig, this.provider);
} catch (Exception e) {
- throw new IllegalArgumentException("Unable to instantiate the detection pipeline. Please verify the pipelineType.", e);
+ throw new IllegalArgumentException("Unable to instantiate the detection pipeline.", e);
}
return translator.withTuningWindow(tuningStartTime, tuningEndTime)
.withExistingDetectionConfig(existingDetectionConfig)
@@ -343,14 +343,24 @@ public class YamlResource {
// Translate config from YAML to detection config (JSON)
TreeMap<String, Object> newDetectionConfigMap = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
newDetectionConfigMap.putAll(ConfigUtils.getMap(this.yaml.load(yamlDetectionConfig)));
- detectionConfig = buildDetectionConfigFromYaml(startTime, endTime, newDetectionConfigMap, existingDetectionConfig);
- detectionConfig.setYaml(yamlDetectionConfig);
-
- // Validate updated config before saving it
- detectionValidator.validateUpdatedConfig(detectionConfig, existingDetectionConfig);
- // Save the detection config
- Long id = this.detectionConfigDAO.save(detectionConfig);
- Preconditions.checkNotNull(id, "Error while saving the detection pipeline");
+ try {
+ detectionConfig = buildDetectionConfigFromYaml(startTime, endTime, newDetectionConfigMap, existingDetectionConfig);
+ detectionConfig.setYaml(yamlDetectionConfig);
+
+ // Validate updated config before saving it
+ detectionValidator.validateUpdatedConfig(detectionConfig, existingDetectionConfig);
+ // Save the detection config
+ Long id = this.detectionConfigDAO.save(detectionConfig);
+ Preconditions.checkNotNull(id, "Error while saving the detection pipeline");
+ } finally {
+ // If it is to disable the pipeline then no need to do validation and parsing.
+ // It is possible that the metric or dataset was deleted so the validation will fail.
+ if (!MapUtils.getBooleanValue(newDetectionConfigMap, PROP_ACTIVE, true)) {
+ existingDetectionConfig.setActive(false);
+ existingDetectionConfig.setYaml(yamlDetectionConfig);
+ this.detectionConfigDAO.save(existingDetectionConfig);
+ }
+ }
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org