You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by jl...@apache.org on 2020/08/18 00:36:43 UTC
[incubator-pinot] branch add-metrics-jmx updated (fd6b840 ->
b998800)
This is an automated email from the ASF dual-hosted git repository.
jlli pushed a change to branch add-metrics-jmx
in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git.
discard fd6b840 Bump up dropwizard metrics version to 4.1.2
add e7e4d19 Refreshing the Pinot project README to match docs. (#5731)
add cd26b24 Enhance DataTypeTransformer to handle nested Map/List/Object[] (#5760)
add bc2c066 [TE] frontend - harleyjj/rca - Phase 1 of custom baseline selector (#5752)
add a910c04 adding zookeeper browser module in UI (#5763)
add a8fbdae Optimize DistinctCount to store dictIds within segment (#5765)
add 0c4a673 [TE] add enpoints to save dimension filter for RCA v2 POC (#5735)
add ba9e14f [TE] add auto-loading dimension filters on RCA frontend (#5767)
add 1f69041 [Part 2] Add geo support - add a geo aggregate function st_union (#5744)
add b1ab891 [TE] Embed cube algorithm results in email (#5770)
add 10117ae Add untar failure server meter (#5768)
add cb7de23 [TE] Added a backfill start date for Anomaly Detection (#5740)
add 0fc0811 add user info in url to auth header in HTTP getDownloadFileRequest (#5772)
add 2c0b999 Add segment lineage based segment selector (#5728)
add 097fce6 Lazy initialization of ForwardIndexReaderContext. (#5781)
add 32348be [TE] remove linkedin bintray from pom and add override (#5773) (#5775)
add 31d4194 Avoid redundant merge of empty sketches. (#5783)
add 271ea9f Emit server metric when retry attempts exceeded (#5784)
add a3efba4 Add DistinctCountBitmap aggregation function (#5766)
add e286991 Add missing null check before closing reader context. (#5785)
add 0e95a67 Do not apply shade plugin on parent modules (#5761)
add 47623c0 [TE] Error handling refactor of EntityManagerResource (#5788)
add c2c623a Refactor TableCache (#5780)
add 657e245 Add SegmentPartitionedDistinctCount aggregation function (#5786)
add 81504cd Bug fix: PinotSegmentToAvroConverter does not handle BYTES data type. (#5789)
add d1b4586 New endpoint to get routing table for sql query (#5791)
add 999f567 [TE] Guice Injection for Dashboard Server (#5792)
add 7cc75ad [TE] make rca insights in email resilient to issues in rca response (#5794)
add 5d66b9e [TE] The endpoint for searching anomalies and pagination (#5778)
add f2a990b Move request optimizers and parser factory to pinot-core (#5796)
add 17a3873 Improve performance of DistinctCountThetaSketch by eliminating empty sketches and unions. (#5798)
add 43b01ef Fixing codecov (#5806)
add 336131a Fix theta-sketch missing break in switch statement (#5811)
add bf928e9 [TE] Fix issue of not loading RCA template when metricid is not specified (#5799)
add 71c77a5 Create reader context only once in ColumnValueReader (#5813)
add 23889f0 Message from exception in Schema add/validate (#5815)
add 4153958 Enhancing the segment replacement api (#5782)
add ffa9541 Pre-generate aggregation functions in QueryContext (#5805)
add f68b82e Enhance VarByteChunkSVForwardIndexReader to directly read from data buffer for uncompressed data (#5816)
add 2e08602 Pradeep/sr ssl fix (#5758)
add ae2bd2f Avoid variable substitution in metadata (#5822)
add 48d1653 Support aggregation function name with underscore inside (#5795)
add 1d4d47a Use AvroRecordExtractor in ParquetRecordReader (#5830)
add 373ceb1 Retire travis from CI for testing (#5834)
add 6085578 Enable segment decryption for encrypted segments in Minion (#5821)
add fd0130b Enhance sql parser for having and post-aggregation (#5825)
add 8a3cecb [TE] frontend - harleyjj/forecast - show tool tip for fit and forecast (#5812)
add ce32362 Addressed issues in code review: (#5774)
add cc7a344 [TE] UI changes for anomalies page v3(#5824)
add 7f8e65c [TE] Fix template rendering errors (#5839)
add debadaa [TE] enchance anomaly api to propagate feedback (#5823)
add 63a4fd4 Clarifications in realtime provisioning helper (#5838)
add de14078 Support post-aggregation in QueryContext (#5827)
add 9f23e18 Tiered storage (#5793)
add 57d4b71 [TE] Presto JDBC lib upgrade (#5841)
add 3785aa7 Improving retention manager to handle segment lineage clean-up (#5828)
add c04b8b3 Move quickstart tests to use Java 14 release (#5844)
add d8264c1 Fix data ingestion from Amazon S3 bucket (#5836)
add 9551062 update Swagger (OpenAPI) configuration for HTTP+HTTPS (#5817)
add b268012 [TE] add anomaly detection as a service - Phase 1 (#5769)
add 1c754f8 Added set-diff operators and changed distinctCountThetaSketch syntax (#5832)
add 47323de [TE] Dashboard Resource Refactor (#5808)
add db48107 Adding controller healthcheck endpoint: /health (#5846)
add f4949e9 [TE] Added reset application API +refactor (#5847)
add bb8b19e DataGenerator to tolerate DATE_TIME and COMPLEX fields (#5848)
add d28c5cf Add pinot-spark-connector (#5787)
add 8ab032f Makes Pinot work on Alpine Linux or Distroless + BusyBox (#5818)
add eb0f713 Fix encrypted file path in Segment Fetcher (#5854)
add 0b6ef98 Support multi-value non-dictionary group by (#5851)
add 2cfaed3 Support type conversion for all scalar functions (#5849)
add 09e9804 [TE] Fix wrong task pickup logic (#5855)
add 5469a84 add timeColumnName to tableConfig to enable TE auto-detection (#5860)
add 449bf94 Fix NPE for aggregate metrics (#5862)
add 45d5d29 Add additional datetime functionality (#5438)
add 6dd54f8 Fix the variable names for off-heap alloc configs (#5852)
add 2b58bfb [TE] clean up legacy code (#5842)
add da1fe59 [TE] frontend - harleyjj/rca - fix heatmap click bug (#5880)
add 81e858b Adding integration test for null handling from realtime source (#5870)
add 2d94cb9 Support post-aggregation in ORDER-BY (#5856)
add bae21bf [TE] anomaly search - hide child anomaly unless queried with anomaly ids (#5865)
add 7eff806 [TE] merge time series snapshot when merging anomalies (#5861)
add 3173983 [TE] change dimension explore early stop to be 10% of top k (#5882)
add aab087c Fixing backward-compatible issue of schema fetch call (#5885)
add ed2daaa Change group key delimiter from '\t' to '\0' (#5858)
new b998800 Fix race condition in MetricsHelper Bump up dropwizard metrics version to 4.1.2
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 (fd6b840)
\
N -- N -- N refs/heads/add-metrics-jmx (b998800)
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 1 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:
.github/workflows/pinot_tests.yml | 16 +-
.travis/.travis_te_nightly_build.sh | 2 +-
LICENSE-binary | 2 +-
README.md | 98 +--
docs/pluggable_streams.rst | 56 ++
.../broker/api/resources/PinotBrokerDebug.java | 25 +-
.../broker/broker/BrokerAdminApiApplication.java | 4 +-
.../BrokerUserDefinedMessageHandlerFactory.java | 27 +
.../broker/broker/helix/HelixBrokerStarter.java | 35 +-
.../requesthandler/BaseBrokerRequestHandler.java | 169 ++---
.../SingleConnectionBrokerRequestHandler.java | 11 +-
.../pinot/broker/routing/RoutingManager.java | 30 +-
.../SegmentLineageBasedSegmentPreSelector.java | 61 ++
.../segmentselector/SegmentPreSelector.java | 28 +-
.../SegmentPreSelectorFactory.java} | 30 +-
.../request/PqlAndCalciteSqlCompatibilityTest.java | 2 +-
.../broker/requesthandler/FilterOptimizerTest.java | 2 +
.../LiteralOnlyBrokerRequestTest.java | 16 +-
...tiesToInClauseFilterQueryTreeOptimizerTest.java | 5 +-
.../requesthandler/OptimizationFlagsTest.java | 2 +
.../requesthandler/QueryLimitOverrideTest.java | 1 +
.../requesthandler/RangeMergeOptimizerTest.java | 2 +
.../segmentselector/SegmentPreSelectorTest.java | 98 +++
.../common/assignment/InstancePartitionsUtils.java | 23 +-
.../common/function/AggregationFunctionType.java | 15 +-
.../pinot/common/function/DateTimeFunctions.java | 262 -------
.../common/function/DateTimePatternHandler.java | 4 +-
.../apache/pinot/common/function/FunctionInfo.java | 44 +-
.../pinot/common/function/FunctionInvoker.java | 137 ++--
.../pinot/common/function/FunctionRegistry.java | 29 +-
.../pinot/common/function/FunctionUtils.java | 118 ++++
.../common/function/TransformFunctionType.java | 2 +-
.../function/annotations/ScalarFunction.java | 23 +-
.../function/scalar/ArithmeticFunctions.java | 95 +++
.../common/function/scalar/DateTimeFunctions.java | 555 +++++++++++++++
.../function/{ => scalar}/JsonFunctions.java | 9 +-
.../function/{ => scalar}/StringFunctions.java | 40 +-
.../messages/RoutingTableRebuildMessage.java | 66 ++
.../pinot/common/metadata/ZKMetadataProvider.java | 5 +-
.../pinot/common/metrics/ControllerMeter.java | 2 +
.../apache/pinot/common/metrics/MetricsHelper.java | 26 +-
.../apache/pinot/common/metrics/ServerMeter.java | 2 +
.../pinot/common/tier/PinotServerTierStorage.java | 31 +-
.../java/org/apache/pinot/common/tier/Tier.java | 50 ++
.../org/apache/pinot/common/tier/TierFactory.java | 59 ++
.../pinot/common/tier/TierSegmentSelector.java | 26 +-
.../org/apache/pinot/common/tier/TierStorage.java | 13 +-
.../common/tier/TimeBasedTierSegmentSelector.java | 83 +++
.../common/utils/FileUploadDownloadClient.java | 7 +
.../apache/pinot/common/utils}/PinotDataType.java | 32 +-
.../common/utils/config/TableConfigUtils.java | 14 +-
.../pinot/common/utils/config/TierConfigUtils.java | 85 +++
.../utils/fetcher/SegmentFetcherFactory.java | 27 +-
.../pinot/common/utils/helix/TableCache.java | 362 ++++++----
.../parsers/PinotQuery2BrokerRequestConverter.java | 10 +-
.../apache/pinot/sql/parsers/CalciteSqlParser.java | 319 +++++----
.../pinot/common/tier/TierConfigUtilsTest.java | 135 ++++
.../pinot/common/tier/TierSegmentSelectorTest.java | 117 ++++
.../pinot/common/utils}/PinotDataTypeTest.java | 4 +-
.../common/utils/config/TableConfigSerDeTest.java | 44 +-
.../utils/fetcher/SegmentFetcherFactoryTest.java | 57 +-
.../pinot/sql/parsers/CalciteSqlCompilerTest.java | 383 +++++++++--
pinot-common/src/test/resources/pql_queries.list | 8 +-
pinot-common/src/test/resources/sql_queries.list | 8 +-
pinot-connectors/pinot-spark-connector/README.md | 69 ++
...pinot-connector-executor-server-interaction.jpg | Bin 0 -> 100316 bytes
.../documentation/read_model.md | 142 ++++
pinot-connectors/pinot-spark-connector/pom.xml | 259 +++++++
...org.apache.spark.sql.sources.DataSourceRegister | 1 +
.../connector/spark/connector/FilterPushDown.scala | 123 ++++
.../spark/connector/PinotClusterClient.scala | 203 ++++++
.../spark/connector/PinotServerDataFetcher.scala | 135 ++++
.../connector/spark/connector/PinotSplitter.scala | 106 +++
.../connector/spark/connector/PinotUtils.scala | 121 ++++
.../spark/connector/query/GeneratedSQLs.scala | 18 +-
.../query/SQLSelectionQueryGenerator.scala | 94 +++
.../datasource/PinotDataSourceReadOptions.scala | 99 +++
.../spark/datasource/PinotDataSourceReader.scala | 111 +++
.../spark/datasource/PinotDataSourceV2.scala | 31 +-
.../spark/datasource/PinotInputPartition.scala | 37 +-
.../datasource/PinotInputPartitionReader.scala | 59 ++
.../connector/spark/exceptions/exceptions.scala | 20 +-
.../org/apache/pinot/connector/spark/package.scala | 32 +-
.../pinot/connector/spark/utils/HttpUtils.scala | 74 ++
.../pinot/connector/spark/utils/Logging.scala | 77 +++
.../src/test/resources/log4j2.xml | 0
.../src/test/resources/schema/pinot-schema.json | 60 ++
.../src/test/resources/schema/spark-schema.json | 86 +++
.../apache/pinot/connector/spark/BaseTest.scala | 10 +-
.../spark/ExampleSparkPinotConnectorTest.scala | 155 +++++
.../spark/connector/FilterPushDownTest.scala | 75 ++
.../spark/connector/PinotSplitterTest.scala | 99 +++
.../connector/spark/connector/PinotUtilsTest.scala | 152 ++++
.../query/SQLSelectionQueryGeneratorTest.scala | 92 +++
.../PinotDataSourceReadOptionsTest.scala | 87 +++
.../pom.xml | 36 +-
.../apache/pinot/controller/ControllerConf.java | 95 ++-
.../apache/pinot/controller/ControllerStarter.java | 26 +-
.../api/ControllerAdminApiApplication.java | 14 +-
.../api/resources/PinotControllerHealthCheck.java | 26 +-
.../api/resources/PinotSchemaRestletResource.java | 14 +-
.../api/resources/PinotTableRestletResource.java | 13 +
.../helix/core/PinotHelixResourceManager.java | 135 +++-
.../segment/OfflineSegmentAssignment.java | 78 ++-
.../segment/RealtimeSegmentAssignment.java | 147 ++--
.../core/assignment/segment/SegmentAssignment.java | 8 +-
.../assignment/segment/SegmentAssignmentUtils.java | 66 ++
.../helix/core/rebalance/TableRebalancer.java | 55 +-
...SegmentRelocator.java => SegmentRelocator.java} | 56 +-
.../helix/core/retention/RetentionManager.java | 79 +++
.../controller/recommender/RecommenderDriver.java | 80 +++
.../exceptions/InvalidInputException.java | 13 +-
.../controller/recommender/io/ConfigManager.java | 63 ++
.../controller/recommender/io/InputManager.java | 682 ++++++++++++++++++
.../recommender/io/metadata/FieldMetadata.java | 71 ++
.../io/metadata/SchemaWithMetaData.java | 69 ++
.../io/metadata/TimeFieldSpecMetadata.java | 78 +++
.../controller/recommender/rules/AbstractRule.java | 21 +-
.../recommender/rules/RulesToExecute.java | 148 ++++
.../recommender/rules/impl/BloomFilterRule.java | 127 ++++
.../recommender/rules/impl/FlagQueryRule.java | 75 ++
.../rules/impl/InvertedSortedIndexJointRule.java | 267 ++++++++
.../recommender/rules/impl/KafkaPartitionRule.java | 65 ++
.../NoDictionaryOnHeapDictionaryJointRule.java | 241 +++++++
.../rules/impl/PinotTablePartitionRule.java | 240 +++++++
.../rules/impl/VariedLengthDictionaryRule.java | 50 ++
.../recommender/rules/io/FlaggedQueries.java | 54 ++
.../recommender/rules/io/configs/IndexConfig.java | 120 ++++
.../rules/io/configs/PartitionConfig.java | 78 +++
.../rules/io/params/BloomFilterRuleParams.java | 52 ++
.../rules/io/params/FlagQueryRuleParams.java | 41 ++
.../params/InvertedSortedIndexJointRuleParams.java | 153 +++++
...oDictionaryOnHeapDictionaryJointRuleParams.java | 119 ++++
.../rules/io/params/PartitionRuleParams.java | 108 +++
.../rules/io/params/RecommenderConstants.java | 109 +++
.../recommender/rules/utils/FixedLenBitset.java | 174 +++++
.../rules/utils/PredicateParseResult.java | 153 +++++
.../utils/QueryInvertedSortedIndexRecommender.java | 761 +++++++++++++++++++++
.../pinot/controller/util/ListenerConfigUtil.java | 17 -
.../main/resources/app/components/AppLoader.tsx | 16 +-
.../main/resources/app/components/Breadcrumbs.tsx | 3 +-
.../src/main/resources/app/components/Layout.tsx | 4 +-
.../main/resources/app/components/MaterialTree.tsx | 122 ++++
.../app/components/Query/QuerySideBar.tsx | 3 +-
.../src/main/resources/app/components/SideBar.tsx | 2 +-
.../app/components/SvgIcons/ZookeeperIcon.tsx | 44 ++
.../app/components/{AppLoader.tsx => TabPanel.tsx} | 45 +-
.../app/components/Zookeeper/TreeDirectory.tsx | 175 +++++
pinot-controller/src/main/resources/app/index.html | 2 +-
.../src/main/resources/app/interfaces/types.d.ts | 4 +-
.../main/resources/app/pages/InstanceDetails.tsx | 2 +-
.../src/main/resources/app/pages/Query.tsx | 6 +-
.../src/main/resources/app/pages/ZookeeperPage.tsx | 207 ++++++
.../src/main/resources/app/requests/index.ts | 14 +-
pinot-controller/src/main/resources/app/router.tsx | 4 +-
.../src/main/resources/app/styles/styles.css | 2 +-
.../src/main/resources/app/theme/typography.ts | 3 +-
.../main/resources/app/utils/PinotMethodUtils.ts | 65 +-
.../src/main/resources/app/utils/Utils.tsx | 14 +-
pinot-controller/src/main/resources/package.json | 1 +
.../pinot/controller/helix/TableCacheTest.java | 142 ++++
.../helix/core/PinotHelixResourceManagerTest.java | 2 +-
...fflineNonReplicaGroupSegmentAssignmentTest.java | 5 +-
...NonReplicaGroupTieredSegmentAssignmentTest.java | 297 ++++++++
.../OfflineReplicaGroupSegmentAssignmentTest.java | 8 +-
...altimeNonReplicaGroupSegmentAssignmentTest.java | 23 +-
...NonReplicaGroupTieredSegmentAssignmentTest.java | 366 ++++++++++
.../RealtimeReplicaGroupSegmentAssignmentTest.java | 23 +-
.../core/rebalance/TableRebalancerClusterTest.java | 101 +++
.../core/retention/SegmentLineageCleanupTest.java | 182 +++++
.../controller/recommender/TestConfigEngine.java | 344 ++++++++++
.../controller/util/ListenerConfigUtilTest.java | 6 -
pinot-controller/src/test/resources/log4j2.xml | 5 -
.../recommenderInput/BloomFilterInput.json | 135 ++++
.../recommenderInput/DataSizeCalculationInput.json | 69 ++
.../resources/recommenderInput/FlagQueryInput.json | 130 ++++
.../resources/recommenderInput/InvalidInput1.json | 81 +++
.../resources/recommenderInput/InvalidInput2.json | 82 +++
.../recommenderInput/KafkaPartitionRuleInput.json | 126 ++++
.../recommenderInput/KafkaPartitionRuleInput2.json | 126 ++++
...NoDictionaryOnHeapDictionaryJointRuleInput.json | 147 ++++
.../PinotTablePartitionRuleInput.json | 146 ++++
.../recommenderInput/SortedInvertedIndexInput.json | 157 +++++
.../VariedLengthDictionaryInput.json | 82 +++
.../org/apache/pinot/core/common/BlockValSet.java | 8 +
.../apache/pinot/core/common/DataBlockCache.java | 11 +-
.../org/apache/pinot/core/common/DataFetcher.java | 113 +--
.../apache/pinot/core/common/ObjectSerDeUtils.java | 62 +-
.../core/common/datatable/DataTableUtils.java | 7 +-
.../DistinctCountBitmapValueAggregator.java | 94 +++
.../data/aggregator/ValueAggregatorFactory.java | 7 +-
.../data/function/FunctionEvaluatorFactory.java | 15 +-
.../data/function/InbuiltFunctionEvaluator.java | 78 +--
.../manager/config/InstanceDataManagerConfig.java | 2 +-
.../realtime/HLRealtimeSegmentDataManager.java | 6 +-
.../realtime/LLRealtimeSegmentDataManager.java | 4 +-
.../recordtransformer/CompositeTransformer.java | 18 +-
.../recordtransformer/DataTypeTransformer.java | 99 ++-
.../recordtransformer/NullValueTransformer.java | 4 +-
.../apache/pinot/core/data/table/BaseTable.java | 47 +-
.../core/data/table/ConcurrentIndexedTable.java | 26 +-
.../apache/pinot/core/data/table/IndexedTable.java | 76 +-
.../pinot/core/data/table/SimpleIndexedTable.java | 22 +-
.../org/apache/pinot/core/data/table/Table.java | 9 +-
.../apache/pinot/core/data/table/TableResizer.java | 234 +++++--
.../pinot/core/geospatial/GeometryUtils.java | 2 +
.../pinot/core/operator/ProjectionOperator.java | 9 +-
.../core/operator/blocks/ProjectionBlock.java | 39 +-
.../pinot/core/operator/blocks/TransformBlock.java | 4 -
.../operator/combine/GroupByCombineOperator.java | 6 +-
.../combine/GroupByOrderByCombineOperator.java | 76 +-
.../operator/docvalsets/ProjectionBlockValSet.java | 28 +-
.../operator/docvalsets/TransformBlockValSet.java | 8 +
.../query/DictionaryBasedAggregationOperator.java | 3 +
.../function/ScalarTransformFunctionWrapper.java | 331 ++++-----
.../function/TransformFunctionFactory.java | 25 +-
.../plan/AggregationGroupByOrderByPlanNode.java | 3 +-
.../core/plan/AggregationGroupByPlanNode.java | 3 +-
.../pinot/core/plan/AggregationPlanNode.java | 3 +-
.../plan/DictionaryBasedAggregationPlanNode.java | 4 +-
.../plan/MetadataBasedAggregationPlanNode.java | 4 +-
.../core/plan/maker/InstancePlanMakerImplV2.java | 8 +-
.../aggregation/function/AggregationFunction.java | 9 +-
.../function/AggregationFunctionFactory.java | 12 +-
.../function/AggregationFunctionUtils.java | 47 +-
.../function/AggregationFunctionVisitorBase.java | 102 ---
.../function/AvgAggregationFunction.java | 5 -
.../function/AvgMVAggregationFunction.java | 5 -
.../function/CountAggregationFunction.java | 5 -
.../function/CountMVAggregationFunction.java | 5 -
.../function/DistinctAggregationFunction.java | 5 -
.../function/DistinctCountAggregationFunction.java | 217 ++++--
.../DistinctCountBitmapAggregationFunction.java | 453 ++++++++++++
... DistinctCountBitmapMVAggregationFunction.java} | 130 ++--
.../DistinctCountHLLAggregationFunction.java | 5 -
.../DistinctCountHLLMVAggregationFunction.java | 5 -
.../DistinctCountMVAggregationFunction.java | 51 +-
.../DistinctCountRawHLLAggregationFunction.java | 5 -
...inctCountRawThetaSketchAggregationFunction.java | 5 -
...istinctCountThetaSketchAggregationFunction.java | 270 ++++++--
.../function/FastHLLAggregationFunction.java | 5 -
.../function/MaxAggregationFunction.java | 5 -
.../function/MaxMVAggregationFunction.java | 5 -
.../function/MinAggregationFunction.java | 5 -
.../function/MinMVAggregationFunction.java | 5 -
.../function/MinMaxRangeAggregationFunction.java | 5 -
.../function/MinMaxRangeMVAggregationFunction.java | 5 -
.../function/PercentileAggregationFunction.java | 5 -
.../function/PercentileEstAggregationFunction.java | 5 -
.../PercentileEstMVAggregationFunction.java | 5 -
.../function/PercentileMVAggregationFunction.java | 5 -
.../PercentileTDigestAggregationFunction.java | 5 -
.../PercentileTDigestMVAggregationFunction.java | 5 -
...artitionedDistinctCountAggregationFunction.java | 420 ++++++++++++
.../function/StUnionAggregationFunction.java | 135 ++++
.../function/SumAggregationFunction.java | 5 -
.../function/SumMVAggregationFunction.java | 5 -
.../groupby/AggregationGroupByTrimmingService.java | 81 ++-
.../aggregation/groupby/GroupKeyGenerator.java | 14 +-
.../NoDictionaryMultiColumnGroupKeyGenerator.java | 157 ++++-
.../postaggregation/PostAggregationFunction.java | 81 +++
.../core/query/reduce/GroupByDataTableReducer.java | 86 ++-
.../core/query/reduce/ResultReducerFactory.java | 6 +-
.../core/query/request/context/QueryContext.java | 157 ++++-
.../request/context/utils/QueryContextUtils.java | 40 +-
.../requesthandler/BrokerRequestOptimizer.java | 2 +-
.../FilterQueryOptimizerRequest.java | 2 +-
.../requesthandler/FilterQueryTreeOptimizer.java | 2 +-
...enNestedPredicatesFilterQueryTreeOptimizer.java | 2 +-
...ualitiesToInClauseFilterQueryTreeOptimizer.java | 2 +-
.../core}/requesthandler/OptimizationFlags.java | 2 +-
.../requesthandler/PinotQueryParserFactory.java | 2 +-
.../core}/requesthandler/PinotQueryRequest.java | 2 +-
.../core}/requesthandler/RangeMergeOptimizer.java | 2 +-
.../creator/impl/SegmentColumnarIndexCreator.java | 25 +-
.../segment/index/loader/IndexLoadingConfig.java | 16 +-
.../segment/index/metadata/ColumnMetadata.java | 9 +-
.../forward/BaseChunkSVForwardIndexReader.java | 17 +-
.../FixedByteChunkSVForwardIndexReader.java | 4 +
.../forward/VarByteChunkSVForwardIndexReader.java | 152 +++-
.../apache/pinot/core/util/TableConfigUtils.java | 74 +-
.../function/InbuiltFunctionEvaluatorTest.java | 91 +--
.../core/data/function/InbuiltFunctionsTest.java | 160 ++++-
.../recordtransformer/DataTypeTransformerTest.java | 202 ++++++
.../ExpressionTransformerTest.java | 2 +-
.../recordtransformer/RecordTransformerTest.java | 30 +-
.../pinot/core/data/table/IndexedTableTest.java | 85 +--
.../pinot/core/data/table/TableResizerTest.java | 469 +++++--------
.../ScalarTransformFunctionWrapperTest.java | 8 +-
.../function/AggregationFunctionFactoryTest.java | 21 +
.../PostAggregationFunctionTest.java | 62 ++
.../BrokerRequestToQueryContextConverterTest.java | 165 ++++-
.../impl/SegmentColumnarIndexCreatorTest.java | 12 +-
.../pinot/core/startree/v2/BaseStarTreeV2Test.java | 3 +-
.../v2/DistinctCountBitmapStarTreeV2Test.java | 51 ++
.../pinot/core/util/TableConfigUtilsTest.java | 153 ++++-
.../pinot/queries/BaseMultiValueQueriesTest.java | 4 +-
.../queries/DistinctCountBitmapQueriesTest.java | 248 +++++++
.../queries/DistinctCountThetaSketchTest.java | 61 +-
...nerSegmentAggregationMultiValueQueriesTest.java | 19 +-
...erSegmentAggregationSingleValueQueriesTest.java | 17 +-
...terSegmentAggregationMultiValueQueriesTest.java | 36 +-
...SegmentPartitionedDistinctCountQueriesTest.java | 253 +++++++
.../apache/pinot/queries/StUnionQueriesTest.java | 258 +++++++
.../DefaultAggregationExecutorTest.java | 4 +-
.../AggregationGroupByTrimmingServiceTest.java | 15 +-
.../query/aggregation/groupby/GroupKeyTest.java | 17 +-
.../AggregateMetricsClusterIntegrationTest.java | 130 ++++
.../tests/BaseClusterIntegrationTest.java | 10 +-
.../tests/BaseClusterIntegrationTestSet.java | 6 +
.../tests/ClusterIntegrationTestUtils.java | 4 +-
.../pinot/integration/tests/ClusterTest.java | 8 +-
.../ControllerPeriodicTasksIntegrationTest.java | 4 +-
.../tests/HybridClusterIntegrationTest.java | 15 +-
...ridClusterIntegrationTestCommandLineRunner.java | 8 +-
.../tests/NullHandlingIntegrationTest.java | 145 ++++
.../tests/OfflineClusterIntegrationTest.java | 17 +
.../tests/StarTreeClusterIntegrationTest.java | 3 +-
.../tests/ThetaSketchIntegrationTest.java | 12 +-
.../src/test/resources/avro_data_with_nulls.tar.gz | Bin 0 -> 2973 bytes
.../src/test/resources/test_null_handling.schema | 33 +
.../BaseMultipleSegmentsConversionExecutor.java | 3 +-
.../BaseSingleSegmentConversionExecutor.java | 4 +-
.../pinot/minion/executor/BaseTaskExecutor.java | 10 +
.../minion/executor/MergeRollupTaskExecutor.java | 3 +-
.../pinot/minion/executor/PurgeTaskExecutor.java | 6 +-
.../apache/pinot/perf/BenchmarkCombineGroupBy.java | 21 +-
.../apache/pinot/perf/BenchmarkIndexedTable.java | 21 +-
.../apache/pinot/perf/BenchmarkQueryEngine.java | 2 +-
.../pinot-batch-ingestion-common/pom.xml | 1 +
.../pinot-batch-ingestion-hadoop/pom.xml | 1 +
.../pinot-batch-ingestion-spark/pom.xml | 1 +
.../pinot-batch-ingestion-standalone/pom.xml | 1 +
.../standalone/SegmentGenerationJobRunner.java | 2 +-
.../v0_deprecated/pinot-hadoop/pom.xml | 1 +
.../v0_deprecated/pinot-ingestion-common/pom.xml | 1 +
.../v0_deprecated/pinot-spark/pom.xml | 1 +
pinot-plugins/pinot-file-system/pinot-adls/pom.xml | 1 +
pinot-plugins/pinot-file-system/pinot-gcs/pom.xml | 1 +
pinot-plugins/pinot-file-system/pinot-hdfs/pom.xml | 1 +
pinot-plugins/pinot-file-system/pinot-s3/pom.xml | 1 +
.../apache/pinot/plugin/filesystem/S3PinotFS.java | 13 +-
.../pinot/plugin/filesystem/S3PinotFSTest.java | 13 +-
.../pinot-input-format/pinot-avro-base/pom.xml | 1 +
.../pinot-input-format/pinot-avro/pom.xml | 1 +
.../pinot-confluent-avro/pom.xml | 1 +
...aConfluentSchemaRegistryAvroMessageDecoder.java | 49 +-
pinot-plugins/pinot-input-format/pinot-csv/pom.xml | 1 +
.../pinot-input-format/pinot-json/pom.xml | 1 +
pinot-plugins/pinot-input-format/pinot-orc/pom.xml | 1 +
.../pinot-input-format/pinot-parquet/pom.xml | 6 +
.../parquet/ParquetRecordExtractor.java | 51 --
.../inputformat/parquet/ParquetRecordReader.java | 21 +-
.../plugin/inputformat/parquet/ParquetUtils.java | 173 +----
.../parquet/ParquetRecordExtractorTest.java | 87 ---
.../parquet/ParquetRecordReaderTest.java | 3 +-
.../pinot-input-format/pinot-protobuf/pom.xml | 1 +
.../pinot-input-format/pinot-thrift/pom.xml | 1 +
.../pinot-stream-ingestion/pinot-kafka-0.9/pom.xml | 1 +
.../pinot-stream-ingestion/pinot-kafka-2.0/pom.xml | 1 +
.../pinot-kafka-base/pom.xml | 1 +
pinot-plugins/pom.xml | 18 +-
.../server/starter/helix/AdminApiApplication.java | 4 +-
.../helix/HelixInstanceDataManagerConfig.java | 4 +-
.../server/starter/helix/HelixServerStarter.java | 10 +-
.../starter/helix/SegmentFetcherAndLoader.java | 60 +-
pinot-spi/pom.xml | 4 +
.../apache/pinot/spi/config/table/TableConfig.java | 18 +-
.../apache/pinot/spi/config/table/TierConfig.java | 84 +++
.../java/org/apache/pinot/spi/utils/TimeUtils.java | 12 +
.../spi/utils/builder/TableConfigBuilder.java | 16 +-
.../pinot/tools/admin/PinotAdministrator.java | 6 -
.../tools/admin/command/GenerateDataCommand.java | 5 +
.../command/RealtimeProvisioningHelperCommand.java | 7 +-
.../realtime/provisioning/MemoryEstimator.java | 2 +-
.../converter/PinotSegmentToAvroConverter.java | 5 +
.../PinotServiceManagerAdminApiApplication.java | 4 +-
.../tools/tuner/CollectMetadataForIndexTuning.java | 97 ---
.../tools/tuner/EntriesScannedQuantileReport.java | 89 ---
.../pinot/tools/tuner/IndexTunerCommand.java | 197 ------
.../pinot/tools/tuner/driver/TunerDriver.java | 209 ------
.../meta/manager/JsonFileMetaManagerImpl.java | 247 -------
.../tools/tuner/meta/manager/MetaManager.java | 59 --
.../manager/collector/ColStatsAccumulatorObj.java | 156 -----
.../manager/collector/CompressedFilePathIter.java | 101 ---
.../tuner/meta/manager/collector/PathWrapper.java | 74 --
.../collector/SegmentMetadataCollector.java | 272 --------
.../tuner/query/src/LogInputIteratorImpl.java | 165 -----
.../query/src/parser/BrokerLogParserImpl.java | 76 --
.../stats/wrapper/IndexSuggestQueryStatsImpl.java | 117 ----
.../tools/tuner/strategy/AbstractAccumulator.java | 64 --
.../tools/tuner/strategy/FrequencyAccumulator.java | 54 --
.../pinot/tools/tuner/strategy/FrequencyImpl.java | 196 ------
.../tuner/strategy/ParseBasedAccumulator.java | 62 --
.../tools/tuner/strategy/ParserBasedImpl.java | 444 ------------
.../strategy/QuantileAnalysisAccumulator.java | 89 ---
.../tools/tuner/strategy/QuantileAnalysisImpl.java | 365 ----------
.../pinot/tools/tuner/strategy/TuningStrategy.java | 60 --
.../src/main/resources/appAssemblerScriptTemplate | 47 +-
.../resources/generator/complexWebsite_config.json | 3 +-
.../resources/generator/simpleWebsite_config.json | 3 +-
pom.xml | 16 +-
thirdeye/pom.xml | 7 -
.../app/mirage/endpoints/rootcause.js | 9 +
.../app/pods/anomalies/controller.js | 446 +++---------
.../thirdeye-frontend/app/pods/anomalies/route.js | 144 +---
.../app/pods/anomalies/template.hbs | 2 +-
.../app/pods/components/alert-details/component.js | 48 +-
.../app/pods/components/alert-details/template.hbs | 33 +
.../pods/components/anomaly-summary/component.js | 41 +-
.../pods/components/anomaly-summary/template.hbs | 14 +-
.../app/pods/components/entity-filter/component.js | 9 +-
.../app/pods/components/heatmap-chart/component.js | 8 +-
.../rootcause-custom-baseline/component.js | 104 +++
.../rootcause-custom-baseline/template.hbs | 53 ++
.../rootcause-select-comparison-range/component.js | 43 +-
.../rootcause-select-comparison-range/template.hbs | 16 +
.../app/pods/rootcause/controller.js | 18 +-
.../thirdeye-frontend/app/pods/rootcause/route.js | 57 +-
.../pods/services/rootcause-template/service.js | 18 +
thirdeye/thirdeye-frontend/app/styles/app.scss | 1 +
.../components/rootcause-custom-baseline.scss | 19 +
.../rootcause-select-comparison-range.scss | 7 +
.../app/styles/components/te-modal.scss | 2 +-
.../app/styles/shared/_styles.scss | 51 ++
thirdeye/thirdeye-frontend/app/utils/anomaly.js | 54 +-
thirdeye/thirdeye-pinot/config/h2db.mv.db | Bin 2949120 -> 2490368 bytes
thirdeye/thirdeye-pinot/pom.xml | 4 +-
.../anomaly/ThirdEyeAnomalyApplication.java | 8 +-
.../anomaly/ThirdEyeAnomalyConfiguration.java | 9 +
.../anomaly/alert/util/DataReportHelper.java | 276 --------
.../thirdeye/anomaly/alert/util/EmailHelper.java | 130 ----
.../pinot/thirdeye/anomaly/task/TaskConstants.java | 3 +-
.../pinot/thirdeye/anomaly/task/TaskDriver.java | 31 +-
.../thirdeye/anomaly/task/TaskInfoFactory.java | 5 +-
.../thirdeye/anomaly/task/TaskRunnerFactory.java | 3 +
.../anomaly/utils/ThirdeyeMetricsUtil.java | 6 +
.../api/application/ApplicationResource.java | 134 ++--
.../api/detection/AnomalyDetectionResource.java | 745 ++++++++++++++++++++
.../api/user/dashboard/UserDashboardResource.java | 14 +-
.../common/restclient/ThirdEyeRcaRestClient.java | 2 +-
.../dashboard/RootCauseResourceProvider.java | 107 +++
.../dashboard/ThirdEyeDashboardApplication.java | 216 ++----
.../dashboard/ThirdEyeDashboardModule.java | 217 ++++++
.../dashboard/resources/AdminResource.java | 33 +-
.../resources/AnomalyFlattenResource.java | 8 +-
.../dashboard/resources/AnomalyResource.java | 41 +-
.../dashboard/resources/AutoOnboardResource.java | 16 +-
.../resources/BadRequestWebException.java | 55 ++
.../dashboard/resources/CacheResource.java | 3 +-
.../resources/CustomizedEventResource.java | 5 +-
.../dashboard/resources/DashboardResource.java | 71 +-
.../dashboard/resources/DatasetConfigResource.java | 3 +-
.../dashboard/resources/EntityManagerResource.java | 48 +-
.../dashboard/resources/EntityMappingResource.java | 3 +-
.../dashboard/resources/MetricConfigResource.java | 3 +-
.../resources/OnboardDatasetMetricResource.java | 3 +-
.../dashboard/resources/ResourceUtils.java | 60 ++
.../thirdeye/dashboard/resources/RootResource.java | 216 ++++++
.../dashboard/resources/SummaryResource.java | 104 ++-
.../dashboard/resources/ThirdEyeResource.java | 25 +-
.../dashboard/resources/v2/AnomaliesResource.java | 5 +-
.../dashboard/resources/v2/ConfigResource.java | 5 +-
.../dashboard/resources/v2/DataResource.java | 3 +-
.../resources/v2/DetectionAlertResource.java | 5 +-
.../dashboard/resources/v2/ResourceUtils.java | 17 +
.../dashboard/resources/v2/RootCauseResource.java | 2 +-
.../resources/v2/RootCauseSessionResource.java | 2 +
.../resources/v2/RootCauseTemplateResource.java | 137 ++++
.../resources/v2/alerts/AlertResource.java | 4 +-
.../v2/anomalies/AnomalySearchFilter.java | 152 ++++
.../v2/anomalies/AnomalySearchResource.java | 81 +++
.../resources/v2/anomalies/AnomalySearcher.java | 160 +++++
.../v2/rootcause/AbstractRCAModuleConfig.java | 17 +-
.../rootcause/DimensionAnalysisModuleConfig.java | 82 +++
.../views/contributor/ContributionCell.java | 183 -----
.../contributor/ContributionViewTableBuilder.java | 142 ----
.../views/contributor/ContributorViewHandler.java | 331 ---------
.../views/contributor/ContributorViewResponse.java | 109 ---
.../datalayer/bao/MergedAnomalyResultManager.java | 2 +
.../bao/RootcauseTemplateManager.java} | 11 +-
.../pinot/thirdeye/datalayer/bao/TaskManager.java | 10 +
.../bao/jdbc/MergedAnomalyResultManagerImpl.java | 18 +
.../bao/jdbc/RootcauseTemplateManagerImpl.java | 55 ++
.../datalayer/bao/jdbc/TaskManagerImpl.java | 60 ++
.../thirdeye/datalayer/dao/GenericPojoDao.java | 4 +
.../datalayer/dto/MergedAnomalyResultDTO.java | 1 +
.../dto/RootcauseTemplateDTO.java} | 7 +-
.../datalayer/entity/MergedAnomalyResultIndex.java | 9 +
.../entity/RootcauseTemplateIndex.java} | 45 +-
.../thirdeye/datalayer/pojo/MetricConfigBean.java | 10 +
.../datalayer/pojo/RootcauseTemplateBean.java | 74 ++
.../thirdeye/datalayer/util/DaoProviderUtil.java | 3 +
.../dataset/DatasetAutoOnboardResource.java | 3 +-
.../pinot/thirdeye/datasource/DAORegistry.java | 7 +
.../datasource/loader/DefaultTimeSeriesLoader.java | 7 +-
.../online/OnlineThirdEyeDataSource.java | 199 ++++++
.../pinot/resultset/ThirdEyeResultSetUtils.java | 1 +
.../sql/resources/SqlDataSourceResource.java | 3 +-
.../detection/DetectionConfigurationResource.java | 3 +-
.../detection/DetectionPipelineTaskInfo.java | 20 +-
.../detection/DetectionPipelineTaskRunner.java | 25 +-
.../thirdeye/detection/DetectionResource.java | 16 +-
.../detection/algorithm/DimensionWrapper.java | 5 +-
.../thirdeye/detection/yaml/YamlResource.java | 38 +-
.../yaml/translator/DetectionConfigTranslator.java | 16 +-
.../content/BaseNotificationContent.java | 2 -
.../content/templates/MetricAnomaliesContent.java | 16 +-
.../apache/pinot/thirdeye/util/ThirdEyeUtils.java | 70 +-
.../main/resources/detection-config-template.yml | 24 +
.../thirdeye-pinot/src/main/resources/log4j2.xml | 2 +-
.../pinot/thirdeye/detector/anomaly-report-v2.ftl | 136 ----
.../pinot/thirdeye/detector/anomaly-report.ftl | 150 ----
.../thirdeye/detector/custom-anomaly-report.ftl | 96 ---
.../detector/data-report-by-metric-dimension.ftl | 105 ---
.../detector/metric-anomalies-template.ftl | 47 ++
.../src/main/resources/schema/create-schema.sql | 17 +
.../detection/AnomalyDetectionResourceTest.java | 232 +++++++
.../restclient/MockThirdEyeRcaRestClient.java | 1 -
.../restclient/TestThirdEyeRcaRestClient.java | 2 +-
.../dashboard/handler/ContributorTest.java | 70 --
.../v2/anomalies/AnomalySearcherTest.java | 108 +++
.../bao/TestMergedAnomalyResultManager.java | 38 +
.../bao/TestRootcauseTemplateManager.java | 90 +++
.../alert/scheme/DetectionEmailAlerterTest.java | 1 -
.../alert/scheme/DetectionJiraAlerterTest.java | 2 +-
.../templates/TestMetricAnomaliesContent.java | 97 ++-
.../pinot/thirdeye/util/ThirdEyeUtilsTest.java | 59 ++
.../thirdeye/api/detection/payload-bad-custom.json | 4 +
.../pinot/thirdeye/api/detection/payload-bad.json | 3 +
.../api/detection/payload-good-custom.json | 4 +
.../pinot/thirdeye/api/detection/payload-good.json | 4 +
...rca-highlights-cube-algo-response-rendered.html | 115 ++++
...st-email-rca-highlights-cube-algo-response.json | 150 ++++
.../resources/test-metric-anomalies-template.html | 1 +
535 files changed, 24471 insertions(+), 9628 deletions(-)
create mode 100644 pinot-broker/src/main/java/org/apache/pinot/broker/routing/segmentselector/SegmentLineageBasedSegmentPreSelector.java
copy pinot-tools/src/main/java/org/apache/pinot/tools/tuner/query/src/InputIterator.java => pinot-broker/src/main/java/org/apache/pinot/broker/routing/segmentselector/SegmentPreSelector.java (58%)
copy pinot-broker/src/main/java/org/apache/pinot/broker/{requesthandler/PinotQueryRequest.java => routing/segmentselector/SegmentPreSelectorFactory.java} (59%)
create mode 100644 pinot-broker/src/test/java/org/apache/pinot/broker/routing/segmentselector/SegmentPreSelectorTest.java
delete mode 100644 pinot-common/src/main/java/org/apache/pinot/common/function/DateTimeFunctions.java
create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/function/FunctionUtils.java
create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/function/scalar/ArithmeticFunctions.java
create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/function/scalar/DateTimeFunctions.java
rename pinot-common/src/main/java/org/apache/pinot/common/function/{ => scalar}/JsonFunctions.java (90%)
rename pinot-common/src/main/java/org/apache/pinot/common/function/{ => scalar}/StringFunctions.java (84%)
create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/messages/RoutingTableRebuildMessage.java
rename pinot-tools/src/main/java/org/apache/pinot/tools/tuner/query/src/parser/QueryParser.java => pinot-common/src/main/java/org/apache/pinot/common/tier/PinotServerTierStorage.java (63%)
create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/tier/Tier.java
create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/tier/TierFactory.java
rename pinot-tools/src/main/java/org/apache/pinot/tools/tuner/query/src/InputIterator.java => pinot-common/src/main/java/org/apache/pinot/common/tier/TierSegmentSelector.java (63%)
copy pinot-tools/src/main/java/org/apache/pinot/tools/tuner/query/src/stats/wrapper/AbstractQueryStats.java => pinot-common/src/main/java/org/apache/pinot/common/tier/TierStorage.java (73%)
create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/tier/TimeBasedTierSegmentSelector.java
rename {pinot-core/src/main/java/org/apache/pinot/core/data/recordtransformer => pinot-common/src/main/java/org/apache/pinot/common/utils}/PinotDataType.java (95%)
create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/utils/config/TierConfigUtils.java
create mode 100644 pinot-common/src/test/java/org/apache/pinot/common/tier/TierConfigUtilsTest.java
create mode 100644 pinot-common/src/test/java/org/apache/pinot/common/tier/TierSegmentSelectorTest.java
rename {pinot-core/src/test/java/org/apache/pinot/core/data/recordtransformer => pinot-common/src/test/java/org/apache/pinot/common/utils}/PinotDataTypeTest.java (98%)
create mode 100644 pinot-connectors/pinot-spark-connector/README.md
create mode 100644 pinot-connectors/pinot-spark-connector/documentation/images/spark-pinot-connector-executor-server-interaction.jpg
create mode 100644 pinot-connectors/pinot-spark-connector/documentation/read_model.md
create mode 100644 pinot-connectors/pinot-spark-connector/pom.xml
create mode 100644 pinot-connectors/pinot-spark-connector/src/main/resources/META-INF/services/org.apache.spark.sql.sources.DataSourceRegister
create mode 100644 pinot-connectors/pinot-spark-connector/src/main/scala/org/apache/pinot/connector/spark/connector/FilterPushDown.scala
create mode 100644 pinot-connectors/pinot-spark-connector/src/main/scala/org/apache/pinot/connector/spark/connector/PinotClusterClient.scala
create mode 100644 pinot-connectors/pinot-spark-connector/src/main/scala/org/apache/pinot/connector/spark/connector/PinotServerDataFetcher.scala
create mode 100644 pinot-connectors/pinot-spark-connector/src/main/scala/org/apache/pinot/connector/spark/connector/PinotSplitter.scala
create mode 100644 pinot-connectors/pinot-spark-connector/src/main/scala/org/apache/pinot/connector/spark/connector/PinotUtils.scala
copy pinot-minion/src/main/java/org/apache/pinot/minion/executor/BaseTaskExecutor.java => pinot-connectors/pinot-spark-connector/src/main/scala/org/apache/pinot/connector/spark/connector/query/GeneratedSQLs.scala (66%)
create mode 100644 pinot-connectors/pinot-spark-connector/src/main/scala/org/apache/pinot/connector/spark/connector/query/SQLSelectionQueryGenerator.scala
create mode 100644 pinot-connectors/pinot-spark-connector/src/main/scala/org/apache/pinot/connector/spark/datasource/PinotDataSourceReadOptions.scala
create mode 100644 pinot-connectors/pinot-spark-connector/src/main/scala/org/apache/pinot/connector/spark/datasource/PinotDataSourceReader.scala
copy pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/PinotQueryRequest.java => pinot-connectors/pinot-spark-connector/src/main/scala/org/apache/pinot/connector/spark/datasource/PinotDataSourceV2.scala (53%)
copy pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/PinotQueryRequest.java => pinot-connectors/pinot-spark-connector/src/main/scala/org/apache/pinot/connector/spark/datasource/PinotInputPartition.scala (53%)
create mode 100644 pinot-connectors/pinot-spark-connector/src/main/scala/org/apache/pinot/connector/spark/datasource/PinotInputPartitionReader.scala
copy pinot-minion/src/main/java/org/apache/pinot/minion/executor/BaseTaskExecutor.java => pinot-connectors/pinot-spark-connector/src/main/scala/org/apache/pinot/connector/spark/exceptions/exceptions.scala (69%)
copy pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/PinotQueryRequest.java => pinot-connectors/pinot-spark-connector/src/main/scala/org/apache/pinot/connector/spark/package.scala (60%)
create mode 100644 pinot-connectors/pinot-spark-connector/src/main/scala/org/apache/pinot/connector/spark/utils/HttpUtils.scala
create mode 100644 pinot-connectors/pinot-spark-connector/src/main/scala/org/apache/pinot/connector/spark/utils/Logging.scala
copy {pinot-common => pinot-connectors/pinot-spark-connector}/src/test/resources/log4j2.xml (100%)
create mode 100644 pinot-connectors/pinot-spark-connector/src/test/resources/schema/pinot-schema.json
create mode 100644 pinot-connectors/pinot-spark-connector/src/test/resources/schema/spark-schema.json
copy pinot-controller/src/main/resources/app/theme/typography.ts => pinot-connectors/pinot-spark-connector/src/test/scala/org/apache/pinot/connector/spark/BaseTest.scala (82%)
create mode 100644 pinot-connectors/pinot-spark-connector/src/test/scala/org/apache/pinot/connector/spark/ExampleSparkPinotConnectorTest.scala
create mode 100644 pinot-connectors/pinot-spark-connector/src/test/scala/org/apache/pinot/connector/spark/connector/FilterPushDownTest.scala
create mode 100644 pinot-connectors/pinot-spark-connector/src/test/scala/org/apache/pinot/connector/spark/connector/PinotSplitterTest.scala
create mode 100644 pinot-connectors/pinot-spark-connector/src/test/scala/org/apache/pinot/connector/spark/connector/PinotUtilsTest.scala
create mode 100644 pinot-connectors/pinot-spark-connector/src/test/scala/org/apache/pinot/connector/spark/connector/query/SQLSelectionQueryGeneratorTest.scala
create mode 100644 pinot-connectors/pinot-spark-connector/src/test/scala/org/apache/pinot/connector/spark/datasource/PinotDataSourceReadOptionsTest.scala
copy {pinot-plugins/pinot-batch-ingestion/pinot-batch-ingestion-common => pinot-connectors}/pom.xml (63%)
rename pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/relocation/{RealtimeSegmentRelocator.java => SegmentRelocator.java} (66%)
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/RecommenderDriver.java
copy pinot-tools/src/main/java/org/apache/pinot/tools/tuner/query/src/stats/wrapper/AbstractQueryStats.java => pinot-controller/src/main/java/org/apache/pinot/controller/recommender/exceptions/InvalidInputException.java (70%)
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/io/ConfigManager.java
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/io/InputManager.java
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/io/metadata/FieldMetadata.java
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/io/metadata/SchemaWithMetaData.java
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/io/metadata/TimeFieldSpecMetadata.java
copy pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/FilterQueryTreeOptimizer.java => pinot-controller/src/main/java/org/apache/pinot/controller/recommender/rules/AbstractRule.java (59%)
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/rules/RulesToExecute.java
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/rules/impl/BloomFilterRule.java
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/rules/impl/FlagQueryRule.java
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/rules/impl/InvertedSortedIndexJointRule.java
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/rules/impl/KafkaPartitionRule.java
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/rules/impl/NoDictionaryOnHeapDictionaryJointRule.java
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/rules/impl/PinotTablePartitionRule.java
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/rules/impl/VariedLengthDictionaryRule.java
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/rules/io/FlaggedQueries.java
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/rules/io/configs/IndexConfig.java
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/rules/io/configs/PartitionConfig.java
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/rules/io/params/BloomFilterRuleParams.java
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/rules/io/params/FlagQueryRuleParams.java
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/rules/io/params/InvertedSortedIndexJointRuleParams.java
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/rules/io/params/NoDictionaryOnHeapDictionaryJointRuleParams.java
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/rules/io/params/PartitionRuleParams.java
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/rules/io/params/RecommenderConstants.java
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/rules/utils/FixedLenBitset.java
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/rules/utils/PredicateParseResult.java
create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/recommender/rules/utils/QueryInvertedSortedIndexRecommender.java
create mode 100644 pinot-controller/src/main/resources/app/components/MaterialTree.tsx
create mode 100644 pinot-controller/src/main/resources/app/components/SvgIcons/ZookeeperIcon.tsx
copy pinot-controller/src/main/resources/app/components/{AppLoader.tsx => TabPanel.tsx} (57%)
create mode 100644 pinot-controller/src/main/resources/app/components/Zookeeper/TreeDirectory.tsx
create mode 100644 pinot-controller/src/main/resources/app/pages/ZookeeperPage.tsx
create mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/helix/TableCacheTest.java
create mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/assignment/segment/OfflineNonReplicaGroupTieredSegmentAssignmentTest.java
create mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/assignment/segment/RealtimeNonReplicaGroupTieredSegmentAssignmentTest.java
create mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/retention/SegmentLineageCleanupTest.java
create mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/recommender/TestConfigEngine.java
create mode 100644 pinot-controller/src/test/resources/recommenderInput/BloomFilterInput.json
create mode 100644 pinot-controller/src/test/resources/recommenderInput/DataSizeCalculationInput.json
create mode 100644 pinot-controller/src/test/resources/recommenderInput/FlagQueryInput.json
create mode 100644 pinot-controller/src/test/resources/recommenderInput/InvalidInput1.json
create mode 100644 pinot-controller/src/test/resources/recommenderInput/InvalidInput2.json
create mode 100644 pinot-controller/src/test/resources/recommenderInput/KafkaPartitionRuleInput.json
create mode 100644 pinot-controller/src/test/resources/recommenderInput/KafkaPartitionRuleInput2.json
create mode 100644 pinot-controller/src/test/resources/recommenderInput/NoDictionaryOnHeapDictionaryJointRuleInput.json
create mode 100644 pinot-controller/src/test/resources/recommenderInput/PinotTablePartitionRuleInput.json
create mode 100644 pinot-controller/src/test/resources/recommenderInput/SortedInvertedIndexInput.json
create mode 100644 pinot-controller/src/test/resources/recommenderInput/VariedLengthDictionaryInput.json
create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/data/aggregator/DistinctCountBitmapValueAggregator.java
delete mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/AggregationFunctionVisitorBase.java
create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctCountBitmapAggregationFunction.java
copy pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/{DistinctCountMVAggregationFunction.java => DistinctCountBitmapMVAggregationFunction.java} (57%)
create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/SegmentPartitionedDistinctCountAggregationFunction.java
create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/StUnionAggregationFunction.java
create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/postaggregation/PostAggregationFunction.java
rename {pinot-broker/src/main/java/org/apache/pinot/broker => pinot-core/src/main/java/org/apache/pinot/core}/requesthandler/BrokerRequestOptimizer.java (98%)
rename {pinot-broker/src/main/java/org/apache/pinot/broker => pinot-core/src/main/java/org/apache/pinot/core}/requesthandler/FilterQueryOptimizerRequest.java (97%)
rename {pinot-broker/src/main/java/org/apache/pinot/broker => pinot-core/src/main/java/org/apache/pinot/core}/requesthandler/FilterQueryTreeOptimizer.java (96%)
rename {pinot-broker/src/main/java/org/apache/pinot/broker => pinot-core/src/main/java/org/apache/pinot/core}/requesthandler/FlattenNestedPredicatesFilterQueryTreeOptimizer.java (98%)
rename {pinot-broker/src/main/java/org/apache/pinot/broker => pinot-core/src/main/java/org/apache/pinot/core}/requesthandler/MultipleOrEqualitiesToInClauseFilterQueryTreeOptimizer.java (99%)
rename {pinot-broker/src/main/java/org/apache/pinot/broker => pinot-core/src/main/java/org/apache/pinot/core}/requesthandler/OptimizationFlags.java (98%)
rename {pinot-broker/src/main/java/org/apache/pinot/broker => pinot-core/src/main/java/org/apache/pinot/core}/requesthandler/PinotQueryParserFactory.java (97%)
rename {pinot-broker/src/main/java/org/apache/pinot/broker => pinot-core/src/main/java/org/apache/pinot/core}/requesthandler/PinotQueryRequest.java (96%)
rename {pinot-broker/src/main/java/org/apache/pinot/broker => pinot-core/src/main/java/org/apache/pinot/core}/requesthandler/RangeMergeOptimizer.java (99%)
create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/data/recordtransformer/DataTypeTransformerTest.java
create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/query/postaggregation/PostAggregationFunctionTest.java
create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/startree/v2/DistinctCountBitmapStarTreeV2Test.java
create mode 100644 pinot-core/src/test/java/org/apache/pinot/queries/DistinctCountBitmapQueriesTest.java
create mode 100644 pinot-core/src/test/java/org/apache/pinot/queries/SegmentPartitionedDistinctCountQueriesTest.java
create mode 100644 pinot-core/src/test/java/org/apache/pinot/queries/StUnionQueriesTest.java
create mode 100644 pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/AggregateMetricsClusterIntegrationTest.java
create mode 100644 pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/NullHandlingIntegrationTest.java
create mode 100644 pinot-integration-tests/src/test/resources/avro_data_with_nulls.tar.gz
create mode 100644 pinot-integration-tests/src/test/resources/test_null_handling.schema
delete mode 100644 pinot-plugins/pinot-input-format/pinot-parquet/src/main/java/org/apache/pinot/plugin/inputformat/parquet/ParquetRecordExtractor.java
delete mode 100644 pinot-plugins/pinot-input-format/pinot-parquet/src/test/java/org/apache/pinot/plugin/inputformat/parquet/ParquetRecordExtractorTest.java
create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/config/table/TierConfig.java
delete mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/tuner/CollectMetadataForIndexTuning.java
delete mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/tuner/EntriesScannedQuantileReport.java
delete mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/tuner/IndexTunerCommand.java
delete mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/tuner/driver/TunerDriver.java
delete mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/tuner/meta/manager/JsonFileMetaManagerImpl.java
delete mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/tuner/meta/manager/MetaManager.java
delete mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/tuner/meta/manager/collector/ColStatsAccumulatorObj.java
delete mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/tuner/meta/manager/collector/CompressedFilePathIter.java
delete mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/tuner/meta/manager/collector/PathWrapper.java
delete mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/tuner/meta/manager/collector/SegmentMetadataCollector.java
delete mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/tuner/query/src/LogInputIteratorImpl.java
delete mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/tuner/query/src/parser/BrokerLogParserImpl.java
delete mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/tuner/query/src/stats/wrapper/IndexSuggestQueryStatsImpl.java
delete mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/tuner/strategy/AbstractAccumulator.java
delete mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/tuner/strategy/FrequencyAccumulator.java
delete mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/tuner/strategy/FrequencyImpl.java
delete mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/tuner/strategy/ParseBasedAccumulator.java
delete mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/tuner/strategy/ParserBasedImpl.java
delete mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/tuner/strategy/QuantileAnalysisAccumulator.java
delete mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/tuner/strategy/QuantileAnalysisImpl.java
delete mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/tuner/strategy/TuningStrategy.java
create mode 100644 thirdeye/thirdeye-frontend/app/pods/components/rootcause-custom-baseline/component.js
create mode 100644 thirdeye/thirdeye-frontend/app/pods/components/rootcause-custom-baseline/template.hbs
create mode 100644 thirdeye/thirdeye-frontend/app/pods/services/rootcause-template/service.js
create mode 100644 thirdeye/thirdeye-frontend/app/styles/components/rootcause-custom-baseline.scss
delete mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/anomaly/alert/util/DataReportHelper.java
create mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/api/detection/AnomalyDetectionResource.java
create mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/dashboard/RootCauseResourceProvider.java
create mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/dashboard/ThirdEyeDashboardModule.java
create mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/dashboard/resources/BadRequestWebException.java
create mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/dashboard/resources/ResourceUtils.java
create mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/dashboard/resources/RootResource.java
create mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/dashboard/resources/v2/RootCauseTemplateResource.java
create mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/dashboard/resources/v2/anomalies/AnomalySearchFilter.java
create mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/dashboard/resources/v2/anomalies/AnomalySearchResource.java
create mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/dashboard/resources/v2/anomalies/AnomalySearcher.java
rename pinot-tools/src/main/java/org/apache/pinot/tools/tuner/query/src/stats/wrapper/AbstractQueryStats.java => thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/dashboard/resources/v2/rootcause/AbstractRCAModuleConfig.java (69%)
create mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/dashboard/resources/v2/rootcause/DimensionAnalysisModuleConfig.java
delete mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/dashboard/views/contributor/ContributionCell.java
delete mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/dashboard/views/contributor/ContributionViewTableBuilder.java
delete mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/dashboard/views/contributor/ContributorViewHandler.java
delete mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/dashboard/views/contributor/ContributorViewResponse.java
copy thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/{dashboard/views/contributor/ContributorViewRequest.java => datalayer/bao/RootcauseTemplateManager.java} (69%)
create mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/datalayer/bao/jdbc/RootcauseTemplateManagerImpl.java
rename thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/{dashboard/views/contributor/ContributorViewRequest.java => datalayer/dto/RootcauseTemplateDTO.java} (80%)
rename thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/{dashboard/views/contributor/ContributionViewTable.java => datalayer/entity/RootcauseTemplateIndex.java} (53%)
create mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/datalayer/pojo/RootcauseTemplateBean.java
create mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/datasource/online/OnlineThirdEyeDataSource.java
create mode 100644 thirdeye/thirdeye-pinot/src/main/resources/detection-config-template.yml
delete mode 100644 thirdeye/thirdeye-pinot/src/main/resources/org/apache/pinot/thirdeye/detector/anomaly-report-v2.ftl
delete mode 100644 thirdeye/thirdeye-pinot/src/main/resources/org/apache/pinot/thirdeye/detector/anomaly-report.ftl
delete mode 100644 thirdeye/thirdeye-pinot/src/main/resources/org/apache/pinot/thirdeye/detector/custom-anomaly-report.ftl
delete mode 100644 thirdeye/thirdeye-pinot/src/main/resources/org/apache/pinot/thirdeye/detector/data-report-by-metric-dimension.ftl
create mode 100644 thirdeye/thirdeye-pinot/src/test/java/org/apache/pinot/thirdeye/api/detection/AnomalyDetectionResourceTest.java
delete mode 100644 thirdeye/thirdeye-pinot/src/test/java/org/apache/pinot/thirdeye/dashboard/handler/ContributorTest.java
create mode 100644 thirdeye/thirdeye-pinot/src/test/java/org/apache/pinot/thirdeye/dashboard/resources/v2/anomalies/AnomalySearcherTest.java
create mode 100644 thirdeye/thirdeye-pinot/src/test/java/org/apache/pinot/thirdeye/datalayer/bao/TestRootcauseTemplateManager.java
create mode 100644 thirdeye/thirdeye-pinot/src/test/resources/org/apache/pinot/thirdeye/api/detection/payload-bad-custom.json
create mode 100644 thirdeye/thirdeye-pinot/src/test/resources/org/apache/pinot/thirdeye/api/detection/payload-bad.json
create mode 100644 thirdeye/thirdeye-pinot/src/test/resources/org/apache/pinot/thirdeye/api/detection/payload-good-custom.json
create mode 100644 thirdeye/thirdeye-pinot/src/test/resources/org/apache/pinot/thirdeye/api/detection/payload-good.json
create mode 100644 thirdeye/thirdeye-pinot/src/test/resources/test-email-rca-highlights-cube-algo-response-rendered.html
create mode 100644 thirdeye/thirdeye-pinot/src/test/resources/test-email-rca-highlights-cube-algo-response.json
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
[incubator-pinot] 01/01: Fix race condition in MetricsHelper Bump
up dropwizard metrics version to 4.1.2
Posted by jl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jlli pushed a commit to branch add-metrics-jmx
in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git
commit b9988003c0f9eeb797830b4262a040b5f69c92f3
Author: Jack Li(Analytics Engineering) <jl...@jlli-mn1.linkedin.biz>
AuthorDate: Wed Aug 12 17:24:14 2020 -0700
Fix race condition in MetricsHelper
Bump up dropwizard metrics version to 4.1.2
---
.../org/apache/pinot/common/metrics/AbstractMetrics.java | 2 ++
.../JmxReporterMetricsRegistryRegistrationListener.java | 6 ++++++
.../org/apache/pinot/common/metrics/MetricsHelper.java | 15 +++++++++------
pom.xml | 2 +-
4 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/pinot-common/src/main/java/org/apache/pinot/common/metrics/AbstractMetrics.java b/pinot-common/src/main/java/org/apache/pinot/common/metrics/AbstractMetrics.java
index 5178fc1..cf40f69 100644
--- a/pinot-common/src/main/java/org/apache/pinot/common/metrics/AbstractMetrics.java
+++ b/pinot-common/src/main/java/org/apache/pinot/common/metrics/AbstractMetrics.java
@@ -376,6 +376,7 @@ public abstract class AbstractMetrics<QP extends AbstractMetrics.QueryPhase, M e
*/
public void initializeGlobalMeters() {
M[] meters = getMeters();
+ LOGGER.info("Initializing global {} meters", meters.length);
for (M meter : meters) {
if (meter.isGlobal()) {
@@ -384,6 +385,7 @@ public abstract class AbstractMetrics<QP extends AbstractMetrics.QueryPhase, M e
}
G[] gauges = getGauges();
+ LOGGER.info("Initializing global {} gauges", gauges.length);
for (G gauge : gauges) {
if (gauge.isGlobal()) {
setValueOfGlobalGauge(gauge, 0);
diff --git a/pinot-common/src/main/java/org/apache/pinot/common/metrics/JmxReporterMetricsRegistryRegistrationListener.java b/pinot-common/src/main/java/org/apache/pinot/common/metrics/JmxReporterMetricsRegistryRegistrationListener.java
index 1c2cf15..9e6cb13 100644
--- a/pinot-common/src/main/java/org/apache/pinot/common/metrics/JmxReporterMetricsRegistryRegistrationListener.java
+++ b/pinot-common/src/main/java/org/apache/pinot/common/metrics/JmxReporterMetricsRegistryRegistrationListener.java
@@ -20,6 +20,8 @@ package org.apache.pinot.common.metrics;
import com.yammer.metrics.core.MetricsRegistry;
import com.yammer.metrics.reporting.JmxReporter;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
@@ -27,8 +29,12 @@ import com.yammer.metrics.reporting.JmxReporter;
*
*/
public class JmxReporterMetricsRegistryRegistrationListener implements MetricsRegistryRegistrationListener {
+ private static final Logger LOGGER = LoggerFactory.getLogger(JmxReporterMetricsRegistryRegistrationListener.class);
+
@Override
public void onMetricsRegistryRegistered(MetricsRegistry metricsRegistry) {
+ LOGGER.info("Registering JmxReporterMetricsRegistryRegistrationListener");
new JmxReporter(metricsRegistry).start();
+ LOGGER.info("Number of metrics in metricsRegistry: {}", metricsRegistry.allMetrics().size());
}
}
diff --git a/pinot-common/src/main/java/org/apache/pinot/common/metrics/MetricsHelper.java b/pinot-common/src/main/java/org/apache/pinot/common/metrics/MetricsHelper.java
index 9d2933f..f6e2eb1 100644
--- a/pinot-common/src/main/java/org/apache/pinot/common/metrics/MetricsHelper.java
+++ b/pinot-common/src/main/java/org/apache/pinot/common/metrics/MetricsHelper.java
@@ -34,7 +34,7 @@ import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import java.util.WeakHashMap;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
import org.apache.pinot.spi.env.PinotConfiguration;
import org.slf4j.Logger;
@@ -44,10 +44,10 @@ import org.slf4j.LoggerFactory;
public class MetricsHelper {
private static final Logger LOGGER = LoggerFactory.getLogger(MetricsHelper.class);
- private static Map<MetricsRegistry, Object> metricsRegistryMap = new WeakHashMap<MetricsRegistry, Object>();
+ private static Map<MetricsRegistry, Boolean> metricsRegistryMap = new ConcurrentHashMap<>();
- private static Map<MetricsRegistryRegistrationListener, Object> metricsRegistryRegistrationListenersMap =
- new WeakHashMap<MetricsRegistryRegistrationListener, Object>();
+ private static Map<MetricsRegistryRegistrationListener, Boolean> metricsRegistryRegistrationListenersMap =
+ new ConcurrentHashMap<>();
/**
* Initializes the metrics system by initializing the registry registration listeners present in the configuration.
@@ -68,6 +68,7 @@ public class MetricsHelper {
clazz.getDeclaredConstructor();
MetricsRegistryRegistrationListener listener = defaultConstructor.newInstance();
+ LOGGER.info("Registering metricsRegistry to listener {}", listenerClassName);
addMetricsRegistryRegistrationListener(listener);
} catch (Exception e) {
LOGGER
@@ -75,6 +76,7 @@ public class MetricsHelper {
}
}
}
+ LOGGER.info("Number of listeners got registered: {}", metricsRegistryRegistrationListenersMap.size());
}
/**
@@ -86,10 +88,11 @@ public class MetricsHelper {
*/
public static void addMetricsRegistryRegistrationListener(MetricsRegistryRegistrationListener listener) {
synchronized (MetricsHelper.class) {
- metricsRegistryRegistrationListenersMap.put(listener, null);
+ metricsRegistryRegistrationListenersMap.put(listener, Boolean.TRUE);
// Fire events to register all previously registered metrics registries
Set<MetricsRegistry> metricsRegistries = metricsRegistryMap.keySet();
+ LOGGER.info("Number of metrics registry: {}", metricsRegistries.size());
for (MetricsRegistry metricsRegistry : metricsRegistries) {
listener.onMetricsRegistryRegistered(metricsRegistry);
}
@@ -103,7 +106,7 @@ public class MetricsHelper {
*/
public static void registerMetricsRegistry(MetricsRegistry registry) {
synchronized (MetricsHelper.class) {
- metricsRegistryMap.put(registry, null);
+ metricsRegistryMap.put(registry, Boolean.TRUE);
// Fire event to all registered listeners
Set<MetricsRegistryRegistrationListener> metricsRegistryRegistrationListeners =
diff --git a/pom.xml b/pom.xml
index 48b7282..aa9d858 100644
--- a/pom.xml
+++ b/pom.xml
@@ -140,7 +140,7 @@
<!-- hadoop-common, spark-core use commons-net -->
<commons-net.version>3.1</commons-net.version>
<!-- helix-core, spark-core use libraries from io.dropwizard.metrics -->
- <dropwizard-metrics.version>3.2.3</dropwizard-metrics.version>
+ <dropwizard-metrics.version>4.1.2</dropwizard-metrics.version>
<snappy-java.version>1.1.1.7</snappy-java.version>
<log4j.version>2.11.2</log4j.version>
<netty.version>4.1.42.Final</netty.version>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org