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 <akshayra...@gmail.com> 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: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org