This is an automated email from the ASF dual-hosted git repository. jihao pushed a change to branch severity-alerter in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git.
discard fe3df96 refactor discard 45d34f0 severity alerter & unit tests discard 6ef83ea add anomaly notification table add addf67f Simplify compression logic for anomaly timelines view. Now we only keep the values for the selected timestamps after compression, instead of taking an average that could cause value shifts (#5906) add e7e9775 Refactored code for overwritten configs (#5875) add 331b874 Expose ResultSetStats in the Pinot client's ResultSetGroup (#5892) add d733a24 [TE] anomalies page - fix feedback is not populated if retrived by the method findByIds (#5903) add ec27472 [TE] frontend - harleyjj/units - Add notes and tooltips explaining SI prefix symbols (#5886) add a9818f5 [TE] add anomaly detection as a service - endpoints for managing online detection data (#5894) add 262678b Adds note about using intellij with testng (#5912) add a8974c7 [TE] Updated ThirdEye docker launch script to accept MODE as a second arg (#5914) add 4c4777d [TE] frontend - harleyjj/alert-details - fix bug in forecast dates (#5916) add 1b3fb99 [TE] Remove deprecated classes under /detection/algorithm (#5908) add afc7539 [TE] Fix corner case in SLA alert - round up datasetLastRefreshTime (#5909) add c425b0f [TE] add anomaly detection as a service - new table for storing ad-hoc data (#5866) add 9e65bdf [TE] cube api bug fix to fetch by dataset name (#5921) add ba55d58 Updating docusaurus and adding pinot navbar logos (#5918) add dafbef1 Add 0.5 license and notice. (#5905) add ced3a70 Fix CSV and JSON converter on BYTES column (#5931) add 1b38909 [TE] ThirdEye User Config (Yaml) Validation (#5930) add 9cd46b1 [TE] Remove incessant DEBUG level logging (#5932) add 21a372b Starts Broker and Server in parallel when using ServiceManager (#5917) add e71622d support for local.directory.sequence.id (#5927) add 8f0145e [TE] update schema to support window parameters (#5933) add e4ea9fc [TE] Multiple changes to get TE running in a docker container (#5924) add 6b78dcc Add max qps bucket count (#5922) add d47e751 Add an explicit license check exclusion for github related templates. (#5936) add 701ffcb Revert the commit 41dc432e775aeeb841f57bd25525832950698739 (#5938) add 347eff1 Fixing the issue that transform UDFs are parsed as function name 'OTHER', not the real function names (#5940) add c3446ba [TE] polish the rca template in email (#5939) add a892fb4 Add Range Indexing support for raw values (#5853) add d2ed761 adding autocomplete in sql editor (#5810) add 2cbf0b5 5804: Prints file name of invalid json file when parsing (#5910) add 86a01ff Add IdSet and IdSetAggregationFunction (#5926) add a31c06a Bump up swagger-ui version and update related code (#5941) add 42c6424 Make realtime threshold property names less ambiguous (#5953) add 032a7bf Move to natural POM versions (#5945) add d444285 Incorporating embedded exception while trying to fetch stream offset (#5956) new 8bc3d48 add anomaly notification table new f614acb severity alerter & unit tests new 5511721 refactor This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (fe3df96) \ N -- N -- N refs/heads/severity-alerter (5511721) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .travis/.travis_nightly_build.sh | 2 +- LICENSE-binary | 171 +---- NOTICE-binary | 97 ++- docker/images/pinot-thirdeye/README.md | 2 +- docker/images/pinot-thirdeye/bin/start-thirdeye.sh | 73 +- docs/dev_env.rst | 3 + licenses-binary/LICENSE-gpl-2.0.txt | 125 ---- pinot-broker/pom.xml | 2 +- .../HelixExternalViewBasedQueryQuotaManager.java | 15 +- .../apache/pinot/broker/queryquota/HitCounter.java | 26 +- .../pinot/broker/queryquota/MaxHitRateTracker.java | 81 +++ .../pinot/broker/queryquota/QueryQuotaEntity.java | 18 +- .../broker/queryquota/MaxHitRateTrackerTest.java | 59 ++ pinot-clients/pinot-java-client/pom.xml | 2 +- .../org/apache/pinot/client/BrokerResponse.java | 6 + .../java/org/apache/pinot/client/Connection.java | 2 +- .../org/apache/pinot/client/ExecutionStats.java | 142 ++++ .../org/apache/pinot/client/ResultSetGroup.java | 8 + .../apache/pinot/client/PreparedStatementTest.java | 4 +- .../apache/pinot/client/ResultSetGroupTest.java | 12 +- pinot-clients/pinot-jdbc-client/pom.xml | 2 +- pinot-clients/pom.xml | 2 +- pinot-common/pom.xml | 2 +- .../common/function/AggregationFunctionType.java | 1 + .../pinot/common/metrics/AbstractMetrics.java | 25 + .../apache/pinot/common/metrics/BrokerGauge.java | 1 + .../apache/pinot/sql/parsers/CalciteSqlParser.java | 1 + .../src/main/resources/swagger-ui/index.html | 149 ++-- .../pinot/sql/parsers/CalciteSqlCompilerTest.java | 13 + pinot-connectors/pinot-spark-connector/pom.xml | 2 +- pinot-connectors/pom.xml | 2 +- pinot-controller/pom.xml | 2 +- .../api/ControllerAdminApiApplication.java | 7 + .../realtime/PinotLLCRealtimeSegmentManager.java | 2 +- .../SegmentSizeBasedFlushThresholdUpdater.java | 2 +- .../controller/recommender/io/InputManager.java | 68 +- .../recommender/rules/RulesToExecute.java | 2 +- .../rules/impl/InvertedSortedIndexJointRule.java | 80 ++- .../recommender/rules/impl/KafkaPartitionRule.java | 2 +- .../NoDictionaryOnHeapDictionaryJointRule.java | 13 +- .../rules/impl/PinotTablePartitionRule.java | 37 +- .../recommender/rules/io/configs/IndexConfig.java | 14 +- .../rules/io/configs/PartitionConfig.java | 19 + .../params/InvertedSortedIndexJointRuleParams.java | 6 +- .../rules/io/params/PartitionRuleParams.java | 2 +- .../rules/io/params/RecommenderConstants.java | 12 +- .../utils/QueryInvertedSortedIndexRecommender.java | 43 +- pinot-controller/src/main/resources/api/index.html | 148 ++-- .../src/main/resources/app/pages/Query.tsx | 161 +++-- .../src/main/resources/app/styles/styles.css | 61 ++ .../main/resources/app/utils/PinotMethodUtils.ts | 11 +- .../src/main/resources/app/utils/Utils.tsx | 163 ++++- pinot-controller/src/main/resources/package.json | 1 + .../segment/FlushThresholdUpdaterTest.java | 9 +- .../controller/recommender/TestConfigEngine.java | 11 +- .../recommenderInput/BloomFilterInput.json | 2 +- .../recommenderInput/DataSizeCalculationInput.json | 2 +- ...titionRuleInput.json => EmptyQueriesInput.json} | 69 +- .../recommenderInput/KafkaPartitionRuleInput.json | 2 +- .../recommenderInput/KafkaPartitionRuleInput2.json | 2 +- ...NoDictionaryOnHeapDictionaryJointRuleInput.json | 2 +- .../recommenderInput/SortedInvertedIndexInput.json | 2 +- pinot-core/pom.xml | 2 +- .../apache/pinot/core/common/ObjectSerDeUtils.java | 39 +- .../filter/RangeIndexBasedFilterOperator.java | 52 +- .../predicate/RangePredicateEvaluatorFactory.java | 40 +- .../function/AggregationFunctionFactory.java | 2 + .../function/IdSetAggregationFunction.java | 352 ++++++++++ .../BrokerRequestToQueryContextConverter.java | 9 +- .../core/query/utils/idset/BloomFilterIdSet.java | 235 +++++++ .../pinot/core/query/utils/idset/EmptyIdSet.java | 85 +++ .../apache/pinot/core/query/utils/idset/IdSet.java | 153 +++++ .../pinot/core/query/utils/idset/IdSets.java | 236 +++++++ .../utils/idset/Roaring64NavigableMapIdSet.java | 114 +++ .../core/query/utils/idset/RoaringBitmapIdSet.java | 101 +++ ...va => DictionaryBasedInvertedIndexCreator.java} | 24 +- .../core/segment/creator/InvertedIndexCreator.java | 52 +- .../creator/RawValueBasedInvertedIndexCreator.java | 62 ++ .../creator/impl/SegmentColumnarIndexCreator.java | 21 +- .../inv/OffHeapBitmapInvertedIndexCreator.java | 8 +- .../impl/inv/OnHeapBitmapInvertedIndexCreator.java | 6 +- .../creator/impl/inv/RangeIndexCreator.java | 153 +++-- .../impl/inv/text/LuceneTextIndexCreator.java | 35 +- .../loader/invertedindex/RangeIndexHandler.java | 129 +++- .../pinot/core/query/utils/idset/IdSetTest.java | 202 ++++++ .../core/realtime/stream/StreamConfigTest.java | 49 +- .../index/creator/RangeIndexCreatorTest.java | 402 ++++++++--- .../org/apache/pinot/queries/IdSetQueriesTest.java | 401 +++++++++++ pinot-distribution/pom.xml | 2 +- pinot-integration-tests/pom.xml | 2 +- .../src/test/resources/index.html | 148 ++-- pinot-minion/pom.xml | 2 +- pinot-perf/pom.xml | 2 +- .../pinot-batch-ingestion-common/pom.xml | 2 +- .../batch/common/SegmentGenerationTaskRunner.java | 3 + .../pinot-batch-ingestion-hadoop/pom.xml | 2 +- .../pinot-batch-ingestion-spark/pom.xml | 2 +- .../spark/SparkSegmentGenerationJobRunner.java | 31 +- .../pinot-batch-ingestion-standalone/pom.xml | 2 +- pinot-plugins/pinot-batch-ingestion/pom.xml | 2 +- .../v0_deprecated/pinot-hadoop/pom.xml | 2 +- .../v0_deprecated/pinot-ingestion-common/pom.xml | 2 +- .../v0_deprecated/pinot-spark/pom.xml | 2 +- .../pinot-batch-ingestion/v0_deprecated/pom.xml | 2 +- pinot-plugins/pinot-file-system/pinot-adls/pom.xml | 2 +- pinot-plugins/pinot-file-system/pinot-gcs/pom.xml | 2 +- pinot-plugins/pinot-file-system/pinot-hdfs/pom.xml | 2 +- pinot-plugins/pinot-file-system/pinot-s3/pom.xml | 2 +- pinot-plugins/pinot-file-system/pom.xml | 2 +- .../pinot-input-format/pinot-avro-base/pom.xml | 2 +- .../pinot-input-format/pinot-avro/pom.xml | 2 +- .../pinot-confluent-avro/pom.xml | 2 +- pinot-plugins/pinot-input-format/pinot-csv/pom.xml | 2 +- .../pinot-input-format/pinot-json/pom.xml | 2 +- pinot-plugins/pinot-input-format/pinot-orc/pom.xml | 2 +- .../pinot-input-format/pinot-parquet/pom.xml | 2 +- .../pinot-input-format/pinot-protobuf/pom.xml | 2 +- .../pinot-input-format/pinot-thrift/pom.xml | 2 +- pinot-plugins/pinot-input-format/pom.xml | 2 +- .../pinot-stream-ingestion/pinot-kafka-0.9/pom.xml | 2 +- .../pinot-stream-ingestion/pinot-kafka-2.0/pom.xml | 2 +- .../pinot-kafka-base/pom.xml | 2 +- pinot-plugins/pinot-stream-ingestion/pom.xml | 2 +- pinot-plugins/pom.xml | 2 +- pinot-server/pom.xml | 2 +- .../server/starter/helix/AdminApiApplication.java | 7 + pinot-server/src/main/resources/api/index.html | 148 ++-- pinot-spi/pom.xml | 2 +- .../spi/stream/PartitionLevelStreamConfig.java | 2 +- .../org/apache/pinot/spi/stream/StreamConfig.java | 68 +- .../pinot/spi/stream/StreamConfigProperties.java | 13 +- pinot-tools/pom.xml | 2 +- .../tools/admin/command/CreateSegmentCommand.java | 2 +- .../admin/command/StartServiceManagerCommand.java | 132 +++- .../converter/PinotSegmentToAvroConverter.java | 13 +- .../converter/PinotSegmentToCsvConverter.java | 47 +- .../converter/PinotSegmentToJsonConverter.java | 16 +- .../pinot/tools/TestCreateSegmentCommand.java | 64 ++ .../converter/PinotSegmentConverterTest.java | 195 ++++++ .../resources/test_data/test_invalid_data.json | 2 + pom.xml | 9 +- thirdeye/pom.xml | 1 + .../app/pods/components/alert-details/component.js | 6 +- .../app/pods/components/alert-details/template.hbs | 3 + .../pods/components/anomaly-summary/template.hbs | 4 +- .../pods/components/rootcause-anomaly/template.hbs | 4 + .../anomalies-table/current-wow/template.hbs | 5 +- .../app/pods/partials/si-note/template.hbs | 1 + .../app/pods/partials/si-tooltip/template.hbs | 8 + .../app/styles/components/rootcause-header.scss | 1 + thirdeye/thirdeye-pinot/pom.xml | 21 +- .../anomaly/ThirdEyeAnomalyApplication.java | 18 +- .../anomaly/ThirdEyeAnomalyConfiguration.java | 45 -- .../trigger/DataAvailabilityTaskScheduler.java | 3 + .../anomaly/monitor/MonitorTaskRunner.java | 10 + .../views/CondensedAnomalyTimelinesView.java | 8 +- .../api/detection/AnomalyDetectionResource.java | 584 ++++++++++++---- .../thirdeye/common/ThirdEyeConfiguration.java | 45 +- .../dashboard/ThirdEyeDashboardConfiguration.java | 1 - .../dashboard/resources/SummaryResource.java | 2 +- .../dashboard/resources/v2/AnomaliesResource.java | 1 - .../dashboard/resources/v2/RootCauseResource.java | 2 +- .../pinot/thirdeye/datalayer/ScriptRunner.java | 50 +- .../datalayer/bao/MergedAnomalyResultManager.java | 2 - .../datalayer/bao/OnlineDetectionDataManager.java | 9 + .../bao/jdbc/MergedAnomalyResultManagerImpl.java | 3 +- .../bao/jdbc/OnlineDetectionDataManagerImpl.java | 25 + .../thirdeye/datalayer/dao/GenericPojoDao.java | 16 +- .../datalayer/dto/OnlineDetectionDataDTO.java | 6 + .../datalayer/entity/OnlineDetectionDataIndex.java | 22 + .../thirdeye/datalayer/pojo/MetricConfigBean.java | 10 - .../datalayer/pojo/OnlineDetectionDataBean.java | 51 ++ .../thirdeye/datalayer/util/DaoProviderUtil.java | 7 +- .../datalayer/util/EntityMappingHolder.java | 2 - .../thirdeye/datalayer/util/SqlQueryBuilder.java | 3 - .../pinot/thirdeye/datasource/DAORegistry.java | 6 + .../online/OnlineThirdEyeDataSource.java | 35 +- .../thirdeye/detection/DefaultDataProvider.java | 3 +- .../detection/DetectionPipelineLoader.java | 2 +- .../pinot/thirdeye/detection/DetectionUtils.java | 4 +- .../detection/algorithm/BaselineAlgorithm.java | 139 ---- .../algorithm/BaselineRuleFilterWrapper.java | 117 ---- .../detection/algorithm/MovingWindowAlgorithm.java | 762 --------------------- .../algorithm/RuleBasedFilterWrapper.java | 91 --- .../detection/algorithm/ThresholdAlgorithm.java | 93 --- .../algorithm/ThresholdRuleFilterWrapper.java | 73 -- .../registry/DetectionAlertRegistry.java | 1 - .../components/AbsoluteChangeRuleDetector.java | 2 +- .../detection/components/HoltWintersDetector.java | 2 +- .../components/MeanVarianceRuleDetector.java | 1 - .../components/PercentageChangeRuleDetector.java | 2 +- .../components/ThresholdRuleDetector.java | 2 +- .../components/DataSlaQualityChecker.java | 40 +- .../spec/DataSlaQualityCheckerSpec.java | 7 +- .../validators/ConfigValidationException.java | 57 ++ .../validators/ConfigValidationUtils.java | 57 ++ .../detection/validators/ConfigValidator.java | 25 +- .../validators/DetectionConfigValidator.java | 226 ++---- .../validators/SubscriptionConfigValidator.java | 117 ++-- .../validators/ThirdEyeUserConfigValidator.java | 75 ++ .../detection/wrapper/AnomalyDetectorWrapper.java | 5 +- .../thirdeye/detection/yaml/YamlResource.java | 286 ++++---- .../yaml/translator/ConfigTranslator.java | 26 +- .../yaml/translator/DetectionConfigTranslator.java | 17 +- .../translator/DetectionMetricAttributeHolder.java | 2 +- .../translator/SubscriptionConfigTranslator.java | 23 +- .../builder/DetectionConfigPropertiesBuilder.java | 4 +- .../detector/metric-anomalies-template.ftl | 72 +- .../src/main/resources/schema/create-schema.sql | 14 +- .../detection/detection-config-schema.json | 255 +++++++ .../subscription/subscription-config-schema.json | 113 +++ .../views/TestCondensedAnomalyTimelinesView.java | 16 +- .../detection/AnomalyDetectionResourceTest.java | 270 +++++--- .../pinot/thirdeye/datalayer/DaoTestUtils.java | 14 +- .../pinot/thirdeye/datalayer/bao/DAOTestBase.java | 6 +- .../bao/TestOnlineDetectionDataManager.java | 63 ++ .../pinot/thirdeye/detection/DataProviderTest.java | 2 - .../pinot/thirdeye/detection/MockDataProvider.java | 11 +- .../detection/algorithm/BaselineAlgorithmTest.java | 139 ---- .../algorithm/MovingWindowAlgorithmTest.java | 414 ----------- .../algorithm/ThresholdAlgorithmTest.java | 89 --- .../dataquality/DataQualityTaskRunnerTest.java | 88 +-- .../MergeDimensionThresholdIntegrationTest.java | 158 ----- .../validators/DetectionConfigValidatorTest.java | 172 +++-- .../SubscriptionConfigValidatorTest.java | 272 ++++++++ .../thirdeye/detection/yaml/YamlResourceTest.java | 52 +- .../translator/DetectionConfigTranslatorTest.java | 5 +- .../YamlDetectionAlertConfigTranslatorTest.java | 7 +- .../integration/NotificationTaskSchedulerTest.java | 12 +- .../thirdeye/api/detection/payload-bad-custom.json | 6 +- .../pinot/thirdeye/api/detection/payload-bad.json | 6 +- .../api/detection/payload-good-custom.json | 6 +- .../pinot/thirdeye/api/detection/payload-good.json | 6 +- .../api/detection/payload-update-test1.json | 2 + .../api/detection/payload-update-test2.json | 2 + .../api/detection/payload-update-test3.json | 3 + .../mergeDimensionThresholdProperties.json | 31 - .../detection/migrated-detection-config-1.json | 2 +- .../detection/migrated-detection-config-2.json | 2 +- ....yaml => composite-detection-config-bad-1.yaml} | 8 +- ...yaml => composite-detection-config-good-1.yaml} | 8 +- .../validators/detection-config-bad-1.yaml | 61 ++ .../validators/detection-config-good-1.yaml | 82 +++ .../validators/entity-pipeline-config-2.yaml | 4 +- .../yaml/subscription/subscription-config-1.yaml | 12 +- .../yaml/subscription/subscription-config-2.yaml | 8 +- .../yaml/subscription/subscription-config-3.yaml | 8 +- .../yaml/subscription/subscription-config-4.yaml | 8 +- .../yaml/subscription/subscription-config-5.yaml | 8 +- .../compositePipelineTranslatorTestResult-5.json | 24 +- .../yaml/translator/pipeline-config-1.yaml | 5 +- .../yaml/translator/pipeline-config-2.yaml | 2 +- .../yaml/translator/pipeline-config-3.yaml | 2 +- .../yaml/translator/pipeline-config-5.yaml | 4 +- .../detection/yaml/translator/sla-config-5.yaml | 8 +- .../yaml/translator/sla-config-translated-5.json | 12 +- .../src/test/resources/sample-alert-config.yml | 2 +- ...rca-highlights-cube-algo-response-rendered.html | 84 +-- ...st-email-rca-highlights-cube-algo-response.json | 2 +- website/docusaurus.config.js | 23 +- website/package.json | 12 +- website/static/img/pinot-navbar-logo-722f37.png | Bin 0 -> 42885 bytes website/static/img/pinot-navbar-logo-722f37.svg | 21 + website/static/img/pinot-overview.png | Bin 0 -> 128920 bytes 264 files changed, 7250 insertions(+), 4692 deletions(-) delete mode 100644 licenses-binary/LICENSE-gpl-2.0.txt create mode 100644 pinot-broker/src/main/java/org/apache/pinot/broker/queryquota/MaxHitRateTracker.java create mode 100644 pinot-broker/src/test/java/org/apache/pinot/broker/queryquota/MaxHitRateTrackerTest.java create mode 100644 pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/ExecutionStats.java copy pinot-controller/src/test/resources/recommenderInput/{KafkaPartitionRuleInput.json => EmptyQueriesInput.json} (53%) create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/IdSetAggregationFunction.java create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/utils/idset/BloomFilterIdSet.java create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/utils/idset/EmptyIdSet.java create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/utils/idset/IdSet.java create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/utils/idset/IdSets.java create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/utils/idset/Roaring64NavigableMapIdSet.java create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/utils/idset/RoaringBitmapIdSet.java copy pinot-core/src/main/java/org/apache/pinot/core/segment/creator/{InvertedIndexCreator.java => DictionaryBasedInvertedIndexCreator.java} (82%) create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/segment/creator/RawValueBasedInvertedIndexCreator.java create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/query/utils/idset/IdSetTest.java create mode 100644 pinot-core/src/test/java/org/apache/pinot/queries/IdSetQueriesTest.java create mode 100644 pinot-tools/src/test/java/org/apache/pinot/tools/TestCreateSegmentCommand.java create mode 100644 pinot-tools/src/test/java/org/apache/pinot/tools/segment/converter/PinotSegmentConverterTest.java create mode 100644 pinot-tools/src/test/resources/test_data/test_invalid_data.json create mode 100644 thirdeye/thirdeye-frontend/app/pods/partials/si-note/template.hbs create mode 100644 thirdeye/thirdeye-frontend/app/pods/partials/si-tooltip/template.hbs create mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/datalayer/bao/OnlineDetectionDataManager.java create mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/datalayer/bao/jdbc/OnlineDetectionDataManagerImpl.java create mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/datalayer/dto/OnlineDetectionDataDTO.java create mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/datalayer/entity/OnlineDetectionDataIndex.java create mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/datalayer/pojo/OnlineDetectionDataBean.java delete mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/algorithm/BaselineAlgorithm.java delete mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/algorithm/BaselineRuleFilterWrapper.java delete mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/algorithm/MovingWindowAlgorithm.java delete mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/algorithm/RuleBasedFilterWrapper.java delete mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/algorithm/ThresholdAlgorithm.java delete mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/algorithm/ThresholdRuleFilterWrapper.java create mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/validators/ConfigValidationException.java create mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/validators/ConfigValidationUtils.java create mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/validators/ThirdEyeUserConfigValidator.java create mode 100644 thirdeye/thirdeye-pinot/src/main/resources/validators/detection/detection-config-schema.json create mode 100644 thirdeye/thirdeye-pinot/src/main/resources/validators/subscription/subscription-config-schema.json create mode 100644 thirdeye/thirdeye-pinot/src/test/java/org/apache/pinot/thirdeye/datalayer/bao/TestOnlineDetectionDataManager.java delete mode 100644 thirdeye/thirdeye-pinot/src/test/java/org/apache/pinot/thirdeye/detection/algorithm/BaselineAlgorithmTest.java delete mode 100644 thirdeye/thirdeye-pinot/src/test/java/org/apache/pinot/thirdeye/detection/algorithm/MovingWindowAlgorithmTest.java delete mode 100644 thirdeye/thirdeye-pinot/src/test/java/org/apache/pinot/thirdeye/detection/algorithm/ThresholdAlgorithmTest.java delete mode 100644 thirdeye/thirdeye-pinot/src/test/java/org/apache/pinot/thirdeye/detection/integration/MergeDimensionThresholdIntegrationTest.java create mode 100644 thirdeye/thirdeye-pinot/src/test/java/org/apache/pinot/thirdeye/detection/validators/SubscriptionConfigValidatorTest.java create mode 100644 thirdeye/thirdeye-pinot/src/test/resources/org/apache/pinot/thirdeye/api/detection/payload-update-test1.json create mode 100644 thirdeye/thirdeye-pinot/src/test/resources/org/apache/pinot/thirdeye/api/detection/payload-update-test2.json create mode 100644 thirdeye/thirdeye-pinot/src/test/resources/org/apache/pinot/thirdeye/api/detection/payload-update-test3.json delete mode 100644 thirdeye/thirdeye-pinot/src/test/resources/org/apache/pinot/thirdeye/detection/integration/mergeDimensionThresholdProperties.json copy thirdeye/thirdeye-pinot/src/test/resources/org/apache/pinot/thirdeye/detection/validators/{entity-pipeline-config-2.yaml => composite-detection-config-bad-1.yaml} (93%) copy thirdeye/thirdeye-pinot/src/test/resources/org/apache/pinot/thirdeye/detection/validators/{entity-pipeline-config-2.yaml => composite-detection-config-good-1.yaml} (88%) create mode 100644 thirdeye/thirdeye-pinot/src/test/resources/org/apache/pinot/thirdeye/detection/validators/detection-config-bad-1.yaml create mode 100644 thirdeye/thirdeye-pinot/src/test/resources/org/apache/pinot/thirdeye/detection/validators/detection-config-good-1.yaml create mode 100644 website/static/img/pinot-navbar-logo-722f37.png create mode 100644 website/static/img/pinot-navbar-logo-722f37.svg create mode 100644 website/static/img/pinot-overview.png --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org