You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by xi...@apache.org on 2021/02/18 00:13:11 UTC

[incubator-pinot] branch validate_json_path_function_in_sql_compile_time updated (53807b8 -> 8010929)

This is an automated email from the ASF dual-hosted git repository.

xiangfu pushed a change to branch validate_json_path_function_in_sql_compile_time
in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git.


 discard 53807b8  Adding validation for json_extract_key and json_extract_scalar functions during sql compilation phase to avoid empty response
     add 9942424  Add upsert to readme (#6221)
     add e3b0bfc  scalar functions for array (#6105)
     add bee125e  showing Query Result as blank table and json format toggle even if query response has 0 records (#6223)
     add d033a11  Add profile release-sign-artifacts for pinot-spark-connector (#6229)
     add ca8545b  [TE] frontend - abachuk/alert-details-ui-tweaks - formatting alert header (#6210)
     add 2d446d2  [TE] Remove maven-shade-plugin and switch from org.reflections to io.classgraph (#6238)
     add 4586279  [TE]frontend - Refactor detection-health and stats component (#6227)
     add 8ce2271  Adding support of logical functions AND and OR (#6249)
     add c8d7efc  Make default operator for multi-term and phrase text search queries configurable (#6251)
     add bd2a6ce  Bug-fix: Fix logging potentialy null variable. (#6252)
     add 750af31  Always read start/end time in millis from the segment ZK metadata (#6239)
     add 5a53fbe  Replace sql literal regex replace (#6258)
     add 9eaea99  Add stream and batch to ingestionConfig (#6247)
     add f40c2ac  Set S3 Bucket ACL policy from config (#6272)
     add 96647ad  Allow setting HTTP headers and parameters during schema upload (#6270)
     add c757f24  Update download page for release 0.6.0 (#6274)
     add b009fd8  Improve comparison coverage for selection SQL queries in ClusterIntegrationTestUtils(#6193) (#6224)
     add 2a04de8  [TE] rest-api enhance implementation to calculate alert performance (#6273)
     add bd2905f  Fix download link for 0.6.0 (#6278)
     add f099515  Update snapshot version to 0.7.0-SNAPSHOT (#6279)
     add 6d655f9  Adding config utils to apply environment variables and apply it to table config (#6271)
     add fa7b0e4  Perf optimization for SQL GROUP BY ORDER BY (#6225)
     add 4a6e094  add api for cluster manager to get table state (#6211)
     add c4f8ec1  update superset source repo in superset docker image build script (#6283)
     add fe9d3c7   Support for text index without raw (#6284)
     add 50df5cb  Enhance forward index reader for better performance (#6262)
     add 318c107  Rename segmentPushType and SegmentPushFrequency to segmentIngestionType and segmentIngestionFrequency (#6289)
     add 0dee4d1  [TE] fix changing createdTime of anomalies (#6269)
     add 3eb0f9c  Use sorted index based filtering only for dictionary encoded column (#6288)
     add b31b82e  [TE] frontend - harleyjj/alert-details - change alert charting logic to be agnostic of whether anomaly timestamps are included in data timestamps (#6260)
     add d6862a2  Adding custom metadata props into both segment metadata properties file and zk metadata record (#6299)
     add 5b0d1df  [TE] frontend harleyjj/rca - double encode filter value to protect against special characters (#6281)
     add 0565f86  Make plugins to be configurable in environment variables (#6294)
     add 66e9394  Improve performance for distinct queries (#6285)
     add 3b7bfd2  [TE] frontend - rca/harleyjj - Enable forecast baseline in RCA UI (#6304)
     add 4be939a  some geo function improvements (#6306)
     add 33e7ec8  [TE](feat): add formatting pipeline for js, hbs code (#6245)
     add 47a30ba  [TE]frontend - Build new subroutes for single-metric-anomalies and composite-anomalies (#6263)
     add e8ceb2e  [TE] rest-api - harleyjj/rca - add forecast as baseline option for metric/timeseries endpoint (#6265)
     add f898c18  support to add offline and realtime tables, individually able to add schema and schema listing in UI (#6296)
     add 9ce5d78  Include exception message in the ControllerApplicationException for /validate (#6312)
     add 3cf3154  [TE]frontend - Build the tree parser for composite anomalies (#6290)
     add 9a5cc4b  Use StringUtils.replace to avoid regex for setting literal expression (#6314)
     add 41a7722  Fix: Close HelixAdmin appropriately, when setting up Helix Cluster. (#6315)
     add 8ecfd4a  Update pinot_tests.yml (#6316)
     add 41a3fc4  API to get status of consumption of a table (#6322)
     add 70be687  Enhance JSONRecordReader to handle GZIP compressed JSON files. (#6321)
     add 682c95f  Decimal percentile support. (#6323)
     add 22d25ff  [TE]frontend - Refactor to integrate the Performance Stats API into the front-end (#6310)
     add fe2a63c  use RoaringBitmapWriter and direct to ByteBuffer serialization in BitmapInvertedIndexCreators (#6320)
     add ed9f122  fixing bugs in bootstrap table tool (#6335)
     add a6446e9  [Controller UI] show cluster name (#6338)
     add c124334  Adding Pinot Minion client (#6339)
     add d6484f6  Added proper tooltips, ability to enable-disable table state and fixed page crash on reload status (#6327)
     add 7c0e22d  Update .travis.yml (#6342)
     add 4ba7204  Fix table cache in pinot-broker (#6329)
     add 64d1054  Adding offline dim table creation and assignment (#6286)
     add 75f9fd3  Add a Controller endpoint to return table creation time (#6331)
     add f2c37d5  Creating a pluggable interface for Table config tuner (#6255)
     add e691a38  Fix the logging bug in star-tree builder (#6348)
     add 2796b83  Adding json path functions to extract values from json object (#6347)
     add 4183ffe  simplify batch config and corresponding utils (#6332)
     add bdeec8d  Fixing the issue with result schema (#6353)
     add 9644350  add redis module dependency (#6357)
     add 946ff55  [TE] fix javassist version (#6356)
     add fb42e72  [TE]frontend - Add breadcrumb component (#6350)
     add a76e766  Broker time range pruning(#6189) (#6259)
     add 5432099  [TE]frontend - Add a lightweight PubSub system (#6358)
     add 8e41708  6355 don't lose authority portion of inputDirURI (#6359)
     add 2ea0185  Enhance task schedule api for single type/table support (#6352)
     add 79b12ed  Fix empty data table for distinct query (#6363)
     add 0522acc  pinot-controller unit test suite. (#6326)
     add 003442a  [TE]frontend - Fix the display for "NaN" values in performance-stats (#6365)
     add 39a24cf  [TE]frontend - THIRDEYE-3772 - create a new 'composite-anomalies' component plus very simple unit integration test (#6369)
     add 75b0792  Fix mvn profile name for github-actions. (#6370)
     add 2a7d506  Improve and bug fix on  json record extraction logic (#6372)
     add 85cf696  Fixing the issue for realtime table creation with env variables in stream configs (#6373)
     add 10dad7d  Ingestion resource with APIs for ingestion via file/URI (#6354)
     add b8bc74f  compatibility test: create/delete table operations (#6360)
     add 7580ae4  [TE]frontend - Integrate Performance Stats into Composite Anomalies (#6366)
     add 33de6dc  Introduce DimensionTableDataManager (#6346)
     add 6d8b09e  Update Helm readme with latest incubator repo (#6381)
     add 1bb6c14  Add FST index which works on top of REGEXP_LIKE operator. (#6120)
     add fed6750  Adding a version option to pinot admin to show all the component versions (#6380)
     add e268a79  Adding S3PinotFS as one of the default PinotFS for Quickstart (#6379)
     add ea0bfa0  Add json index support (#6216)
     add 4ea345d  Adding more rolling file log4j2 configs for docker images (#6390)
     add b936f90  Update pinot realtime to match helm chart. (#6392)
     add 6b43aef  cleanup tar.gz segment files on job exit (#6385)
     add 13bd443  Fix remaining links to outdated helm chart repos. (#6394)
     add 93a4515  Adding Pinot minion segment generation and push task. (#6340)
     add 19101e9  Make required interfaces or classes serializable for spark (#6384)
     add 37f2e28  Segment reset API (#6336)
     add e87e141  [TE] limit reflection scanning range (#6405)
     add 02ab193  remove accidental junit imports (#6404)
     add 8fcb17d  Compatibility test for segment operations upload and delete (#6382)
     add 8def748  Make minion tasks pluggable via reflection (#6395)
     add f09de82  Fix the raw single column distinct executors (#6411)
     add 7e0398b  data gen - use unique output file names in csv mode (#6407)
     add e11bcce  Real-time json index (#6408)
     add d04785c  Introduce 'LOOKUP' Transform Function (#6383)
     add 3d4c98d  [TE]frontend - Add support for Group Constituents and Entity Metric components (#6421)
     add e018695  Fix escape character in transform function literals (#6416)
     add a5c4ed2  Update groovy (#6425)
     add 3e4c325  [INFRA] Cancel the previous builds (#6429)
     add 3d24302  refactor AnomaliesResponses to avoid duplicate code (#6406)
     add 19e3d51  [TE] endpoint - harleyjj/rca - add forecast, upper, lower, and yoXy to aggregate/chunk enpoint (#6432)
     add 33830cb  [TE] suppress the anomaly if current value is NaN (#6428)
     add 68fbb9c  [TE] frontend - harleyjj/rca - display metric funnel in metrics table when forecast selected (#6333)
     add 99fe289  [TE] fix dimensional summary in emails (#6443)
     add 72a7849  Support confluent schema registry (#6434)
     add 832ece7  Bug Fix column metadata, read from the correct property config for hasFSTIndex (#6441)
     add 8d3d4d4  Merge H3-index branch to master (#6409)
     add e8c4636  Fixing the issue that raw table name extracts from segment metadata might contain _OFFLINE suffix (#6445)
     add 950295a  Fix gcs listFiles (#6426)
     add d83e371  Adding ImportData sub command in pinot admin (#6396)
     add 28882ba  Adding pinot minion component into helm (#6430)
     add 8085fb7  setting default Data Type while setting type in Add Schema dialog (#6452)
     add ec29b82  additional scalar functions for array type (#6446)
     add 5de1d4b  Fixing pinot helm 0.2.3 package (#6459)
     add b592c8c  Adding CRON scheduler for Pinot tasks (#6451)
     add 60c802c  Fixing pinot hadoop fs isDirectory method (#6461)
     add 174a77b  [TE]frontend - Add support for feedback propagation for Entity Monitoring (#6447)
     add 079f27a  Cleanup dictionary and forward index loading in SegmentPreProcessor (#6455)
     add a36d1c0  [TE] Feedback propagation (#6463)
     add a56f330  Broker time segment pruner(#6189): (#6462)
     add 0417e20  additional string scalar functions (#6458)
     add 79c9460  Dimension table storage quota config and validation (#6465)
     add 2e7cdcd  Always store raw table name in segment metadata (#6457)
     add 4a89534  Replace BrokerRequestOptimizer with QueryOptimizer to also optimize the PinotQuery (#6423)
     add 0e8c0e2  [TE] clean up template as to not repeat code and reduce conditionals (#6448)
     add f17be35  Adding cluster config to config number of concurrent tasks per instance for minion task: SegmentGenerationAndPushTaskGenerator (#6468)
     add 8c8897e  Simplify SegmentGenerationAndPushTask handling getting schema and table config (#6469)
     add f7af798  Handle scheduler calls with proper response when it's disabled. (#6474)
     add 7649f9f  Remove the usage of deprecated range delimiter (#6475)
     add 04e2bcc  Update superset docker image repo (#6477)
     add dde3c18  TLS-support for client-pinot and pinot-internode connections (#6418)
     add 830eb94  [TE]frontend - Activate the composite anomalies route (#6472)
     add ec15f41  Bump up quartz version to 2.3.2 to prevent XXE (#6484)
     add 63d4266  Create CONTRIBUTING.md (#6481)
     add e209230  Create CODE_OF_CONDUCT.md (#6482)
     add e5bf05b  Fix the overflow issue when loading the large dictionary into the buffer (#6476)
     add f292730  Fix missing copyrights (#6489)
     add 98803dd  Adding pinot minion metrics to jmx prometheus reporter (#6488)
     add bacaed2  Guard against multiple consuming segments for same partition (#6483)
     add fde307b  Adding scalar function JsonPathArray to extract arrays from json (#6490)
     add d7f4fec  Support chained transform functions (#6495)
     add 28bfad9  Fixing -segmentNameGeneratorType help message (#6498)
     add cf35e6e  Fixing pinot controller metrics prefix (#6499)
     add 56df592  Fixing groovy parser with back slash (#6501)
     add b8f70e7  Support generating derived column during segment load (#6494)
     add 6c30c76  [TE] migrate PQL queries to standard SQL (#6486)
     add 1ae53fe  Adding cron scheduler metrics reporting (#6502)
     add 0f398a7  Fixing quickstart launcher from IDE (#6508)
     add 209f57c  [TE]frontend - Add filtering support for Entity Monitoring tables (#6514)
     add 12ee45c  use default broker and controller ports if not defined (#6515)
     add 84ae4f1  [TE] SQL migration - escape the keywords (#6528)
     add d1a0688  [THIRDEYE-3799](fix): the alert item style fix (#6504)
     add a2f0dbd  update superset k8s example to latest image (#6534)
     add b51518f  Fix hadoop batch ingest (#6506)
     add 91d1679  Default to enable controller task scheduler for minion tasks (#6536)
     add 2be1520  Update DimTableSegmentAssignment to include both OFFLINE and REALTIME servers (#6530)
     add 421828d  Allow tar gz with > 8gb size (#6533)
     add 04265e0  JSON_MATCH predicate bug fix and test cases. (#6535)
     add 20ff276  Add date_trunc to scalar functions to support date_trunc during ingestion (#6538)
     add 21b83d9  [TE] Update the formatter to handle composite alert to extract metric names (#6544)
     add 9708292  Move SegmentGenerationUtils from module pinot-ingestion-common to pinot-common (#6537)
     add c736fbe  Changed the compat script to run single yaml file (#6550)
     add 43a3701  [TE]frontend - Change the formatting of metric display in exploration page (#6545)
     add 27e34d7  Add Access Control for REST endpoints of Controller - Declarative Approach (#6507)
     add e62addb  [TE]: fix eslint reported issue under the authenticators, helpers, and mirage folder (#6551)
     add 162d0e6  [TE]frontend - Upgrade from ember v2.18 to v3.0.0 (#6553)
     add d03629e  add optional http basic auth to pinot broker (#6552)
     add 2ee498c  [TE] escape Pinot timespect SQL query (#6566)
     add 8013a2d  Use minion data directory as tmp directory for SegmentGenerationAndPushTask (#6560)
     add a6196ba  Adding metrics for minion tasks status (#6549)
     add 779422f  [TE] update date format when send to Jira API (#6563)
     add e4503a3  Support S3 with server side encryption mode aws:kms (#6565)
     add 503d0fe  Update ADLSGen2PinotFS auth; Introduce unit tests (#6531)
     add 4effcf9  Upgrade zookeeper version to 3.5.8 (#6558)
     add 7ac8650  Increase code coverage for pinot-java-client (#6414)
     add 0cff39d  Fix the raw bytes column in real-time segment (#6574)
     add 1e62f70  Implement execute method of prepared statement class in JDBC (#6570)
     add 29cf33b  Enhance StarTreeIndexViewer to support multiple trees (#6569)
     add 19e96b5  Optimize group-key generator (#6559)
     add 0c4fb58  Add the isolation level config to kafka ingestion to support Kafka transactions (#6580)
     add 50ac78c  URL encoded generated segment tar name (#6571)
     add a733317  [TE]: Fix all eslint warning/error under utils and shared folders (#6542)
     add d0177f9  [TE]: Fix all eslint reported errors and warnings under app/pods/components (#6568)
     add abf21ed  Compatibility test: streamOp (#6419)
     add b97cce5  [TE]: fix eslint reported issue under the serializers, the models, and the adapters folders (#6547)
     add a95c9b2  [TE] Enable autotuning API (#6584)
     add 7a94181  Fix QueryRunner for multiple runs (#6582)
     add 1a5a3e0  [TE] Enable breakdown endpoint to handle forecast offset, repair metric funnel async, and log stacktrace for more meaningful error logs (#6578)
     add e517dda  Fixing schema and table config for githubEvents demo (#6585)
     add 60b0c5f  Handle creation of segments with 0 rows  (#6466)
     add 600b91b  Update the default kafka consumer factory class name to use Kafka 2.0 (#6587)
     add 96113f8  Adding validation for json_extract_key and json_extract_scalar functions during sql compilation phase to avoid empty response
     add 8010929  Address comments

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   (53807b8)
            \
             N -- N -- N   refs/heads/validate_json_path_function_in_sql_compile_time (8010929)

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.

No new revisions were added by this update.

Summary of changes:
 .github/workflows/pinot_tests-workflow-run.yml     |    37 +
 .github/workflows/pinot_tests.yml                  |     6 +
 .github/workflows/scripts/.pinot_quickstart.sh     |    27 +
 .github/workflows/scripts/.pinot_test.sh           |     4 +-
 .gitignore                                         |     3 +-
 .travis.yml                                        |    14 +
 CODE_OF_CONDUCT.md                                 |    96 +
 CONTRIBUTING.md                                    |   234 +
 README.md                                          |     2 +
 compatibility-verifier/compCheck.sh                |    38 +-
 docker/images/pinot-superset/Dockerfile            |     5 +-
 docker/images/pinot-superset/README.md             |     6 +-
 docker/images/pinot-superset/requirements-db.txt   |     1 +
 .../images/pinot/etc/conf/pinot-broker-log4j2.xml  |    62 +
 .../pinot/etc/conf/pinot-controller-log4j2.xml     |    61 +
 .../images/pinot/etc/conf/pinot-server-log4j2.xml  |    61 +
 .../etc/jmx_prometheus_javaagent/configs/pinot.yml |    57 +-
 kubernetes/helm/README.md                          |     4 +-
 kubernetes/helm/index.yaml                         |    50 +-
 kubernetes/helm/pinot-0.2.3.tgz                    |   Bin 0 -> 24664 bytes
 kubernetes/helm/pinot/Chart.yaml                   |     4 +-
 kubernetes/helm/pinot/README.md                    |    25 +-
 .../helm/pinot/pinot-realtime-quickstart.yml       |   684 +-
 kubernetes/helm/pinot/requirements.lock            |     2 +-
 kubernetes/helm/pinot/requirements.yaml            |     2 +-
 kubernetes/helm/pinot/templates/_helpers.tpl       |    23 +
 .../helm/pinot/templates/minion/configmap.yaml     |    30 +
 .../pinot/templates/minion/service-headless.yaml   |    38 +
 .../helm/pinot/templates/minion/service.yaml       |    38 +
 .../helm/pinot/templates/minion/statefulset.yml    |   108 +
 kubernetes/helm/pinot/values.yaml                  |    51 +
 kubernetes/helm/superset.yaml                      |     4 +-
 kubernetes/helm/thirdeye/Chart.lock                |     6 +-
 kubernetes/helm/thirdeye/Chart.yaml                |     3 +-
 pinot-broker/pom.xml                               |     2 +-
 .../pinot/broker/api/HttpRequesterIdentity.java    |    47 +
 .../broker/api/resources/PinotClientRequest.java   |    33 +-
 .../broker/BasicAuthAccessControlFactory.java      |   169 +
 .../broker/broker/BrokerAdminApiApplication.java   |    23 +-
 .../broker/broker/helix/HelixBrokerStarter.java    |    29 +-
 .../requesthandler/BaseBrokerRequestHandler.java   |   126 +-
 .../SingleConnectionBrokerRequestHandler.java      |     5 +-
 .../pinot/broker/routing/RoutingManager.java       |     4 +-
 .../instanceselector/BaseInstanceSelector.java     |     2 -
 .../routing/segmentpruner/EmptySegmentPruner.java  |   130 +
 .../segmentpruner/PartitionSegmentPruner.java      |     7 +-
 .../routing/segmentpruner/SegmentPruner.java       |     3 +-
 .../segmentpruner/SegmentPrunerFactory.java        |    62 +-
 .../routing/segmentpruner/TimeSegmentPruner.java   |   356 +
 .../routing/segmentpruner/interval/Interval.java   |   104 +
 .../segmentpruner/interval/IntervalTree.java       |   201 +
 .../segmentselector/OfflineSegmentSelector.java    |     8 +-
 .../segmentselector/RealtimeSegmentSelector.java   |    31 +-
 .../routing/segmentselector/SegmentSelector.java   |     3 +-
 .../routing/timeboundary/TimeBoundaryManager.java  |   104 +-
 .../broker/broker/BasicAuthAccessControlTest.java  |   152 +
 .../broker/pruner/SegmentZKMetadataPrunerTest.java |     2 +-
 .../request/PqlAndCalciteSqlCompatibilityTest.java |   161 +-
 .../requesthandler/BrokerRequestOptionsTest.java   |    44 +-
 .../LiteralOnlyBrokerRequestTest.java              |     4 +-
 .../requesthandler/RangeMergeOptimizerTest.java    |    20 +-
 .../broker/routing/IntervalST/IntervalTest.java    |    57 +
 .../routing/IntervalST/IntervalTreeTest.java       |    89 +
 .../routing/segmentpruner/SegmentPrunerTest.java   |   512 +-
 .../timeboundary/TimeBoundaryManagerTest.java      |    19 +
 pinot-clients/pinot-java-client/pom.xml            |     7 +-
 .../apache/pinot/client/DynamicBrokerSelector.java |    12 +-
 .../apache/pinot/client/ExternalViewReader.java    |     8 +-
 .../pinot/client/AggregationResultSetTest.java     |   119 +
 .../pinot/client/DynamicBrokerSelectorTest.java    |   109 +
 .../apache/pinot/client/ExecutionStatsTest.java    |   182 +
 .../pinot/client/ExternalViewReaderTest.java       |   116 +
 .../apache/pinot/client/GroupByResultSetTest.java  |   122 +
 .../pinot/client/ResultTableResultSetTest.java     |   142 +
 .../pinot/client/SelectionResultSetTest.java       |   110 +
 .../org/apache/pinot/client/TextTableTest.java     |    74 +
 pinot-clients/pinot-jdbc-client/pom.xml            |     2 +-
 .../pinot/client/PinotPreparedStatement.java       |    35 +-
 pinot-clients/pom.xml                              |     2 +-
 pinot-common/pom.xml                               |    10 +-
 .../antlr4/org/apache/pinot/pql/parsers/PQL2.g4    |     4 +
 .../config/tuner/NoOpTableTableConfigTuner.java    |    38 +
 .../config/tuner/RealTimeAutoIndexTuner.java       |    51 +
 .../config/tuner/TableConfigTunerRegistry.java     |    77 +
 .../pinot/common/function/DateTimeUtils.java       |   152 +
 .../pinot/common/function/FunctionInvoker.java     |    19 +-
 .../pinot/common/function/FunctionUtils.java       |    32 +
 .../apache/pinot/common/function/TimeZoneKey.java  |   266 +
 .../common/function/TransformFunctionType.java     |     4 +
 .../common/function/scalar/ArrayFunctions.java     |   139 +
 .../common/function/scalar/DateTimeFunctions.java  |    52 +
 .../common/function/scalar/JsonFunctions.java      |   143 +
 .../common/function/scalar/StringFunctions.java    |   127 +-
 .../pinot/common/metadata/ZKMetadataProvider.java  |     5 +-
 .../common/metadata/segment/SegmentZKMetadata.java |   294 +-
 .../apache/pinot/common/metrics/BrokerMeter.java   |     3 +
 .../pinot/common/metrics/ControllerGauge.java      |     8 +-
 .../pinot/common/metrics/ControllerMeter.java      |     3 +-
 .../pinot/common/metrics/ControllerTimer.java      |     2 +-
 .../apache/pinot/common/metrics/ServerMeter.java   |     2 +
 .../apache/pinot/common/minion/MinionClient.java   |   122 +
 .../common/minion/MinionRequestURLBuilder.java     |    93 +
 .../pinot/common/request/AggregationInfo.java      |    52 +-
 .../apache/pinot/common/request/BrokerRequest.java |   353 +-
 .../apache/pinot/common/request/DataSource.java    |    11 +-
 .../apache/pinot/common/request/Expression.java    |    35 +-
 .../pinot/common/request/ExpressionType.java       |     4 +-
 .../pinot/common/request/FilterOperator.java       |    11 +-
 .../apache/pinot/common/request/FilterQuery.java   |    46 +-
 .../pinot/common/request/FilterQueryMap.java       |    11 +-
 .../org/apache/pinot/common/request/Function.java  |    21 +-
 .../org/apache/pinot/common/request/GroupBy.java   |    85 +-
 .../pinot/common/request/HavingFilterQuery.java    |    46 +-
 .../pinot/common/request/HavingFilterQueryMap.java |    11 +-
 .../apache/pinot/common/request/Identifier.java    |    16 +-
 .../pinot/common/request/InstanceRequest.java      |    76 +-
 .../org/apache/pinot/common/request/Literal.java   |     4 +-
 .../apache/pinot/common/request/PinotQuery.java    |    61 +-
 .../apache/pinot/common/request/QuerySource.java   |    11 +-
 .../org/apache/pinot/common/request/QueryType.java |    31 +-
 .../org/apache/pinot/common/request/Selection.java |    94 +-
 .../apache/pinot/common/request/SelectionSort.java |    16 +-
 .../request/transform/TransformExpressionTree.java |     3 +-
 .../pinot/common/response/ProcessingException.java |   283 +-
 .../restlet/resources/SegmentConsumerInfo.java     |    61 +
 .../segment/generation/SegmentGenerationUtils.java |   201 +
 .../common/tier/TimeBasedTierSegmentSelector.java  |     7 +-
 .../apache/pinot/common/utils/CommonConstants.java |    43 +-
 .../org/apache/pinot/common/utils/DataTable.java   |     2 +
 .../common/utils/FileUploadDownloadClient.java     |    65 +-
 .../apache/pinot/common/utils/PinotDataType.java   |    32 +-
 .../pinot/common/utils/TarGzCompressionUtils.java  |     1 +
 .../org/apache/pinot/common/utils/ZkStarter.java   |    35 +-
 .../common/utils/config/TableConfigUtils.java      |    17 +-
 .../pinot/common/utils/helix/HelixHelper.java      |     7 +
 .../pinot/common/utils/request/RequestUtils.java   |    13 +-
 .../apache/pinot/parsers/utils/ParserUtils.java    |    37 +-
 .../parsers/PinotQuery2BrokerRequestConverter.java |     3 +-
 .../org/apache/pinot/pql/parsers/Pql2Compiler.java |    27 +-
 .../parsers/pql2/ast/BetweenPredicateAstNode.java  |     7 +-
 .../pql2/ast/ComparisonPredicateAstNode.java       |    17 +-
 .../pinot/pql/parsers/pql2/ast/FilterKind.java     |     3 +-
 .../pinot/pql/parsers/pql2/ast/SelectAstNode.java  |     4 +-
 .../apache/pinot/sql/parsers/CalciteSqlParser.java |    34 +-
 .../src/main/resources}/zone-index.properties      |     0
 .../config/tuner/RealTimeAutoIndexTunerTest.java   |    76 +
 .../common/config/tuner/TunerRegistryTest.java     |    55 +
 .../pinot/common/data/DateTimeFormatSpecTest.java  |    70 +-
 .../pinot/common/function/JsonFunctionsTest.java   |   154 +
 .../common/function/TransformFunctionTypeTest.java |     7 +
 .../common/metadata/SegmentZKMetadataTest.java     |     3 +
 .../pinot/common/minion/MinionClientTest.java      |    91 +
 .../transform/TransformExpressionTreeTest.java     |    11 +-
 .../generation/SegmentGenerationUtilsTest.java     |   126 +
 .../common/utils/config/TableConfigSerDeTest.java  |    49 +-
 .../apache/pinot/pql/parsers/Pql2CompilerTest.java |    10 +-
 pinot-common/src/thrift/request.thrift             |     3 +-
 pinot-connectors/pinot-spark-connector/pom.xml     |    19 +-
 .../spark/connector/PinotServerDataFetcher.scala   |     2 +
 pinot-connectors/pom.xml                           |     2 +-
 pinot-controller/pom.xml                           |    28 +-
 .../apache/pinot/controller/ControllerConf.java    |    47 +-
 .../apache/pinot/controller/ControllerStarter.java |    32 +-
 .../api/ControllerAdminApiApplication.java         |    67 +-
 .../pinot/controller/api/access/AccessControl.java |    31 +-
 .../controller/api/access/AccessControlUtils.java  |    98 +
 .../pinot/controller/api/access/AccessType.java    |    27 +
 .../pinot/controller/api/access/Authenticate.java  |    37 +
 .../api/access/AuthenticationFilter.java           |   100 +
 .../controller/api/listeners/ListenerConfig.java   |    59 -
 .../controller/api/listeners/TlsConfiguration.java |    63 -
 .../resources/LLCSegmentCompletionHandlers.java    |     5 +
 .../api/resources/PinotBrokerRestletResource.java  |     3 +
 .../api/resources/PinotClusterConfigs.java         |     4 +
 .../resources/PinotIngestionRestletResource.java   |   198 +
 .../PinotInstanceAssignmentRestletResource.java    |     6 +
 .../resources/PinotInstanceRestletResource.java    |     7 +
 .../api/resources/PinotQueryResource.java          |    54 +-
 .../api/resources/PinotSchemaRestletResource.java  |    27 +-
 .../api/resources/PinotSegmentRestletResource.java |   103 +
 .../PinotSegmentUploadDownloadRestletResource.java |     8 +
 .../api/resources/PinotTableIndexingConfigs.java   |     3 +
 .../api/resources/PinotTableMetadataConfigs.java   |     3 +
 .../api/resources/PinotTableRestletResource.java   |   160 +-
 .../api/resources/PinotTableSegmentConfigs.java    |     3 +
 .../api/resources/PinotTableTenantConfigs.java     |     3 +
 .../api/resources/PinotTaskRestletResource.java    |   147 +-
 .../api/resources/PinotTenantRestletResource.java  |     6 +
 .../api/resources/ServerTableSizeReader.java       |     2 +-
 .../api/resources/ZookeeperResource.java           |     4 +
 .../helix/ControllerRequestURLBuilder.java         |    51 +-
 .../helix/core/PinotHelixResourceManager.java      |   243 +-
 .../helix/core/PinotTableIdealStateBuilder.java    |     3 +-
 .../segment/OfflineDimTableSegmentAssignment.java  |    95 +
 .../segment/SegmentAssignmentFactory.java          |     2 +-
 .../assignment/segment/SegmentAssignmentUtils.java |     1 -
 .../helix/core/minion/ClusterInfoAccessor.java     |    16 +
 .../helix/core/minion/CronJobScheduleJob.java      |    63 +
 .../helix/core/minion/PinotTaskManager.java        |   467 +-
 .../core/minion/TableTaskSchedulerUpdater.java     |    57 +
 .../helix/core/minion/TaskTypeMetricsUpdater.java  |    50 +
 .../generator/ConvertToRawIndexTaskGenerator.java  |     7 +-
 .../core/minion/generator/PinotTaskGenerator.java  |    14 +-
 .../RealtimeToOfflineSegmentsTaskGenerator.java    |    34 +-
 .../SegmentGenerationAndPushTaskGenerator.java     |   342 +
 .../minion/generator/TaskGeneratorRegistry.java    |    58 +-
 .../core/periodictask/ControllerPeriodicTask.java  |     4 +
 .../realtime/PinotLLCRealtimeSegmentManager.java   |    43 +-
 .../core/realtime/PinotRealtimeSegmentManager.java |    15 +-
 .../core/realtime/SegmentCompletionManager.java    |     5 +-
 .../helix/core/rebalance/TableRebalancer.java      |     3 +-
 .../helix/core/relocation/SegmentRelocator.java    |     4 +-
 .../helix/core/retention/RetentionManager.java     |     3 +-
 .../retention/strategy/TimeRetentionStrategy.java  |    13 +-
 .../helix/core/util/HelixSetupUtils.java           |    39 +-
 .../helix/core/util/ZKMetadataUtils.java           |     5 +
 .../controller/util/CompletionServiceHelper.java   |     7 +-
 .../util/ConsumingSegmentInfoReader.java           |   167 +
 .../pinot/controller/util/FileIngestionHelper.java |   147 +
 .../pinot/controller/util/FileIngestionUtils.java  |   178 +
 .../pinot/controller/util/ListenerConfigUtil.java  |    93 -
 .../util/ServerSegmentMetadataReader.java          |     2 +-
 .../controller/util/TableRetentionValidator.java   |    23 +-
 .../validation/OfflineSegmentIntervalChecker.java  |    18 +-
 .../RealtimeSegmentValidationManager.java          |     6 +-
 pinot-controller/src/main/resources/app/App.tsx    |     4 +-
 .../main/resources/app/components/AppLoader.tsx    |     2 +-
 .../main/resources/app/components/Breadcrumbs.tsx  |    15 +-
 .../src/main/resources/app/components/Confirm.tsx  |     2 +-
 .../main/resources/app/components/CustomDialog.tsx |     2 +-
 .../src/main/resources/app/components/Header.tsx   |    63 +-
 .../Homepage/Operations/AddDeleteComponent.tsx     |   177 +
 .../Homepage/Operations/AddIndexingComponent.tsx   |   162 +
 .../Homepage/Operations/AddIngestionComponent.tsx  |   173 +
 .../Homepage/Operations/AddOfflineTableOp.tsx      |   389 +
 .../Operations/AddOfflineTenantComponent.tsx       |   151 +
 .../Homepage/Operations/AddPartionComponent.tsx    |   263 +
 .../Homepage/Operations/AddQueryComponent.tsx      |    91 +
 .../Operations/AddRealTimeIngestionComponent.tsx   |   172 +
 .../Operations/AddRealTimePartionComponent.tsx     |   234 +
 .../Homepage/Operations/AddRealtimeTableOp.tsx     |   401 +
 .../components/Homepage/Operations/AddSchemaOp.tsx |   202 +
 .../Homepage/Operations/AddStorageComponent.tsx    |   118 +
 .../Homepage/Operations/AddTableComponent.tsx      |    15 +-
 .../components/Homepage/Operations/AddTableOp.tsx  |   259 -
 .../Homepage/Operations/AddTableSchemaOp.tsx       |   263 -
 .../Homepage/Operations/AddTenantComponent.tsx     |   175 +
 .../Homepage/Operations/MultiIndexingComponent.tsx |   350 +
 .../Homepage/Operations/MultiMetricComponent.tsx   |   182 +
 .../Operations/MultipleSelectComponent.tsx         |   188 +
 .../Homepage/Operations/RebalanceServerTableOp.tsx |     5 +-
 .../Homepage/Operations/ReloadStatusOp.tsx         |    86 +-
 .../Homepage/Operations/SchemaComponent.tsx        |    86 +-
 .../Homepage/Operations/SchemaNameComponent.tsx    |   104 +
 .../resources/app/components/SimpleAccordion.tsx   |    12 +-
 .../src/main/resources/app/components/Table.tsx    |    39 +-
 .../src/main/resources/app/interfaces/types.d.ts   |     8 +
 .../main/resources/app/pages/InstanceDetails.tsx   |     9 +-
 .../src/main/resources/app/pages/Query.tsx         |    25 +-
 .../main/resources/app/pages/SchemaPageDetails.tsx |   308 +
 .../main/resources/app/pages/SegmentDetails.tsx    |     2 +-
 .../main/resources/app/pages/TablesListingPage.tsx |    74 +-
 .../src/main/resources/app/pages/TenantDetails.tsx |    47 +-
 .../src/main/resources/app/pages/Tenants.tsx       |    17 +-
 .../src/main/resources/app/requests/index.ts       |     6 +
 pinot-controller/src/main/resources/app/router.tsx |     3 +
 .../src/main/resources/app/styles/styles.css       |    37 +
 .../main/resources/app/utils/PinotMethodUtils.ts   |    52 +-
 .../pinot/controller/ControllerTestSetup.java      |    51 +
 .../pinot/controller/ControllerTestUtils.java      |   759 ++
 .../controller/LeadControllerManagerTest.java      |     2 +-
 .../pinot/controller/api/AccessControlTest.java    |    32 +-
 .../api/ConsumingSegmentInfoReaderTest.java        |   319 +
 .../PinotBrokerRestletResourceStatelessTest.java   |   171 +
 .../api/PinotBrokerRestletResourceTest.java        |   171 -
 .../pinot/controller/api/PinotFileUploadTest.java  |    30 +-
 .../api/PinotIngestionRestletResourceTest.java     |   133 +
 ...PinotInstanceAssignmentRestletResourceTest.java |   157 +-
 .../api/PinotInstanceRestletResourceTest.java      |    95 +-
 .../api/PinotSchemaRestletResourceTest.java        |    44 +-
 .../api/PinotSegmentRestletResourceTest.java       |    41 +-
 .../controller/api/PinotSegmentsMetadataTest.java  |     2 +-
 .../api/PinotTableRestletResourceTest.java         |   315 +-
 .../api/PinotTenantRestletResourceTest.java        |    46 +-
 .../controller/api/SegmentCompletionUtilsTest.java |     2 +-
 .../controller/api/ServerTableSizeReaderTest.java  |     2 +-
 .../pinot/controller/api/TableSizeReaderTest.java  |     2 +-
 .../pinot/controller/api/TableViewsTest.java       |    77 +-
 .../api/access/AuthenticationFilterTest.java       |   109 +
 .../controller/api/upload/ZKOperatorTest.java      |    64 +-
 .../helix/ControllerInstanceToggleTest.java        |    79 +-
 ...ControllerPeriodicTaskStarterStatelessTest.java |    79 +
 .../helix/ControllerPeriodicTaskStarterTest.java   |    79 -
 .../controller/helix/ControllerSentinelTestV2.java |    76 +-
 .../helix/ControllerTenantStatelessTest.java       |   188 +
 .../controller/helix/ControllerTenantTest.java     |   188 -
 .../pinot/controller/helix/ControllerTest.java     |    98 +-
 .../pinot/controller/helix/HelixHelperTest.java    |    19 +-
 .../helix/PinotControllerModeStatelessTest.java    |   305 +
 .../controller/helix/PinotControllerModeTest.java  |   305 -
 .../controller/helix/PinotResourceManagerTest.java |    76 +-
 .../pinot/controller/helix/TableCacheTest.java     |   119 +-
 .../PinotHelixResourceManagerStatelessTest.java    |   227 +
 .../helix/core/PinotHelixResourceManagerTest.java  |   403 +-
 .../OfflineDimTableSegmentAssignmentTest.java      |   127 +
 ...fflineNonReplicaGroupSegmentAssignmentTest.java |    22 +-
 .../helix/core/minion/PinotTaskManagerTest.java    |   145 +
 ...RealtimeToOfflineSegmentsTaskGeneratorTest.java |    43 +-
 .../SegmentGenerationAndPushTaskGeneratorTest.java |    80 +
 .../PinotLLCRealtimeSegmentManagerTest.java        |    62 +-
 .../helix/core/realtime/SegmentCompletionTest.java |   502 +-
 .../TableRebalancerClusterStatelessTest.java       |   414 +
 .../core/rebalance/TableRebalancerClusterTest.java |   414 -
 .../core/retention/SegmentLineageCleanupTest.java  |    77 +-
 .../core/util/SegmentDeletionManagerTest.java      |     3 +-
 .../controller/util/ListenerConfigUtilTest.java    |    44 +-
 .../controller/utils/SegmentMetadataMockUtils.java |     6 +-
 .../validation/ValidationManagerStatelessTest.java |   120 +
 .../validation/ValidationManagerTest.java          |   105 +-
 pinot-controller/testng-statefull.xml              |    84 +
 pinot-controller/testng-stateless.xml              |    42 +
 pinot-core/pom.xml                                 |    19 +-
 .../org/apache/pinot/core/common/DataSource.java   |    21 +
 .../apache/pinot/core/common/MinionConstants.java  |     8 +
 .../apache/pinot/core/common/ObjectSerDeUtils.java |     6 +-
 .../core/common/datatable/DataTableUtils.java      |    95 +-
 .../core/data/function/FunctionEvaluator.java      |     5 +
 .../data/function/GroovyFunctionEvaluator.java     |     5 +-
 .../data/function/InbuiltFunctionEvaluator.java    |    33 +-
 .../data/function/TimeSpecFunctionEvaluator.java   |    13 +-
 .../core/data/manager/SegmentDataManager.java      |     2 +-
 .../manager/config/TableDataManagerConfig.java     |     8 +-
 .../manager/offline/DimensionTableDataManager.java |   175 +
 .../manager/offline/TableDataManagerProvider.java  |     7 +-
 .../realtime/HLRealtimeSegmentDataManager.java     |    23 +-
 .../realtime/LLRealtimeSegmentDataManager.java     |    43 +-
 .../realtime/RealtimeSegmentDataManager.java       |    21 +
 .../core/data/partition/PartitionFunction.java     |     5 +-
 .../data/readers/PinotSegmentColumnReader.java     |    13 +
 .../data/readers/PinotSegmentRecordReader.java     |    54 +-
 .../recordtransformer/ExpressionTransformer.java   |    40 +-
 .../data/recordtransformer/RecordTransformer.java  |     3 +-
 .../core/data/table/ConcurrentIndexedTable.java    |    74 +-
 .../apache/pinot/core/data/table/IndexedTable.java |    49 +-
 .../pinot/core/data/table/SimpleIndexedTable.java  |    57 +-
 .../apache/pinot/core/data/table/TableResizer.java |    90 +-
 .../table/UnboundedConcurrentIndexedTable.java     |    80 +
 .../pinot/core/geospatial/GeometryUtils.java       |    16 +
 .../transform/function/ScalarFunctions.java        |    45 +
 .../transform/function/StContainsFunction.java     |    12 +-
 .../transform/function/StDistanceFunction.java     |    51 +-
 .../transform/function/StPointFunction.java        |    18 +-
 .../generator/SegmentGeneratorConfig.java          |    97 +-
 .../indexsegment/immutable/EmptyIndexSegment.java  |   120 +
 .../immutable/ImmutableSegmentLoader.java          |     3 +
 .../core/indexsegment/mutable/MutableSegment.java  |     6 +-
 .../indexsegment/mutable/MutableSegmentImpl.java   |    77 +-
 .../core/io/reader/impl/FixedBitIntReader.java     |  2591 +++++
 .../io/util/VarLengthBytesValueReaderWriter.java   |   241 -
 .../pinot/core/io/util/VarLengthValueReader.java   |   121 +
 .../pinot/core/io/util/VarLengthValueWriter.java   |   133 +
 .../operator/blocks/IntermediateResultsBlock.java  |    20 +-
 .../operator/combine/DistinctCombineOperator.java  |    84 +
 .../combine/GroupByOrderByCombineOperator.java     |    27 +-
 .../operator/filter/BitmapBasedFilterOperator.java |     6 +-
 .../core/operator/filter/FilterOperatorUtils.java  |    28 +-
 .../operator/filter/H3IndexFilterOperator.java     |   246 +
 .../operator/filter/JsonMatchFilterOperator.java   |    59 +
 .../FSTBasedRegexpPredicateEvaluatorFactory.java   |   156 +
 .../core/operator/query/DistinctOperator.java      |    84 +
 .../function/AndOperatorTransformFunction.java     |    48 +
 .../function/DateTruncTransformFunction.java       |   124 +-
 .../function/LiteralTransformFunction.java         |     8 +-
 .../function/LogicalOperatorTransformFunction.java |    79 +
 .../function/LookupTransformFunction.java          |   332 +
 .../function/OrOperatorTransformFunction.java      |    48 +
 .../function/ScalarTransformFunctionWrapper.java   |   122 +-
 .../operator/transform/function/TimeZoneKey.java   |   266 -
 .../function/TransformFunctionFactory.java         |     6 +
 .../core/periodictask/PeriodicTaskScheduler.java   |    12 +
 .../apache/pinot/core/plan/CombinePlanNode.java    |    16 +-
 .../apache/pinot/core/plan/DistinctPlanNode.java   |    52 +
 .../org/apache/pinot/core/plan/FilterPlanNode.java |    78 +-
 .../core/plan/maker/InstancePlanMakerImplV2.java   |    28 +-
 .../function/AggregationFunctionFactory.java       |    25 +-
 .../function/DistinctAggregationFunction.java      |   117 +-
 .../function/PercentileAggregationFunction.java    |    19 +-
 .../function/PercentileEstAggregationFunction.java |    19 +-
 .../PercentileEstMVAggregationFunction.java        |    12 +-
 .../function/PercentileMVAggregationFunction.java  |    11 +-
 .../PercentileTDigestAggregationFunction.java      |    20 +-
 .../PercentileTDigestMVAggregationFunction.java    |    12 +-
 .../function/customobject/DistinctTable.java       |   334 -
 .../groupby/DefaultGroupByExecutor.java            |     6 +-
 .../groupby/DictionaryBasedGroupKeyGenerator.java  |   333 +-
 .../core/query/distinct/DistinctExecutor.java      |    42 +
 .../query/distinct/DistinctExecutorFactory.java    |   190 +
 .../pinot/core/query/distinct/DistinctTable.java   |   312 +
 ...DictionaryBasedMultiColumnDistinctExecutor.java |    98 +
 ...ictionaryBasedSingleColumnDistinctExecutor.java |    72 +
 ...ionaryBasedMultiColumnDistinctOnlyExecutor.java |    59 +
 ...aryBasedMultiColumnDistinctOrderByExecutor.java |    95 +
 ...onaryBasedSingleColumnDistinctOnlyExecutor.java |    51 +
 ...ryBasedSingleColumnDistinctOrderByExecutor.java |    71 +
 .../BaseRawBytesSingleColumnDistinctExecutor.java  |    60 +
 .../BaseRawDoubleSingleColumnDistinctExecutor.java |    61 +
 .../BaseRawFloatSingleColumnDistinctExecutor.java  |    61 +
 .../BaseRawIntSingleColumnDistinctExecutor.java    |    61 +
 .../BaseRawLongSingleColumnDistinctExecutor.java   |    61 +
 .../BaseRawStringSingleColumnDistinctExecutor.java |    59 +
 .../RawBytesSingleColumnDistinctOnlyExecutor.java  |    50 +
 ...awBytesSingleColumnDistinctOrderByExecutor.java |    71 +
 .../RawDoubleSingleColumnDistinctOnlyExecutor.java |    49 +
 ...wDoubleSingleColumnDistinctOrderByExecutor.java |    70 +
 .../RawFloatSingleColumnDistinctOnlyExecutor.java  |    49 +
 ...awFloatSingleColumnDistinctOrderByExecutor.java |    70 +
 .../RawIntSingleColumnDistinctOnlyExecutor.java    |    49 +
 .../RawIntSingleColumnDistinctOrderByExecutor.java |    70 +
 .../RawLongSingleColumnDistinctOnlyExecutor.java   |    49 +
 ...RawLongSingleColumnDistinctOrderByExecutor.java |    70 +
 .../raw/RawMultiColumnDistinctExecutor.java        |    86 +
 .../RawStringSingleColumnDistinctOnlyExecutor.java |    49 +
 ...wStringSingleColumnDistinctOrderByExecutor.java |    70 +
 .../optimizer/filter/MergeEqInFilterOptimizer.java |    16 +-
 .../filter/MergeRangeFilterOptimizer.java          |     5 +-
 .../core/query/pruner/SegmentPrunerService.java    |    17 +-
 .../query/pruner/SelectionQuerySegmentPruner.java  |     4 +-
 .../core/query/reduce/BrokerReduceService.java     |     8 +-
 .../core/query/reduce/DataTableReducerContext.java |    11 +-
 .../query/reduce/DistinctDataTableReducer.java     |     4 +-
 .../core/query/reduce/GroupByDataTableReducer.java |    37 +-
 .../context/predicate/JsonMatchPredicate.java      |    72 +
 .../query/request/context/predicate/Predicate.java |     2 +-
 .../request/context/predicate/RangePredicate.java  |    18 +-
 .../BrokerRequestToQueryContextConverter.java      |   268 +-
 .../context/utils/QueryContextConverterUtils.java  |     7 +
 .../request/context/utils/QueryContextUtils.java   |    23 +-
 .../pinot/core/query/scheduler/QueryScheduler.java |    10 +
 .../query/selection/SelectionOperatorUtils.java    |     2 +-
 .../converter/RealtimeSegmentConverter.java        |     7 +-
 .../converter/RealtimeSegmentRecordReader.java     |     3 +-
 .../RealtimeSegmentSegmentCreationDataSource.java  |     3 +-
 .../core/realtime/impl/RealtimeSegmentConfig.java  |    46 +-
 .../realtime/impl/geospatial/MutableH3Index.java   |    78 +
 .../RealtimeLuceneTextIndexReader.java             |     6 +
 .../core/realtime/impl/json/MutableJsonIndex.java  |   269 +
 .../core/requesthandler/RangeMergeOptimizer.java   |     3 +-
 .../segment/creator/ColumnIndexCreationInfo.java   |     3 +-
 .../core/segment/creator/ColumnStatistics.java     |     3 +-
 .../segment/creator/GeoSpatialIndexCreator.java    |    42 +
 .../core/segment/creator/JsonIndexCreator.java     |    42 +
 .../segment/creator/SegmentCreationDataSource.java |     3 +-
 .../pinot/core/segment/creator/SegmentCreator.java |     6 +-
 .../creator/SegmentIndexCreationDriver.java        |     3 +-
 .../segment/creator/SegmentIndexCreationInfo.java  |     5 +-
 .../creator/SegmentPreIndexStatsContainer.java     |     5 +-
 .../pinot/core/segment/creator/TextIndexType.java  |     3 +-
 .../creator/impl/SegmentColumnarIndexCreator.java  |   212 +-
 .../creator/impl/SegmentDictionaryCreator.java     |    41 +-
 .../impl/SegmentIndexCreationDriverImpl.java       |    15 +-
 .../core/segment/creator/impl/V1Constants.java     |     7 +
 .../impl/inv/BitmapInvertedIndexWriter.java        |    90 +
 .../inv/OffHeapBitmapInvertedIndexCreator.java     |    32 +-
 .../impl/inv/OnHeapBitmapInvertedIndexCreator.java |    42 +-
 .../impl/inv/geospatial/BaseH3IndexCreator.java    |   168 +
 .../creator/impl/inv/geospatial/H3IndexConfig.java |    50 +
 .../impl/inv/geospatial/H3IndexResolution.java     |    71 +
 .../impl/inv/geospatial/OffHeapH3IndexCreator.java |   218 +
 .../impl/inv/geospatial/OnHeapH3IndexCreator.java  |    49 +
 .../impl/inv/json/BaseJsonIndexCreator.java        |   173 +
 .../impl/inv/json/OffHeapJsonIndexCreator.java     |   282 +
 .../impl/inv/json/OnHeapJsonIndexCreator.java      |    60 +
 .../impl/inv/text/LuceneFSTIndexCreator.java       |   103 +
 .../segment/index/column/ColumnIndexContainer.java |    23 +-
 .../index/column/PhysicalColumnIndexContainer.java |    81 +-
 .../converter/SegmentV1V2ToV3FormatConverter.java  |    53 +-
 .../segment/index/datasource/BaseDataSource.java   |    27 +
 .../segment/index/datasource/EmptyDataSource.java  |    94 +
 .../index/datasource/ImmutableDataSource.java      |     5 +-
 .../index/datasource/MutableDataSource.java        |    15 +-
 .../segment/index/loader/IndexLoadingConfig.java   |    88 +-
 .../core/segment/index/loader/LoaderUtils.java     |    47 +
 .../segment/index/loader/SegmentPreProcessor.java  |    31 +-
 .../defaultcolumn/BaseDefaultColumnHandler.java    |   303 +-
 .../loader/defaultcolumn/DefaultColumnHandler.java |     5 +-
 .../defaultcolumn/DefaultColumnHandlerFactory.java |     9 +-
 .../defaultcolumn/V1DefaultColumnHandler.java      |    16 +-
 .../defaultcolumn/V3DefaultColumnHandler.java      |    34 +-
 .../index/loader/invertedindex/H3IndexHandler.java |   161 +
 .../loader/invertedindex/InvertedIndexHandler.java |    19 +-
 .../loader/invertedindex/JsonIndexHandler.java     |   158 +
 .../invertedindex/LuceneFSTIndexHandler.java       |   146 +
 .../loader/invertedindex/RangeIndexHandler.java    |    30 +-
 .../loader/invertedindex/TextIndexHandler.java     |    47 +-
 .../segment/index/metadata/ColumnMetadata.java     |    20 +-
 .../segment/index/metadata/SegmentMetadata.java    |     7 +
 .../index/metadata/SegmentMetadataImpl.java        |    73 +-
 .../index/readers/BaseImmutableDictionary.java     |    15 +-
 .../index/readers/BitmapInvertedIndexReader.java   |    87 +-
 .../core/segment/index/readers/H3IndexReader.java  |    42 +
 .../segment/index/readers/JsonIndexReader.java     |    35 +
 .../index/readers/LuceneFSTIndexReader.java        |    82 +
 .../segment/index/readers/TextIndexReader.java     |     8 +
 .../forward/FixedBitSVForwardIndexReaderV2.java    |   101 +
 .../readers/geospatial/ImmutableH3IndexReader.java |    84 +
 .../readers/json/ImmutableJsonIndexReader.java     |   243 +
 .../index/readers/text/LuceneTextIndexReader.java  |    14 +
 .../pinot/core/segment/memory/PinotByteBuffer.java |    15 +-
 .../core/segment/name/SegmentNameGenerator.java    |     3 +-
 .../pinot/core/segment/store/ColumnIndexType.java  |     5 +-
 .../core/segment/store/FilePerIndexDirectory.java  |    13 +-
 .../pinot/core/segment/store/SegmentDirectory.java |    25 +-
 .../core/segment/store/SegmentDirectoryPaths.java  |     9 +
 .../segment/store/SegmentLocalFSDirectory.java     |    10 -
 .../segment/store/SingleFileIndexDirectory.java    |     9 +-
 .../virtualcolumn/VirtualColumnIndexContainer.java |    17 +
 .../pinot/core/startree/OffHeapStarTreeNode.java   |     4 +-
 .../startree/v2/builder/BaseSingleTreeBuilder.java |     2 +-
 .../core/startree/v2/store/StarTreeDataSource.java |     6 +-
 .../startree/v2/store/StarTreeLoaderUtils.java     |    12 +-
 .../pinot/core/transport/ListenerConfig.java       |    59 +
 .../apache/pinot/core/transport/QueryRouter.java   |    34 +-
 .../apache/pinot/core/transport/QueryServer.java   |    51 +
 .../pinot/core/transport/ServerChannels.java       |    44 +
 .../pinot/core/transport/ServerInstance.java       |    21 +
 .../core/transport/ServerRoutingInstance.java      |    30 +-
 .../org/apache/pinot/core/transport/TlsConfig.java |    77 +
 .../org/apache/pinot/core/util/ArrayCopyUtils.java |     6 +
 .../java/org/apache/pinot/core/util/H3Utils.java   |    38 +
 .../org/apache/pinot/core/util/IngestionUtils.java |     5 +-
 .../apache/pinot/core/util/ListenerConfigUtil.java |   219 +
 .../apache/pinot/core/util/ReplicationUtils.java   |     5 +-
 .../apache/pinot/core/util/TableConfigUtils.java   |    94 +-
 .../java/org/apache/pinot/core/util/TlsUtils.java  |   269 +
 .../org/apache/pinot/core/util/fst/FSTBuilder.java |    65 +
 .../pinot/core/util/fst/PinotBufferIndexInput.java |    89 +
 .../apache/pinot/core/util/fst/RegexpMatcher.java  |   164 +
 .../core/common/datatable/DataTableUtilsTest.java  |    28 +-
 .../data/function/ArithmeticFunctionsTest.java     |    74 +
 .../core/data/function/ArrayFunctionsTest.java     |   143 +
 .../core/data/function/DateTimeFunctionsTest.java  |   382 +
 .../core/data/function/InbuiltFunctionsTest.java   |   377 -
 .../core/data/function/JsonFunctionsTest.java      |   128 +
 .../offline/DimensionTableDataManagerTest.java     |   178 +
 .../data/readers/RecordReaderSampleDataTest.java   |    12 +
 .../ExpressionTransformerTest.java                 |    39 +-
 .../recordtransformer/RecordTransformerTest.java   |    18 +-
 .../pinot/core/data/table/IndexedTableTest.java    |    25 +-
 .../pinot/core/data/table/TableResizerTest.java    |    26 +-
 .../geospatial/transform/StPointFunctionTest.java  |    27 +-
 .../MutableSegmentImplAggregateMetricsTest.java    |    16 +-
 .../core/io/reader/impl/FixedBitIntReaderTest.java |    83 +
 .../util/VarLengthBytesValueReaderWriterTest.java  |   172 -
 .../io/util/VarLengthValueReaderWriterTest.java    |   117 +
 .../operator/combine/CombineSlowOperatorsTest.java |     2 +-
 .../combine/SelectionCombineOperatorTest.java      |     3 +-
 .../NoDictionaryRangePredicateEvaluatorTest.java   |   104 +-
 .../function/AndOperatorTransformFunctionTest.java |    34 +
 .../function/BaseTransformFunctionTest.java        |    68 +-
 .../function/DateTruncTransformFunctionTest.java   |     7 +-
 .../LogicalOperatorTransformFunctionTest.java      |    81 +
 .../function/LookupTransformFunctionTest.java      |   386 +
 .../function/OrOperatorTransformFunctionTest.java  |    34 +
 .../ScalarTransformFunctionWrapperTest.java        |   545 +-
 .../pinot/core/plan/CombinePlanNodeTest.java       |    11 +-
 .../function/AggregationFunctionFactoryTest.java   |    76 +-
 .../core/query/optimizer/QueryOptimizerTest.java   |    32 +-
 .../query/pruner/ColumnValueSegmentPrunerTest.java |     4 +-
 .../BrokerRequestToQueryContextConverterTest.java  |    30 +-
 .../impl/inv/geospatial/H3IndexResolutionTest.java |    35 +
 .../core/segment/index/ColumnMetadataTest.java     |     1 +
 .../pinot/core/segment/index/H3IndexTest.java      |   110 +
 .../pinot/core/segment/index/JsonIndexTest.java    |   216 +
 .../segment/index/SegmentMetadataImplTest.java     |     4 +
 .../index/creator/LuceneFSTIndexCreatorTest.java   |    74 +
 .../SegmentGenerationWithFilterRecordsTest.java    |    10 +-
 .../SegmentGenerationWithNoRecordsTest.java        |   117 +
 .../core/segment/index/loader/LoaderTest.java      |   139 +
 .../index/loader/SegmentPreProcessorTest.java      |   115 +-
 .../BaseDefaultColumnHandlerTest.java              |    26 +-
 .../FixedBitSVForwardIndexReaderV2Test.java        |   111 +
 .../segment/store/SegmentLocalFSDirectoryTest.java |     2 +-
 .../apache/pinot/core/util/IngestionUtilsTest.java |    41 +-
 .../apache/pinot/core/util/SchemaUtilsTest.java    |     6 +-
 .../pinot/core/util/TableConfigUtilsTest.java      |   250 +-
 .../org/apache/pinot/queries/BaseQueriesTest.java  |     2 +-
 .../apache/pinot/queries/DistinctQueriesTest.java  |  1103 +-
 .../queries/FSTBasedRegexpLikeQueriesTest.java     |   477 +
 .../apache/pinot/queries/H3IndexQueriesTest.java   |   233 +
 ...erSegmentAggregationSingleValueQueriesTest.java |    48 +-
 ...terSegmentResultTableMultiValueQueriesTest.java |    39 +-
 ...erSegmentResultTableSingleValueQueriesTest.java |    11 +-
 .../pinot/queries/JsonMatchPredicateTest.java      |   291 +
 .../queries/PercentileTDigestMVQueriesTest.java    |    14 +-
 .../queries/PercentileTDigestQueriesTest.java      |    73 +-
 .../RangePredicateWithSortedInvertedIndexTest.java |    32 +-
 .../pinot/queries/TextSearchQueriesTest.java       |    86 +-
 .../DictionaryBasedGroupKeyGeneratorTest.java      |    28 +-
 .../pinot/query/executor/QueryExecutorTest.java    |    27 +-
 .../converter/RealtimeSegmentConverterTest.java    |   103 +-
 .../segments/v1/creator/SegmentTestUtils.java      |    10 +
 .../java/org/apache/pinot/util/FSTBuilderTest.java |   107 +
 .../src/test/resources/data/dimBaseballTeams.avro  |   Bin 0 -> 2214 bytes
 .../src/test/resources/data/dimBaseballTeams.avsc  |     8 +
 .../src/test/resources/data/dimBaseballTeams.csv   |    52 +
 .../resources/data/dimBaseballTeams_schema.json    |    14 +
 .../src/test/resources/data/newColumnsSchema4.json |    84 +
 .../src/test/resources/data/test_empty_data.json   |     0
 pinot-distribution/pom.xml                         |     2 +-
 pinot-integration-tests/pom.xml                    |     2 +-
 .../pinot/compat/tests/ClusterDescriptor.java      |    34 +
 .../org/apache/pinot/compat/tests/SegmentOp.java   |   256 +-
 .../org/apache/pinot/compat/tests/StreamOp.java    |   231 +-
 .../org/apache/pinot/compat/tests/TableOp.java     |    65 +-
 .../tests/AdminConsoleIntegrationTest.java         |    13 +
 .../tests/BaseClusterIntegrationTest.java          |    60 +-
 .../tests/BaseClusterIntegrationTestSet.java       |     5 +
 .../tests/ClusterIntegrationTestUtils.java         |   494 +-
 .../pinot/integration/tests/ClusterTest.java       |    66 +-
 ...vertToRawIndexMinionClusterIntegrationTest.java |     6 +-
 ...tlyOnceKafkaRealtimeClusterIntegrationTest.java |    65 +
 .../tests/HybridClusterIntegrationTest.java        |     2 +-
 .../IngestionConfigHybridIntegrationTest.java      |    17 +-
 .../tests/JsonPathClusterIntegrationTest.java      |    80 +-
 .../LuceneRealtimeClusterIntegrationTest.java      |     1 -
 .../tests/MapTypeClusterIntegrationTest.java       |     7 +-
 .../tests/OfflineClusterIntegrationTest.java       |    91 +-
 ...fflineSegmentsMinionClusterIntegrationTest.java |     6 +-
 .../tests/SimpleMinionClusterIntegrationTest.java  |   117 +-
 .../tests/StarTreeClusterIntegrationTest.java      |     2 +-
 ...rformance_2014_100k_subset.test_queries_500.sql |    10 +-
 ...onulls_default_column_test_extra_columns.schema |     8 +
 .../compat-tests/configs/FeatureTest1-schema.json  |     7 +
 .../feature-test-1-realtime-stream-config.json     |     8 +
 .../configs/feature-test-1-realtime.json           |    59 +
 .../compat-tests/configs/feature-test-1.json       |    28 +-
 .../test/resources/compat-tests/kafka/topic1.cfg   |     5 +
 .../src/test/resources/compat-tests/sample.yaml    |    16 +-
 .../resources/compat-tests/stream-op-publish.yaml  |    31 +
 .../resources/compat-tests/table-segment-op.yaml   |    40 +
 pinot-minion/pom.xml                               |     7 +-
 .../org/apache/pinot/minion/MinionStarter.java     |    41 +-
 .../minion/event/DefaultMinionEventObserver.java   |    45 +
 .../event/DefaultMinionEventObserverFactory.java   |    48 +
 .../minion/event/EventObserverFactoryRegistry.java |    85 +
 .../pinot/minion/event/MinionEventObserver.java    |    59 +
 .../minion/event/MinionEventObserverFactory.java   |    43 +
 .../minion/events/DefaultMinionEventObserver.java  |    45 -
 .../events/DefaultMinionEventObserverFactory.java  |    36 -
 .../events/EventObserverFactoryRegistry.java       |    50 -
 .../pinot/minion/events/MinionEventObserver.java   |    59 -
 .../minion/events/MinionEventObserverFactory.java  |    32 -
 .../ConvertToRawIndexTaskExecutorFactory.java      |    14 +
 .../executor/MergeRollupTaskExecutorFactory.java   |    15 +
 .../minion/executor/PinotTaskExecutorFactory.java  |    14 +-
 .../minion/executor/PurgeTaskExecutorFactory.java  |    14 +
 .../RealtimeToOfflineSegmentsTaskExecutor.java     |    16 +-
 ...altimeToOfflineSegmentsTaskExecutorFactory.java |    18 +-
 .../executor/SegmentGenerationAndPushResult.java   |    91 +
 .../SegmentGenerationAndPushTaskExecutor.java      |   316 +
 ...egmentGenerationAndPushTaskExecutorFactory.java |    41 +
 .../executor/TaskExecutorFactoryRegistry.java      |    61 +-
 .../minion/taskfactory/TaskFactoryRegistry.java    |    22 +-
 .../RealtimeToOfflineSegmentsTaskExecutorTest.java |     6 +-
 pinot-perf/pom.xml                                 |    14 +-
 .../apache/pinot/perf/BenchmarkCombineGroupBy.java |     6 +-
 .../pinot/perf/BenchmarkFixedBitIntReader.java     |   131 +
 .../BenchmarkFixedBitSVForwardIndexReader.java     |   146 +
 .../apache/pinot/perf/BenchmarkIndexedTable.java   |     7 +-
 .../apache/pinot/perf/BenchmarkIntOpenHashMap.java |   146 +
 ...BenchmarkOffheapBitmapInvertedIndexCreator.java |   105 +
 .../pinot/perf/BenchmarkPinotDataBitSet.java       |   564 +-
 .../pinot-batch-ingestion-common/pom.xml           |     2 +-
 .../batch/common/SegmentGenerationTaskRunner.java  |    27 +-
 .../batch/common/SegmentGenerationUtils.java       |   166 -
 .../ingestion/batch/common/SegmentPushUtils.java   |    44 +-
 .../batch/common/SegmentGenerationUtilsTest.java   |    40 -
 .../pinot-batch-ingestion-hadoop/pom.xml           |    18 +-
 .../batch/hadoop/HadoopSegmentCreationMapper.java  |    41 +-
 .../hadoop/HadoopSegmentGenerationJobRunner.java   |   172 +-
 .../hadoop/HadoopSegmentMetadataPushJobRunner.java |     1 +
 .../hadoop/HadoopSegmentTarPushJobRunner.java      |     3 +-
 .../HadoopSegmentGenerationJobRunnerTest.java      |   175 +
 .../src/test/resources/log4j2.xml                  |     0
 .../pinot-batch-ingestion-spark/pom.xml            |     2 +-
 .../spark/SparkSegmentGenerationJobRunner.java     |    20 +-
 .../pinot-batch-ingestion-standalone/pom.xml       |    11 +-
 .../standalone/SegmentGenerationJobRunner.java     |    34 +-
 .../standalone/SegmentGenerationJobRunnerTest.java |   144 +
 .../src/test/resources/log4j2.xml                  |     0
 pinot-plugins/pinot-batch-ingestion/pom.xml        |     2 +-
 .../v0_deprecated/pinot-hadoop/pom.xml             |     2 +-
 .../apache/pinot/hadoop/io/PinotOutputFormat.java  |     3 +-
 .../pinot/hadoop/job/HadoopSegmentCreationJob.java |     3 +-
 .../hadoop/job/HadoopSegmentPreprocessingJob.java  |    11 +-
 .../hadoop/job/mappers/SegmentCreationMapper.java  |     6 +-
 .../v0_deprecated/pinot-ingestion-common/pom.xml   |     2 +-
 .../v0_deprecated/pinot-spark/pom.xml              |   284 +-
 .../spark/jobs/SparkSegmentCreationFunction.java   |     4 +-
 .../pinot/spark/jobs/SparkSegmentCreationJob.java  |     3 +-
 .../src/test/java/SegmentCreationSparkTest.java    |   141 +
 .../src/test/resources}/test_sample_data.csv       |     0
 .../pinot-batch-ingestion/v0_deprecated/pom.xml    |     2 +-
 pinot-plugins/pinot-file-system/pinot-adls/pom.xml |    40 +-
 .../pinot/plugin/filesystem/ADLSGen2PinotFS.java   |   202 +-
 .../datalake/store/MockADLFileInputStream.java     |    94 -
 .../filesystem/test/ADLSGen2PinotFSTest.java       |   395 +
 .../plugin/filesystem/test/AzurePinotFSTest.java   |     8 +-
 .../org.mockito.plugins.MockMaker                  |     4 +
 pinot-plugins/pinot-file-system/pinot-gcs/pom.xml  |     2 +-
 .../apache/pinot/plugin/filesystem/GcsPinotFS.java |    23 +-
 pinot-plugins/pinot-file-system/pinot-hdfs/pom.xml |     2 +-
 .../pinot/plugin/filesystem/HadoopPinotFS.java     |    13 +-
 pinot-plugins/pinot-file-system/pinot-s3/pom.xml   |     4 +-
 .../apache/pinot/plugin/filesystem/S3PinotFS.java  |   143 +-
 pinot-plugins/pinot-file-system/pom.xml            |     2 +-
 .../pinot-input-format/pinot-avro-base/pom.xml     |     2 +-
 .../inputformat/avro/AvroRecordExtractor.java      |     6 +-
 .../pinot-input-format/pinot-avro/pom.xml          |     2 +-
 .../pinot-confluent-avro/pom.xml                   |     2 +-
 ...aConfluentSchemaRegistryAvroMessageDecoder.java |     2 +-
 pinot-plugins/pinot-input-format/pinot-csv/pom.xml |     2 +-
 .../plugin/inputformat/csv/CSVRecordExtractor.java |     3 +-
 .../pinot-input-format/pinot-json/pom.xml          |     2 +-
 .../inputformat/json/JSONRecordExtractor.java      |     6 +-
 .../plugin/inputformat/json/JSONRecordReader.java  |    11 +-
 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 +-
 .../protobuf/ProtoBufRecordExtractor.java          |     6 +-
 .../pinot-input-format/pinot-thrift/pom.xml        |     2 +-
 .../inputformat/thrift/ThriftRecordExtractor.java  |     6 +-
 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 +-
 .../KafkaPartitionLevelConnectionHandler.java      |     3 +
 .../kafka20/KafkaPartitionLevelStreamConfig.java   |    17 +
 .../kafka20/KafkaStreamLevelConsumerManager.java   |     1 +
 .../KafkaPartitionLevelStreamConfigTest.java       |    34 +-
 .../pinot-kafka-base/pom.xml                       |     2 +-
 .../stream/kafka/KafkaStreamConfigProperties.java  |     3 +
 pinot-plugins/pinot-stream-ingestion/pom.xml       |     2 +-
 pinot-plugins/pom.xml                              |     2 +-
 pinot-server/pom.xml                               |     6 +-
 .../pinot/server/api/resources/TablesResource.java |    41 +
 .../org/apache/pinot/server/conf/ServerConf.java   |    20 +-
 .../pinot/server/starter/ServerInstance.java       |    48 +-
 .../server/starter/helix/AdminApiApplication.java  |    25 +-
 .../server/starter/helix/HelixServerStarter.java   |    40 +-
 .../apache/pinot/server/api/AccessControlTest.java |    11 +-
 .../apache/pinot/server/api/BaseResourceTest.java  |    12 +-
 .../pinot/server/api/TablesResourceTest.java       |    14 +-
 pinot-spi/pom.xml                                  |     6 +-
 .../annotations/minion/EventObserverFactory.java   |    39 +
 .../annotations/minion/TaskExecutorFactory.java    |    39 +
 .../spi/annotations/minion/TaskGenerator.java      |    39 +
 .../apache/pinot/spi/config/BaseJsonConfig.java    |     3 +-
 .../org/apache/pinot/spi/config/ConfigUtils.java   |    95 +
 .../apache/pinot/spi/config/table/FieldConfig.java |     6 +-
 .../pinot/spi/config/table/IndexingConfig.java     |    15 +
 .../pinot/spi/config/table/IngestionConfig.java    |    60 -
 .../pinot/spi/config/table/RoutingConfig.java      |     1 +
 .../SegmentsValidationAndRetentionConfig.java      |     9 +
 .../apache/pinot/spi/config/table/TableConfig.java |    25 +-
 .../apache/pinot/spi/config/table/TableStats.java  |    45 +
 .../apache/pinot/spi/config/table/TunerConfig.java |    61 +
 .../table/ingestion/BatchIngestionConfig.java      |    65 +
 .../config/table/ingestion/IngestionConfig.java    |    76 +
 .../table/ingestion/StreamIngestionConfig.java     |    46 +
 .../spi/config/table/tuner/TableConfigTuner.java   |    40 +
 .../apache/pinot/spi/config/table/tuner/Tuner.java |    41 +
 .../apache/pinot/spi/data/DateTimeFormatSpec.java  |    58 +-
 .../java/org/apache/pinot/spi/data/FieldSpec.java  |     3 +-
 .../pinot/spi/data/IngestionSchemaValidator.java   |     4 +-
 .../java/org/apache/pinot/spi/data/Schema.java     |     5 +-
 .../apache/pinot/spi/data/TimeGranularitySpec.java |     5 +-
 .../apache/pinot/spi/data/readers/GenericRow.java  |     3 +-
 .../pinot/spi/data/readers/RecordExtractor.java    |     3 +-
 .../pinot/spi/data/readers/RecordReader.java       |     3 +-
 .../spi/data/readers/RecordReaderFactory.java      |    16 +
 .../pinot/spi/filesystem/PinotFSFactory.java       |     2 +-
 .../pinot/spi/ingestion/batch/BatchConfig.java     |   118 +
 .../spi/ingestion/batch/BatchConfigProperties.java |    68 +
 .../batch/spec/SegmentGenerationJobSpec.java       |    26 +
 .../batch/spec/SegmentGenerationTaskSpec.java      |    33 +-
 .../pinot/spi/ingestion/batch/spec/TlsSpec.java    |    62 +
 .../org/apache/pinot/spi/plugin/PluginManager.java |    44 +
 .../org/apache/pinot/spi/stream/StreamConfig.java  |     2 +-
 .../pinot/spi/utils/GroovyTemplateUtils.java       |     4 +-
 .../pinot/spi/utils/IngestionConfigUtils.java      |   144 +
 .../java/org/apache/pinot/spi/utils/JsonUtils.java |   191 +-
 .../spi/utils/builder/TableConfigBuilder.java      |    17 +-
 .../apache/pinot/spi/config/ConfigUtilsTest.java   |   156 +
 .../pinot/spi/ingestion/batch/BatchConfigTest.java |    96 +
 .../pinot/spi/utils/IngestionConfigUtilsTest.java  |   149 +
 .../org/apache/pinot/spi/utils/JsonUtilsTest.java  |   145 +
 .../resources/ingestion_job_spec_template.yaml     |     7 +-
 pinot-tools/pom.xml                                |    51 +-
 .../pinot/tools/BatchQuickstartWithMinion.java     |    35 +
 .../org/apache/pinot/tools/BootstrapTableTool.java |   171 +-
 .../org/apache/pinot/tools/GenericQuickstart.java  |   149 +
 .../org/apache/pinot/tools/JoinQuickStart.java     |   131 +
 .../apache/pinot/tools/JsonIndexQuickStart.java    |    89 +
 .../java/org/apache/pinot/tools/Quickstart.java    |    17 +-
 .../pinot/tools/RealtimeJsonIndexQuickStart.java   |   111 +
 .../apache/pinot/tools/StarTreeIndexViewer.java    |   217 +-
 .../pinot/tools/admin/PinotAdministrator.java      |    20 +-
 .../tools/admin/command/AddSchemaCommand.java      |    18 +-
 .../pinot/tools/admin/command/AddTableCommand.java |    17 +-
 .../tools/admin/command/AddTenantCommand.java      |    13 +-
 .../tools/admin/command/BootstrapTableCommand.java |    14 +-
 .../tools/admin/command/ChangeTableState.java      |    18 +-
 .../tools/admin/command/ImportDataCommand.java     |   390 +
 .../command/LaunchDataIngestionJobCommand.java     |     9 +
 .../OfflineSegmentIntervalCheckerCommand.java      |     8 +-
 .../admin/command/OperateClusterConfigCommand.java |    15 +-
 .../tools/admin/command/PostQueryCommand.java      |    15 +-
 .../tools/admin/command/QuickStartCommand.java     |     7 +
 .../tools/admin/command/QuickstartRunner.java      |    48 +-
 .../tools/admin/command/StartMinionCommand.java    |    28 +-
 .../tools/admin/command/UploadSegmentCommand.java  |    15 +-
 .../pinot/tools/data/generator/DataGenerator.java  |     2 +-
 .../pinot/tools/perf/PerfBenchmarkRunner.java      |    12 +-
 .../org/apache/pinot/tools/perf/QueryRunner.java   |   157 +-
 .../tools/scan/query/RangePredicateFilter.java     |    36 +-
 .../converter/DictionaryToRawIndexConverter.java   |     4 +-
 .../segment/converter/SegmentMergeCommand.java     |     5 +-
 .../pinot/tools/streams/MeetupRsvpJsonStream.java  |    63 +
 .../pinot/tools/streams/MeetupRsvpStream.java      |   149 +-
 .../pinot/tools/utils/KafkaStarterUtils.java       |     8 +
 .../src/main/resources/appAssemblerScriptTemplate  |    16 +-
 .../main/resources/conf/pinot-minion-log4j2.xml    |    48 +
 .../main/resources/conf/pinot-service-log4j2.xml   |     8 +
 .../githubEvents_offline_table_config.json         |    27 +
 .../batch/githubEvents/githubEvents_schema.json    |    40 +
 .../batch/githubEvents/ingestionJobSpec.yaml       |   139 +
 .../githubEvents/rawdata/githubEvents_data.json    | 10000 +++++++++++++++++++
 .../batch/githubEvents/sparkIngestionJobSpec.yaml  |   147 +
 .../batch/starbucksStores/ingestionJobSpec.yaml    |   139 +
 .../batch/starbucksStores/rawdata/data.csv         |  6444 ++++++++++++
 .../starbucksStores_offline_table_config.json      |    34 +
 .../starbucksStores/starbucksStores_schema.json    |    29 +
 .../airlineStats_offline_table_config.json         |    44 +
 .../batch}/airlineStats/airlineStats_schema.json   |     0
 .../baseballStats_offline_table_config.json        |    43 +
 .../batch/baseballStats/baseballStats_schema.json  |     0
 .../baseballStats/rawdata/baseballStats_data.csv   |     0
 ...lRequestMergedEvents_realtime_table_config.json |     1 -
 .../pullRequestMergedEvents_schema.json            |    12 +-
 .../json_meetupRsvp_realtime_table_config.json     |    41 +
 .../stream/meetupRsvp/json_meetupRsvp_schema.json  |    51 +
 .../meetupRsvp_realtime_table_config.json          |     4 +-
 .../stream/meetupRsvp/meetupRsvp_schema.json       |     2 +-
 .../upsert_meetupRsvp_realtime_table_config.json   |    10 +
 .../meetupRsvp/upsert_meetupRsvp_schema.json       |     2 +-
 pinot-tools/src/main/resources/star-tree.html      |     2 +-
 pom.xml                                            |    53 +-
 thirdeye/pom.xml                                   |    25 +-
 thirdeye/thirdeye-dashboard/pom.xml                |    44 -
 .../dashboard/ThirdEyeDashboardApplication.java    |     8 +-
 .../dashboard/ThirdEyeDashboardModule.java         |    12 +-
 .../dashboard/resources/AnomalyResource.java       |    44 +-
 .../resources/v2/RootCauseMetricResource.java      |   129 +-
 .../dashboard/resources/v2/RootCauseResource.java  |    11 +-
 .../thirdeye/detection/DetectionResource.java      |    27 +
 .../thirdeye/detection/yaml/YamlResource.java      |    35 +
 .../dashboard/resources/SummaryResourceTest.java   |     8 +
 .../bao/TestMergedAnomalyResultManager.java        |    19 +
 .../thirdeye/datasource/pinot/PqlUtilsTest.java    |    26 +-
 .../detection/algorithm/MergeWrapperTest.java      |    19 +-
 .../performance/PerformanceMetricsTest.java        |   215 +
 .../formatter/DetectionConfigFormatterTest.java    |    20 +
 .../sample-detection-composite-config.yml          |    74 +
 thirdeye/thirdeye-frontend/.eslintrc.js            |    52 +-
 thirdeye/thirdeye-frontend/.prettierignore         |     7 +
 thirdeye/thirdeye-frontend/.prettierrc             |    16 +
 thirdeye/thirdeye-frontend/README.md               |     5 +
 thirdeye/thirdeye-frontend/app/adapters/base.js    |    21 +-
 .../thirdeye-frontend/app/adapters/performance.js  |     2 +-
 .../thirdeye-frontend/app/adapters/share-config.js |     2 +-
 thirdeye/thirdeye-frontend/app/adapters/share.js   |     2 +-
 .../app/authenticators/custom-ldap.js              |    21 +-
 .../thirdeye-frontend/app/helpers/color-delta.js   |     4 +-
 .../thirdeye-frontend/app/helpers/compute-color.js |     6 +-
 .../app/helpers/compute-text-color.js              |     8 +-
 .../thirdeye-frontend/app/helpers/format-number.js |     4 +-
 thirdeye/thirdeye-frontend/app/helpers/get-safe.js |     5 +-
 thirdeye/thirdeye-frontend/app/helpers/set-has.js  |     4 +-
 thirdeye/thirdeye-frontend/app/mirage/config.js    |    25 +-
 .../thirdeye-frontend/app/mirage/endpoints/auth.js |     7 +-
 .../app/mirage/endpoints/entity-mapping.js         |    21 +-
 .../app/mirage/endpoints/rootcause.js              |   198 +-
 .../app/mirage/endpoints/selfserve.js              |    23 +-
 .../app/mirage/factories/alert.js                  |    93 +-
 .../app/mirage/factories/anomaly.js                |     8 +-
 .../app/mirage/fixtures/anomalyPerformance.js      |    20 +-
 .../app/mirage/fixtures/applicationAnomalies.js    |    30 +-
 .../thirdeye-frontend/app/mirage/fixtures/jobs.js  |     2 +-
 .../thirdeye-frontend/app/mirage/models/alert.js   |     3 +-
 .../thirdeye-frontend/app/mirage/models/anomaly.js |     3 +-
 .../app/mirage/scenarios/default.js                |     3 +-
 .../app/mocks/compositeAnomalies.js                |   256 +
 .../thirdeye-frontend/app/models/performance.js    |     2 +-
 .../thirdeye-frontend/app/models/share-config.js   |     2 +-
 thirdeye/thirdeye-frontend/app/models/share.js     |     2 +-
 .../app/pods/components/alert-details/component.js |  1203 +--
 .../app/pods/components/alert-details/template.hbs |   413 +-
 .../components/alert-report-modal/component.js     |    19 +-
 .../components/alert-report-modal/template.hbs     |     1 +
 .../pods/components/anomaly-summary/component.js   |   321 +-
 .../pods/components/breadcrumb-list/component.js   |    56 +
 .../pods/components/breadcrumb-list/template.hbs   |    10 +
 .../components/composite-anomalies/component.js    |   137 +
 .../composite-anomalies/data-table/template.hbs    |    24 +
 .../entity-metrics-anomalies/component.js          |    56 +
 .../entity-metrics-anomalies/template.hbs          |     1 +
 .../group-constituents-anomalies/component.js      |    56 +
 .../group-constituents-anomalies/template.hbs      |     1 +
 .../parent-anomalies/component.js                  |    53 +
 .../parent-anomalies/template.hbs                  |     1 +
 .../components/composite-anomalies/template.hbs    |     9 +
 .../app/pods/components/cube-tooltip/component.js  |     4 +-
 .../pods/components/detection-health/component.js  |   261 +-
 .../pods/components/detection-health/template.hbs  |   154 +-
 .../pods/components/detection-yaml/component.js    |   179 +-
 .../app/pods/components/entity-filter/component.js |    32 +-
 .../pods/components/filter-bar-input/component.js  |    27 +-
 .../app/pods/components/filter-bar/component.js    |   160 +-
 .../app/pods/components/filter-select/component.js |    43 +-
 .../app/pods/components/heatmap-chart/component.js |   140 +-
 .../app/pods/components/login-form/component.js    |     9 +-
 .../app/pods/components/login-form/template.hbs    |     2 +-
 .../modals/create-event-modal/component.js         |    23 +-
 .../modals/entity-mapping-modal/component.js       |   186 +-
 .../components/modals/error-modal/component.js     |     1 -
 .../components/range-pill-selectors/component.js   |    72 +-
 .../pods/components/rootcause-anomaly/component.js |   207 +-
 .../rootcause-callgraph-table/component.js         |    50 +-
 .../rootcause-chart-toolbar/component.js           |    75 +-
 .../rootcause-chart-toolbar/template.hbs           |     1 +
 .../pods/components/rootcause-chart/component.js   |   433 +-
 .../rootcause-custom-baseline/component.js         |    68 +-
 .../rootcause-data-indicator/component.js          |    22 +-
 .../rootcause-dimensions-algorithm/component.js    |   267 +-
 .../rootcause-dimensions-settings/component.js     |    51 +-
 .../rootcause-dimensions-table/component.js        |   142 +-
 .../pods/components/rootcause-header/component.js  |    11 +-
 .../pods/components/rootcause-heatmap/component.js |   411 +-
 .../pods/components/rootcause-legend/component.js  |   135 +-
 .../pods/components/rootcause-legend/template.hbs  |     8 +-
 .../pods/components/rootcause-metrics/component.js |   220 +-
 .../rootcause-select-comparison-range/component.js |    47 +-
 .../rootcause-select-metric-dimension/component.js |    55 +-
 .../rootcause-select-metric/component.js           |    81 +-
 .../pods/components/rootcause-table/component.js   |    63 +-
 .../pods/components/rootcause-trend/component.js   |   231 +-
 .../self-serve-alert-details/component.js          |   233 +-
 .../self-serve-alert-details/template.hbs          |     6 +-
 .../self-serve-alert-yaml-details/component.js     |    10 +
 .../self-serve-alert-yaml-details/template.hbs     |   172 +-
 .../self-serve-config-group-table/component.js     |     4 +-
 .../components/share-custom-template/component.js  |    64 +-
 .../app/pods/components/stats-cards/component.js   |   110 +-
 .../app/pods/components/stats-cards/template.hbs   |   143 +-
 .../pods/components/subscription-yaml/component.js |    29 +-
 .../app/pods/components/te-modal/component.js      |    46 +-
 .../app/pods/components/te-modal/template.hbs      |     6 +-
 .../app/pods/components/te-navbar/component.js     |     1 -
 .../pods/components/timeseries-chart/component.js  |   168 +-
 .../app/pods/components/update-table/component.js  |     1 -
 .../anomalies-list/template.hbs                    |     3 +
 .../criticality/template.hbs                       |     3 +
 .../current-predicted/template.hbs                 |     6 +
 .../dimensions/template.hbs                        |     3 +
 .../group-name/component.js                        |    10 +
 .../group-name/template.hbs                        |     3 +
 .../composite-anomalies-table/metric/template.hbs  |     3 +
 .../resolution/component.js                        |    61 +
 .../resolution/template.hbs                        |    54 +
 .../start-duration/component.js                    |    10 +
 .../start-duration/template.hbs                    |     8 +
 .../app/pods/home/index/controller.js              |   263 +-
 .../app/pods/home/index/template.hbs               |   127 +-
 .../explore/composite-anomalies/controller.js      |   164 +
 .../manage/explore/composite-anomalies/route.js    |    28 +
 .../explore/composite-anomalies/template.hbs       |    66 +
 .../app/pods/manage/explore/route.js               |    56 +-
 .../explore/single-metric-anomalies/controller.js  |     4 +
 .../explore/single-metric-anomalies/route.js       |    16 +
 .../explore/single-metric-anomalies/template.hbs   |    20 +
 .../app/pods/manage/explore/template.hbs           |    39 +-
 .../pods/partials/rootcause/metrics/template.hbs   |     1 +
 .../app/pods/rootcause/controller.js               |   687 +-
 .../app/pods/services/api/anomalies/service.js     |    76 +-
 .../services/rootcause-aggregates-cache/service.js |    74 +-
 thirdeye/thirdeye-frontend/app/router.js           |     5 +-
 thirdeye/thirdeye-frontend/app/serializers/base.js |     6 +-
 .../app/serializers/dimensions.js                  |    16 +-
 .../app/serializers/share-config.js                |    23 +-
 .../thirdeye-frontend/app/serializers/share.js     |     2 +-
 .../app/shared/callgraphTableColumns.js            |    12 +-
 .../app/shared/dimensionAnalysisTableConfig.js     |     8 +-
 .../app/shared/dimensionsTableColumns.js           |    21 +-
 .../app/shared/eventTableColumns.js                |    12 +-
 .../app/shared/filterBarConfig.js                  |   190 +-
 .../app/shared/metricFunnelColumns.js              |    56 +
 .../app/shared/metricsTableColumns.js              |    24 +-
 thirdeye/thirdeye-frontend/app/styles/app.scss     |     2 +
 .../app/styles/components/breadcrumb-list.scss     |    21 +
 .../app/styles/components/button.scss              |    34 +-
 .../app/styles/components/te-anomaly-table.scss    |     1 +
 .../pods/custom/composite-anomalies-table.scss     |    53 +
 .../app/styles/shared/_styles.scss                 |   140 +-
 .../app/utils/anomalies-tree-parser.js             |   619 ++
 thirdeye/thirdeye-frontend/app/utils/anomaly.js    |   145 +-
 .../thirdeye-frontend/app/utils/api/anomaly.js     |    12 +
 .../thirdeye-frontend/app/utils/api/self-serve.js  |    43 +-
 .../thirdeye-frontend/app/utils/build-tooltip.js   |    45 +-
 .../app/utils/composite-anomalies.js               |   141 +
 thirdeye/thirdeye-frontend/app/utils/constants.js  |     7 +-
 .../app/utils/date-picker-utils.js                 |    51 +
 .../app/utils/manage-alert-utils.js                |    98 +-
 thirdeye/thirdeye-frontend/app/utils/pub-sub.js    |    72 +
 thirdeye/thirdeye-frontend/app/utils/rca-utils.js  |   170 +-
 thirdeye/thirdeye-frontend/app/utils/translate.js  |     2 +-
 thirdeye/thirdeye-frontend/app/utils/utils.js      |   122 +-
 thirdeye/thirdeye-frontend/app/utils/yaml-tools.js |    71 +-
 .../thirdeye-frontend/config/ember-cli-update.json |    21 +
 thirdeye/thirdeye-frontend/jsconfig.json           |    20 +-
 thirdeye/thirdeye-frontend/package.json            |    31 +-
 thirdeye/thirdeye-frontend/testem.js               |    13 +-
 .../components/breadcrumb-list/component-test.js   |    33 +
 .../composite-anomalies/component-test.js          |    20 +
 .../entity-metrics-anomalies/component-test.js     |    74 +
 .../group-constituents-anomalies/component-test.js |    83 +
 .../parent-anomalies/component-test.js             |    71 +
 .../share-custom-template/component-test.js        |    34 +-
 .../pods/components/stats-cards/component-test.js  |    94 +-
 .../explore/composite-anomalies/route-test.js      |    11 +
 .../explore/single-metric-anomalies/route-test.js  |    11 +
 .../tests/unit/utils/anomalies-tree-parser-test.js |   362 +
 .../tests/unit/utils/date-picker-utils-test.js     |    36 +
 .../tests/unit/utils/pub-sub-test.js               |    19 +
 .../tests/unit/utils/utils-test.js                 |    44 +
 .../thirdeye-frontend/tests/utils/constants.js     |     4 +-
 thirdeye/thirdeye-frontend/yarn.lock               |  8657 +++++++++-------
 thirdeye/thirdeye-pinot/pom.xml                    |    40 +-
 .../anomaly/ThirdEyeAnomalyApplication.java        |     7 +
 .../thirdeye/common/ThirdEyeConfiguration.java     |    13 +
 .../resources/v2/BaselineParsingUtils.java         |    15 +-
 .../bao/jdbc/MergedAnomalyResultManagerImpl.java   |    25 +-
 .../datasource/pinot/PinotDataSourceTimeQuery.java |    13 +-
 .../datasource/pinot/PinotThirdEyeDataSource.java  |    12 +-
 .../pinot/thirdeye/datasource/pinot/PqlUtils.java  |   508 -
 .../pinot/thirdeye/datasource/pinot/SqlUtils.java  |   531 +
 .../pinot/resources/PinotDataSourceResource.java   |    12 +-
 .../detection/DetectionPipelineTaskRunner.java     |     4 +-
 .../thirdeye/detection/algorithm/MergeWrapper.java |    42 +-
 .../registry/DetectionAlertRegistry.java           |    76 +-
 .../annotation/registry/DetectionRegistry.java     |    47 +-
 .../validators/DetectionConfigValidator.java       |     4 +-
 .../formatter/DetectionConfigFormatter.java        |    20 +-
 .../notification/commons/ThirdEyeJiraClient.java   |     9 +-
 .../rootcause/timeseries/BaselineAggregate.java    |    21 +
 thirdeye/thirdeye-spi/pom.xml                      |     5 -
 .../datalayer/bao/MergedAnomalyResultManager.java  |     2 +
 .../detection/performance/PerformanceMetric.java   |    25 +
 .../performance/PerformanceMetricType.java         |     5 +
 .../detection/performance/PerformanceMetrics.java  |   160 +
 .../installation/cloud/on-premise.md               |     4 +-
 website/src/pages/download.js                      |    44 +
 website/src/pages/index.js                         |     6 +-
 1072 files changed, 80093 insertions(+), 20606 deletions(-)
 create mode 100644 .github/workflows/pinot_tests-workflow-run.yml
 create mode 100644 CODE_OF_CONDUCT.md
 create mode 100644 CONTRIBUTING.md
 create mode 100644 docker/images/pinot/etc/conf/pinot-broker-log4j2.xml
 create mode 100644 docker/images/pinot/etc/conf/pinot-controller-log4j2.xml
 create mode 100644 docker/images/pinot/etc/conf/pinot-server-log4j2.xml
 create mode 100644 kubernetes/helm/pinot-0.2.3.tgz
 create mode 100644 kubernetes/helm/pinot/templates/minion/configmap.yaml
 create mode 100644 kubernetes/helm/pinot/templates/minion/service-headless.yaml
 create mode 100644 kubernetes/helm/pinot/templates/minion/service.yaml
 create mode 100644 kubernetes/helm/pinot/templates/minion/statefulset.yml
 create mode 100644 pinot-broker/src/main/java/org/apache/pinot/broker/api/HttpRequesterIdentity.java
 create mode 100644 pinot-broker/src/main/java/org/apache/pinot/broker/broker/BasicAuthAccessControlFactory.java
 create mode 100644 pinot-broker/src/main/java/org/apache/pinot/broker/routing/segmentpruner/EmptySegmentPruner.java
 create mode 100644 pinot-broker/src/main/java/org/apache/pinot/broker/routing/segmentpruner/TimeSegmentPruner.java
 create mode 100644 pinot-broker/src/main/java/org/apache/pinot/broker/routing/segmentpruner/interval/Interval.java
 create mode 100644 pinot-broker/src/main/java/org/apache/pinot/broker/routing/segmentpruner/interval/IntervalTree.java
 create mode 100644 pinot-broker/src/test/java/org/apache/pinot/broker/broker/BasicAuthAccessControlTest.java
 create mode 100644 pinot-broker/src/test/java/org/apache/pinot/broker/routing/IntervalST/IntervalTest.java
 create mode 100644 pinot-broker/src/test/java/org/apache/pinot/broker/routing/IntervalST/IntervalTreeTest.java
 create mode 100644 pinot-clients/pinot-java-client/src/test/java/org/apache/pinot/client/AggregationResultSetTest.java
 create mode 100644 pinot-clients/pinot-java-client/src/test/java/org/apache/pinot/client/DynamicBrokerSelectorTest.java
 create mode 100644 pinot-clients/pinot-java-client/src/test/java/org/apache/pinot/client/ExecutionStatsTest.java
 create mode 100644 pinot-clients/pinot-java-client/src/test/java/org/apache/pinot/client/ExternalViewReaderTest.java
 create mode 100644 pinot-clients/pinot-java-client/src/test/java/org/apache/pinot/client/GroupByResultSetTest.java
 create mode 100644 pinot-clients/pinot-java-client/src/test/java/org/apache/pinot/client/ResultTableResultSetTest.java
 create mode 100644 pinot-clients/pinot-java-client/src/test/java/org/apache/pinot/client/SelectionResultSetTest.java
 create mode 100644 pinot-clients/pinot-java-client/src/test/java/org/apache/pinot/client/TextTableTest.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/config/tuner/NoOpTableTableConfigTuner.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/config/tuner/RealTimeAutoIndexTuner.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/config/tuner/TableConfigTunerRegistry.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/function/DateTimeUtils.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/function/TimeZoneKey.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/function/scalar/ArrayFunctions.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/minion/MinionClient.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/minion/MinionRequestURLBuilder.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/restlet/resources/SegmentConsumerInfo.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/segment/generation/SegmentGenerationUtils.java
 rename {pinot-core/src/main/resources/org/apache/pinot/core/operator/transform/function => pinot-common/src/main/resources}/zone-index.properties (100%)
 create mode 100644 pinot-common/src/test/java/org/apache/pinot/common/config/tuner/RealTimeAutoIndexTunerTest.java
 create mode 100644 pinot-common/src/test/java/org/apache/pinot/common/config/tuner/TunerRegistryTest.java
 create mode 100644 pinot-common/src/test/java/org/apache/pinot/common/function/JsonFunctionsTest.java
 create mode 100644 pinot-common/src/test/java/org/apache/pinot/common/minion/MinionClientTest.java
 create mode 100644 pinot-common/src/test/java/org/apache/pinot/common/segment/generation/SegmentGenerationUtilsTest.java
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/api/access/AccessControlUtils.java
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/api/access/AccessType.java
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/api/access/Authenticate.java
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/api/access/AuthenticationFilter.java
 delete mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/api/listeners/ListenerConfig.java
 delete mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/api/listeners/TlsConfiguration.java
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/PinotIngestionRestletResource.java
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/OfflineDimTableSegmentAssignment.java
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/minion/CronJobScheduleJob.java
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/minion/TableTaskSchedulerUpdater.java
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/minion/TaskTypeMetricsUpdater.java
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/minion/generator/SegmentGenerationAndPushTaskGenerator.java
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/util/ConsumingSegmentInfoReader.java
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/util/FileIngestionHelper.java
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/util/FileIngestionUtils.java
 delete mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/util/ListenerConfigUtil.java
 create mode 100644 pinot-controller/src/main/resources/app/components/Homepage/Operations/AddDeleteComponent.tsx
 create mode 100644 pinot-controller/src/main/resources/app/components/Homepage/Operations/AddIndexingComponent.tsx
 create mode 100644 pinot-controller/src/main/resources/app/components/Homepage/Operations/AddIngestionComponent.tsx
 create mode 100644 pinot-controller/src/main/resources/app/components/Homepage/Operations/AddOfflineTableOp.tsx
 create mode 100644 pinot-controller/src/main/resources/app/components/Homepage/Operations/AddOfflineTenantComponent.tsx
 create mode 100644 pinot-controller/src/main/resources/app/components/Homepage/Operations/AddPartionComponent.tsx
 create mode 100644 pinot-controller/src/main/resources/app/components/Homepage/Operations/AddQueryComponent.tsx
 create mode 100644 pinot-controller/src/main/resources/app/components/Homepage/Operations/AddRealTimeIngestionComponent.tsx
 create mode 100644 pinot-controller/src/main/resources/app/components/Homepage/Operations/AddRealTimePartionComponent.tsx
 create mode 100644 pinot-controller/src/main/resources/app/components/Homepage/Operations/AddRealtimeTableOp.tsx
 create mode 100644 pinot-controller/src/main/resources/app/components/Homepage/Operations/AddSchemaOp.tsx
 create mode 100644 pinot-controller/src/main/resources/app/components/Homepage/Operations/AddStorageComponent.tsx
 delete mode 100644 pinot-controller/src/main/resources/app/components/Homepage/Operations/AddTableOp.tsx
 delete mode 100644 pinot-controller/src/main/resources/app/components/Homepage/Operations/AddTableSchemaOp.tsx
 create mode 100644 pinot-controller/src/main/resources/app/components/Homepage/Operations/AddTenantComponent.tsx
 create mode 100644 pinot-controller/src/main/resources/app/components/Homepage/Operations/MultiIndexingComponent.tsx
 create mode 100644 pinot-controller/src/main/resources/app/components/Homepage/Operations/MultiMetricComponent.tsx
 create mode 100644 pinot-controller/src/main/resources/app/components/Homepage/Operations/MultipleSelectComponent.tsx
 create mode 100644 pinot-controller/src/main/resources/app/components/Homepage/Operations/SchemaNameComponent.tsx
 create mode 100644 pinot-controller/src/main/resources/app/pages/SchemaPageDetails.tsx
 create mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/ControllerTestSetup.java
 create mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/ControllerTestUtils.java
 create mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/api/ConsumingSegmentInfoReaderTest.java
 create mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/api/PinotBrokerRestletResourceStatelessTest.java
 delete mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/api/PinotBrokerRestletResourceTest.java
 create mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/api/PinotIngestionRestletResourceTest.java
 create mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/api/access/AuthenticationFilterTest.java
 create mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/helix/ControllerPeriodicTaskStarterStatelessTest.java
 delete mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/helix/ControllerPeriodicTaskStarterTest.java
 create mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/helix/ControllerTenantStatelessTest.java
 delete mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/helix/ControllerTenantTest.java
 create mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/helix/PinotControllerModeStatelessTest.java
 delete mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/helix/PinotControllerModeTest.java
 create mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/PinotHelixResourceManagerStatelessTest.java
 create mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/assignment/segment/OfflineDimTableSegmentAssignmentTest.java
 create mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/minion/PinotTaskManagerTest.java
 create mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/minion/generator/SegmentGenerationAndPushTaskGeneratorTest.java
 create mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/rebalance/TableRebalancerClusterStatelessTest.java
 delete mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/rebalance/TableRebalancerClusterTest.java
 create mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/validation/ValidationManagerStatelessTest.java
 create mode 100644 pinot-controller/testng-statefull.xml
 create mode 100644 pinot-controller/testng-stateless.xml
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/data/manager/offline/DimensionTableDataManager.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/data/table/UnboundedConcurrentIndexedTable.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/indexsegment/immutable/EmptyIndexSegment.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/io/reader/impl/FixedBitIntReader.java
 delete mode 100644 pinot-core/src/main/java/org/apache/pinot/core/io/util/VarLengthBytesValueReaderWriter.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/io/util/VarLengthValueReader.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/io/util/VarLengthValueWriter.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/combine/DistinctCombineOperator.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/filter/H3IndexFilterOperator.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/filter/JsonMatchFilterOperator.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/filter/predicate/FSTBasedRegexpPredicateEvaluatorFactory.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/query/DistinctOperator.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/AndOperatorTransformFunction.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/LogicalOperatorTransformFunction.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/LookupTransformFunction.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/OrOperatorTransformFunction.java
 delete mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/TimeZoneKey.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/plan/DistinctPlanNode.java
 delete mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/customobject/DistinctTable.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/DistinctExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/DistinctExecutorFactory.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/DistinctTable.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/dictionary/BaseDictionaryBasedMultiColumnDistinctExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/dictionary/BaseDictionaryBasedSingleColumnDistinctExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/dictionary/DictionaryBasedMultiColumnDistinctOnlyExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/dictionary/DictionaryBasedMultiColumnDistinctOrderByExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/dictionary/DictionaryBasedSingleColumnDistinctOnlyExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/dictionary/DictionaryBasedSingleColumnDistinctOrderByExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/raw/BaseRawBytesSingleColumnDistinctExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/raw/BaseRawDoubleSingleColumnDistinctExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/raw/BaseRawFloatSingleColumnDistinctExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/raw/BaseRawIntSingleColumnDistinctExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/raw/BaseRawLongSingleColumnDistinctExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/raw/BaseRawStringSingleColumnDistinctExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/raw/RawBytesSingleColumnDistinctOnlyExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/raw/RawBytesSingleColumnDistinctOrderByExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/raw/RawDoubleSingleColumnDistinctOnlyExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/raw/RawDoubleSingleColumnDistinctOrderByExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/raw/RawFloatSingleColumnDistinctOnlyExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/raw/RawFloatSingleColumnDistinctOrderByExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/raw/RawIntSingleColumnDistinctOnlyExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/raw/RawIntSingleColumnDistinctOrderByExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/raw/RawLongSingleColumnDistinctOnlyExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/raw/RawLongSingleColumnDistinctOrderByExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/raw/RawMultiColumnDistinctExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/raw/RawStringSingleColumnDistinctOnlyExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/raw/RawStringSingleColumnDistinctOrderByExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/request/context/predicate/JsonMatchPredicate.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/realtime/impl/geospatial/MutableH3Index.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/realtime/impl/json/MutableJsonIndex.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/segment/creator/GeoSpatialIndexCreator.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/segment/creator/JsonIndexCreator.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/segment/creator/impl/inv/BitmapInvertedIndexWriter.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/segment/creator/impl/inv/geospatial/BaseH3IndexCreator.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/segment/creator/impl/inv/geospatial/H3IndexConfig.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/segment/creator/impl/inv/geospatial/H3IndexResolution.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/segment/creator/impl/inv/geospatial/OffHeapH3IndexCreator.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/segment/creator/impl/inv/geospatial/OnHeapH3IndexCreator.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/segment/creator/impl/inv/json/BaseJsonIndexCreator.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/segment/creator/impl/inv/json/OffHeapJsonIndexCreator.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/segment/creator/impl/inv/json/OnHeapJsonIndexCreator.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/segment/creator/impl/inv/text/LuceneFSTIndexCreator.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/segment/index/datasource/EmptyDataSource.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/segment/index/loader/invertedindex/H3IndexHandler.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/segment/index/loader/invertedindex/JsonIndexHandler.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/segment/index/loader/invertedindex/LuceneFSTIndexHandler.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/segment/index/readers/H3IndexReader.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/segment/index/readers/JsonIndexReader.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/segment/index/readers/LuceneFSTIndexReader.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/segment/index/readers/forward/FixedBitSVForwardIndexReaderV2.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/segment/index/readers/geospatial/ImmutableH3IndexReader.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/segment/index/readers/json/ImmutableJsonIndexReader.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/transport/ListenerConfig.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/transport/TlsConfig.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/util/H3Utils.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/util/ListenerConfigUtil.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/util/TlsUtils.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/util/fst/FSTBuilder.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/util/fst/PinotBufferIndexInput.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/util/fst/RegexpMatcher.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/data/function/ArithmeticFunctionsTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/data/function/ArrayFunctionsTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/data/function/DateTimeFunctionsTest.java
 delete mode 100644 pinot-core/src/test/java/org/apache/pinot/core/data/function/InbuiltFunctionsTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/data/function/JsonFunctionsTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/data/manager/offline/DimensionTableDataManagerTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/io/reader/impl/FixedBitIntReaderTest.java
 delete mode 100644 pinot-core/src/test/java/org/apache/pinot/core/io/util/VarLengthBytesValueReaderWriterTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/io/util/VarLengthValueReaderWriterTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/operator/transform/function/AndOperatorTransformFunctionTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/operator/transform/function/LogicalOperatorTransformFunctionTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/operator/transform/function/LookupTransformFunctionTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/operator/transform/function/OrOperatorTransformFunctionTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/segment/creator/impl/inv/geospatial/H3IndexResolutionTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/segment/index/H3IndexTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/segment/index/JsonIndexTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/segment/index/creator/LuceneFSTIndexCreatorTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/segment/index/creator/SegmentGenerationWithNoRecordsTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/segment/index/readers/forward/FixedBitSVForwardIndexReaderV2Test.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/queries/FSTBasedRegexpLikeQueriesTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/queries/H3IndexQueriesTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/queries/JsonMatchPredicateTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/util/FSTBuilderTest.java
 create mode 100644 pinot-core/src/test/resources/data/dimBaseballTeams.avro
 create mode 100644 pinot-core/src/test/resources/data/dimBaseballTeams.avsc
 create mode 100644 pinot-core/src/test/resources/data/dimBaseballTeams.csv
 create mode 100644 pinot-core/src/test/resources/data/dimBaseballTeams_schema.json
 create mode 100644 pinot-core/src/test/resources/data/newColumnsSchema4.json
 copy website/src/components/Step/styles.css => pinot-core/src/test/resources/data/test_empty_data.json (100%)
 create mode 100644 pinot-integration-tests/src/test/java/org/apache/pinot/compat/tests/ClusterDescriptor.java
 create mode 100644 pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/ExactlyOnceKafkaRealtimeClusterIntegrationTest.java
 create mode 100644 pinot-integration-tests/src/test/resources/compat-tests/configs/feature-test-1-realtime-stream-config.json
 create mode 100644 pinot-integration-tests/src/test/resources/compat-tests/configs/feature-test-1-realtime.json
 create mode 100644 pinot-integration-tests/src/test/resources/compat-tests/kafka/topic1.cfg
 create mode 100644 pinot-integration-tests/src/test/resources/compat-tests/stream-op-publish.yaml
 create mode 100644 pinot-integration-tests/src/test/resources/compat-tests/table-segment-op.yaml
 create mode 100644 pinot-minion/src/main/java/org/apache/pinot/minion/event/DefaultMinionEventObserver.java
 create mode 100644 pinot-minion/src/main/java/org/apache/pinot/minion/event/DefaultMinionEventObserverFactory.java
 create mode 100644 pinot-minion/src/main/java/org/apache/pinot/minion/event/EventObserverFactoryRegistry.java
 create mode 100644 pinot-minion/src/main/java/org/apache/pinot/minion/event/MinionEventObserver.java
 create mode 100644 pinot-minion/src/main/java/org/apache/pinot/minion/event/MinionEventObserverFactory.java
 delete mode 100644 pinot-minion/src/main/java/org/apache/pinot/minion/events/DefaultMinionEventObserver.java
 delete mode 100644 pinot-minion/src/main/java/org/apache/pinot/minion/events/DefaultMinionEventObserverFactory.java
 delete mode 100644 pinot-minion/src/main/java/org/apache/pinot/minion/events/EventObserverFactoryRegistry.java
 delete mode 100644 pinot-minion/src/main/java/org/apache/pinot/minion/events/MinionEventObserver.java
 delete mode 100644 pinot-minion/src/main/java/org/apache/pinot/minion/events/MinionEventObserverFactory.java
 create mode 100644 pinot-minion/src/main/java/org/apache/pinot/minion/executor/SegmentGenerationAndPushResult.java
 create mode 100644 pinot-minion/src/main/java/org/apache/pinot/minion/executor/SegmentGenerationAndPushTaskExecutor.java
 create mode 100644 pinot-minion/src/main/java/org/apache/pinot/minion/executor/SegmentGenerationAndPushTaskExecutorFactory.java
 create mode 100644 pinot-perf/src/main/java/org/apache/pinot/perf/BenchmarkFixedBitIntReader.java
 create mode 100644 pinot-perf/src/main/java/org/apache/pinot/perf/BenchmarkFixedBitSVForwardIndexReader.java
 create mode 100644 pinot-perf/src/main/java/org/apache/pinot/perf/BenchmarkIntOpenHashMap.java
 create mode 100644 pinot-perf/src/main/java/org/apache/pinot/perf/BenchmarkOffheapBitmapInvertedIndexCreator.java
 delete mode 100644 pinot-plugins/pinot-batch-ingestion/pinot-batch-ingestion-common/src/main/java/org/apache/pinot/plugin/ingestion/batch/common/SegmentGenerationUtils.java
 delete mode 100644 pinot-plugins/pinot-batch-ingestion/pinot-batch-ingestion-common/src/test/java/org/apache/pinot/plugin/ingestion/batch/common/SegmentGenerationUtilsTest.java
 create mode 100644 pinot-plugins/pinot-batch-ingestion/pinot-batch-ingestion-hadoop/src/test/java/org/apache/pinot/plugin/ingestion/batch/hadoop/HadoopSegmentGenerationJobRunnerTest.java
 copy {pinot-tools => pinot-plugins/pinot-batch-ingestion/pinot-batch-ingestion-hadoop}/src/test/resources/log4j2.xml (100%)
 create mode 100644 pinot-plugins/pinot-batch-ingestion/pinot-batch-ingestion-standalone/src/test/java/org/apache/pinot/plugin/ingestion/batch/standalone/SegmentGenerationJobRunnerTest.java
 copy {pinot-tools => pinot-plugins/pinot-batch-ingestion/pinot-batch-ingestion-standalone}/src/test/resources/log4j2.xml (100%)
 create mode 100644 pinot-plugins/pinot-batch-ingestion/v0_deprecated/pinot-spark/src/test/java/SegmentCreationSparkTest.java
 copy {pinot-core/src/test/resources/data => pinot-plugins/pinot-batch-ingestion/v0_deprecated/pinot-spark/src/test/resources}/test_sample_data.csv (100%)
 delete mode 100644 pinot-plugins/pinot-file-system/pinot-adls/src/test/java/com/microsoft/azure/datalake/store/MockADLFileInputStream.java
 create mode 100644 pinot-plugins/pinot-file-system/pinot-adls/src/test/java/org/apache/pinot/plugin/filesystem/test/ADLSGen2PinotFSTest.java
 create mode 100644 pinot-plugins/pinot-file-system/pinot-adls/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/annotations/minion/EventObserverFactory.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/annotations/minion/TaskExecutorFactory.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/annotations/minion/TaskGenerator.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/config/ConfigUtils.java
 delete mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/config/table/IngestionConfig.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/config/table/TableStats.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/config/table/TunerConfig.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/config/table/ingestion/BatchIngestionConfig.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/config/table/ingestion/IngestionConfig.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/config/table/ingestion/StreamIngestionConfig.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/config/table/tuner/TableConfigTuner.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/config/table/tuner/Tuner.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/ingestion/batch/BatchConfig.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/ingestion/batch/BatchConfigProperties.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/ingestion/batch/spec/TlsSpec.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/utils/IngestionConfigUtils.java
 create mode 100644 pinot-spi/src/test/java/org/apache/pinot/spi/config/ConfigUtilsTest.java
 create mode 100644 pinot-spi/src/test/java/org/apache/pinot/spi/ingestion/batch/BatchConfigTest.java
 create mode 100644 pinot-spi/src/test/java/org/apache/pinot/spi/utils/IngestionConfigUtilsTest.java
 create mode 100644 pinot-spi/src/test/java/org/apache/pinot/spi/utils/JsonUtilsTest.java
 create mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/BatchQuickstartWithMinion.java
 create mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/GenericQuickstart.java
 create mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/JoinQuickStart.java
 create mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/JsonIndexQuickStart.java
 create mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/RealtimeJsonIndexQuickStart.java
 create mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/ImportDataCommand.java
 create mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/streams/MeetupRsvpJsonStream.java
 create mode 100644 pinot-tools/src/main/resources/conf/pinot-minion-log4j2.xml
 create mode 100644 pinot-tools/src/main/resources/examples/batch/githubEvents/githubEvents_offline_table_config.json
 create mode 100644 pinot-tools/src/main/resources/examples/batch/githubEvents/githubEvents_schema.json
 create mode 100644 pinot-tools/src/main/resources/examples/batch/githubEvents/ingestionJobSpec.yaml
 create mode 100644 pinot-tools/src/main/resources/examples/batch/githubEvents/rawdata/githubEvents_data.json
 create mode 100644 pinot-tools/src/main/resources/examples/batch/githubEvents/sparkIngestionJobSpec.yaml
 create mode 100644 pinot-tools/src/main/resources/examples/batch/starbucksStores/ingestionJobSpec.yaml
 create mode 100644 pinot-tools/src/main/resources/examples/batch/starbucksStores/rawdata/data.csv
 create mode 100644 pinot-tools/src/main/resources/examples/batch/starbucksStores/starbucksStores_offline_table_config.json
 create mode 100644 pinot-tools/src/main/resources/examples/batch/starbucksStores/starbucksStores_schema.json
 create mode 100644 pinot-tools/src/main/resources/examples/minions/batch/airlineStats/airlineStats_offline_table_config.json
 copy pinot-tools/src/main/resources/examples/{stream => minions/batch}/airlineStats/airlineStats_schema.json (100%)
 create mode 100644 pinot-tools/src/main/resources/examples/minions/batch/baseballStats/baseballStats_offline_table_config.json
 copy pinot-tools/src/main/resources/examples/{ => minions}/batch/baseballStats/baseballStats_schema.json (100%)
 copy pinot-tools/src/main/resources/examples/{ => minions}/batch/baseballStats/rawdata/baseballStats_data.csv (100%)
 create mode 100644 pinot-tools/src/main/resources/examples/stream/meetupRsvp/json_meetupRsvp_realtime_table_config.json
 create mode 100644 pinot-tools/src/main/resources/examples/stream/meetupRsvp/json_meetupRsvp_schema.json
 create mode 100644 thirdeye/thirdeye-dashboard/src/test/java/org/apache/pinot/thirdeye/detection/performance/PerformanceMetricsTest.java
 create mode 100644 thirdeye/thirdeye-dashboard/src/test/resources/sample-detection-composite-config.yml
 create mode 100644 thirdeye/thirdeye-frontend/.prettierignore
 create mode 100644 thirdeye/thirdeye-frontend/.prettierrc
 create mode 100644 thirdeye/thirdeye-frontend/app/mocks/compositeAnomalies.js
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/components/breadcrumb-list/component.js
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/components/breadcrumb-list/template.hbs
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/components/composite-anomalies/component.js
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/components/composite-anomalies/data-table/template.hbs
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/components/composite-anomalies/entity-metrics-anomalies/component.js
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/components/composite-anomalies/entity-metrics-anomalies/template.hbs
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/components/composite-anomalies/group-constituents-anomalies/component.js
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/components/composite-anomalies/group-constituents-anomalies/template.hbs
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/components/composite-anomalies/parent-anomalies/component.js
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/components/composite-anomalies/parent-anomalies/template.hbs
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/components/composite-anomalies/template.hbs
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/custom/composite-anomalies-table/anomalies-list/template.hbs
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/custom/composite-anomalies-table/criticality/template.hbs
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/custom/composite-anomalies-table/current-predicted/template.hbs
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/custom/composite-anomalies-table/dimensions/template.hbs
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/custom/composite-anomalies-table/group-name/component.js
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/custom/composite-anomalies-table/group-name/template.hbs
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/custom/composite-anomalies-table/metric/template.hbs
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/custom/composite-anomalies-table/resolution/component.js
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/custom/composite-anomalies-table/resolution/template.hbs
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/custom/composite-anomalies-table/start-duration/component.js
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/custom/composite-anomalies-table/start-duration/template.hbs
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/manage/explore/composite-anomalies/controller.js
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/manage/explore/composite-anomalies/route.js
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/manage/explore/composite-anomalies/template.hbs
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/manage/explore/single-metric-anomalies/controller.js
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/manage/explore/single-metric-anomalies/route.js
 create mode 100644 thirdeye/thirdeye-frontend/app/pods/manage/explore/single-metric-anomalies/template.hbs
 create mode 100644 thirdeye/thirdeye-frontend/app/shared/metricFunnelColumns.js
 create mode 100644 thirdeye/thirdeye-frontend/app/styles/components/breadcrumb-list.scss
 create mode 100644 thirdeye/thirdeye-frontend/app/styles/pods/custom/composite-anomalies-table.scss
 create mode 100644 thirdeye/thirdeye-frontend/app/utils/anomalies-tree-parser.js
 create mode 100644 thirdeye/thirdeye-frontend/app/utils/composite-anomalies.js
 create mode 100644 thirdeye/thirdeye-frontend/app/utils/date-picker-utils.js
 create mode 100644 thirdeye/thirdeye-frontend/app/utils/pub-sub.js
 create mode 100644 thirdeye/thirdeye-frontend/config/ember-cli-update.json
 create mode 100644 thirdeye/thirdeye-frontend/tests/integration/pods/components/breadcrumb-list/component-test.js
 create mode 100644 thirdeye/thirdeye-frontend/tests/integration/pods/components/composite-anomalies/component-test.js
 create mode 100644 thirdeye/thirdeye-frontend/tests/integration/pods/components/composite-anomalies/entity-metrics-anomalies/component-test.js
 create mode 100644 thirdeye/thirdeye-frontend/tests/integration/pods/components/composite-anomalies/group-constituents-anomalies/component-test.js
 create mode 100644 thirdeye/thirdeye-frontend/tests/integration/pods/components/composite-anomalies/parent-anomalies/component-test.js
 create mode 100644 thirdeye/thirdeye-frontend/tests/unit/pods/manage/explore/composite-anomalies/route-test.js
 create mode 100644 thirdeye/thirdeye-frontend/tests/unit/pods/manage/explore/single-metric-anomalies/route-test.js
 create mode 100644 thirdeye/thirdeye-frontend/tests/unit/utils/anomalies-tree-parser-test.js
 create mode 100644 thirdeye/thirdeye-frontend/tests/unit/utils/date-picker-utils-test.js
 create mode 100644 thirdeye/thirdeye-frontend/tests/unit/utils/pub-sub-test.js
 create mode 100644 thirdeye/thirdeye-frontend/tests/unit/utils/utils-test.js
 delete mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/datasource/pinot/PqlUtils.java
 create mode 100644 thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/datasource/pinot/SqlUtils.java
 create mode 100644 thirdeye/thirdeye-spi/src/main/java/org/apache/pinot/thirdeye/detection/performance/PerformanceMetric.java
 create mode 100644 thirdeye/thirdeye-spi/src/main/java/org/apache/pinot/thirdeye/detection/performance/PerformanceMetricType.java
 create mode 100644 thirdeye/thirdeye-spi/src/main/java/org/apache/pinot/thirdeye/detection/performance/PerformanceMetrics.java


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org