This is an automated email from the ASF dual-hosted git repository.
akshayrai09 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 521d551 [TE] Retain create owners of anomaly functions and alerts
(#3804)
521d551 is described below
commit 521d551e9dda668ff7e3cb69bd0b78417ee19e0d
Author: Akshay Rai <[email protected]>
AuthorDate: Thu Feb 7 16:10:20 2019 -0800
[TE] Retain create owners of anomaly functions and alerts (#3804)
---
.../thirdeye/detection/DetectionMigrationResource.java | 16 +++++++++++++++-
.../detection/DetectionMigrationResourceTest.java | 7 ++++++-
2 files changed, 21 insertions(+), 2 deletions(-)
diff --git
a/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/DetectionMigrationResource.java
b/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/DetectionMigrationResource.java
index 811e594..f9e7c96 100644
---
a/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/DetectionMigrationResource.java
+++
b/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/DetectionMigrationResource.java
@@ -327,11 +327,18 @@ public class DetectionMigrationResource {
}
// Save the migrated anomaly function
-
DAORegistry.getInstance().getDetectionConfigManager().save(detectionConfig);
+ detectionConfigDAO.save(detectionConfig);
if (detectionConfig.getId() == null) {
throw new RuntimeException("Error saving the new detection config.");
}
+ // Hack to retain Anomaly function owner
+ detectionConfig.setCreatedBy(anomalyFunctionDTO.getCreatedBy());
+ detectionConfigDAO.update(detectionConfig);
+ if (detectionConfig.getId() == null) {
+ throw new RuntimeException("Error saving the new detection config after
updating the owner.");
+ }
+
// Point all the associated anomalies to the migrated anomaly function.
List<MergedAnomalyResultDTO> mergedAnomalyResultDTOS =
mergedAnomalyResultDAO.findByPredicate(Predicate.EQ("functionId",
anomalyFunctionDTO.getId()));
for (MergedAnomalyResultDTO anomaly : mergedAnomalyResultDTOS) {
@@ -407,6 +414,13 @@ public class DetectionMigrationResource {
if (alertConfig.getId() == null) {
throw new RuntimeException("Error while saving the migrated alert
config for " + alertName);
}
+
+ // Hack to retain subscription group owner
+ alertConfig.setCreatedBy(alertConfigDTO.getCreatedBy());
+ detectionAlertConfigDAO.update(alertConfig);
+ if (alertConfig.getId() == null) {
+ throw new RuntimeException("Error saving the migrated alert config
after updating the owner.");
+ }
}
// Update migration status and disable the old alert
diff --git
a/thirdeye/thirdeye-pinot/src/test/java/org/apache/pinot/thirdeye/detection/DetectionMigrationResourceTest.java
b/thirdeye/thirdeye-pinot/src/test/java/org/apache/pinot/thirdeye/detection/DetectionMigrationResourceTest.java
index 85ea55e..238cff2 100644
---
a/thirdeye/thirdeye-pinot/src/test/java/org/apache/pinot/thirdeye/detection/DetectionMigrationResourceTest.java
+++
b/thirdeye/thirdeye-pinot/src/test/java/org/apache/pinot/thirdeye/detection/DetectionMigrationResourceTest.java
@@ -175,6 +175,10 @@ public class DetectionMigrationResourceTest {
AnomalyFunctionDTO actual =
OBJECT_MAPPER.readValue(this.getClass().getResourceAsStream("legacy-anomaly-function-1.json"),
AnomalyFunctionDTO.class);
long oldID = anomalyFunctionDAO.save(actual);
+ AnomalyFunctionDTO legacyAnomalyFunction =
anomalyFunctionDAO.findById(oldID);
+ legacyAnomalyFunction.setCreatedBy("test_user");
+ anomalyFunctionDAO.update(legacyAnomalyFunction);
+
MergedAnomalyResultDTO mergedAnomalyResultDTO = new
MergedAnomalyResultDTO();
mergedAnomalyResultDTO.setFunction(actual);
anomalyDAO.save(mergedAnomalyResultDTO);
@@ -182,9 +186,10 @@ public class DetectionMigrationResourceTest {
Response responseId = migrationResource.migrateAnomalyFunction(oldID);
long newID = (long) responseId.getEntity();
- AnomalyFunctionDTO legacyAnomalyFunction =
anomalyFunctionDAO.findById(oldID);
DetectionConfigDTO migratedAnomalyFunction =
detectionConfigDAO.findById(newID);
+ legacyAnomalyFunction = anomalyFunctionDAO.findById(oldID);
+
// Verify if the migration status is updated correctly and the old
detection is disabled.
Assert.assertEquals(legacyAnomalyFunction.getFunctionName(),
"test_function_thirdeye_migrated_" + newID);
Assert.assertFalse(legacyAnomalyFunction.getIsActive());
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]