You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by gi...@apache.org on 2022/06/08 17:40:47 UTC

[pinot] branch dependabot/maven/org.apache.hadoop-hadoop-common-3.2.3 updated (f72d7d9fd4 -> 506bdda61a)

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

github-bot pushed a change to branch dependabot/maven/org.apache.hadoop-hadoop-common-3.2.3
in repository https://gitbox.apache.org/repos/asf/pinot.git


 discard f72d7d9fd4 Bump hadoop-common from 2.10.1 to 3.2.3
     add ad6ae117b5 add shouldNotMerge field in segment metadata to indicate if it is safe to merge (#8508)
     add 4f30ab2b89 Manual tracing (#8485)
     add 900f01f288 Make getConfigMapWithPrefix auto append tailing dot if missing (#8522)
     add e594388c20 remove redundant operator names (#8528)
     add 45e382741e use ProcessHandle.pid when available (#8533)
     add 6debfa9771 Add zk metadata to segment's metadata.properties file (#8502)
     add a2f63921f0 Fix table creation bug for invalid realtime consumer props (#8509)
     add cb8bcc4d14 Add customizable parser module (#8484)
     add 400b603abd open javac modules for google-java-format (#8531)
     add 58ffe947b6 Add adhoc minion task creation endpoint (#8465)
     add 476679da86 Allow disabling dict generation for High cardinality columns (#8398)
     add 12227c5d70 Set 'shutdownInProgress' in server config when server starts before the startup check (#8525)
     add 5ae960d0de Add new compat test cases and data (#7235) (#8036)
     add aadd0cddcf make ConfigUtils testable without illegal reflective access (#8530)
     add fe7247fb96 create task queue as needed for adhoc task (#8540)
     add d503d505b2 Only discover public methods annotated with @ScalarFunction (#8544)
     add 05a7f28b73 don't snapshot environment in ConfigUtils (#8548)
     add 734d203a50 Fix BigDecimal ser/de on negative scale (#8553)
     add 87fb007f7d add scalar function for cast so it can be calculated at compile time (#8535)
     add 6fb7e521ef Add tracing for operator planning (#8523)
     add ce0a08a49d Add connection based FailureDetector (#8491)
     add 2704d88732 Make execute adhoc task call async to prevent timeout (#8555)
     add acfc618d0c This dependency should be packaged in the jar itself and not provided scope (#8561)
     add f48a22a141 Make spark dependency provided (#8559)
     add 82f7aefe3d Ensure all records are pushed in Pulsar Consumer Test (#8554)
     add 829ede946c Bump up azure dep versions to resolve conflict with netty (#8552)
     add 399cb97f30 Add brokerURL and better handle TimeoutException in QueryRunner (#8539)
     add bc363d8247 endpoints to get and delete minion task metadata (#8551)
     add 6eff17754a Enable range index on raw columns and push counts down to range index when v2 is in use (#8513)
     add 5687f27214 Simplify the parameters for DistinctCountSmartHLLAggregationFunction (#8566)
     add b025f437eb Add PercentileSmartTDigestAggregationFunction (#8565)
     add a08f8c637a Use MultiThreadedHttpConnectionManager in SegmentStatusChecker (#8568)
     add 727d0c9cf1 range index shouldn’t be loaded when the column is sorted (#8571)
     add 7e060fdbdd Improve StarTree traversal performance (#8570)
     add d2cfa0737a Invoke checkpoint before closing partition group consumer (#8564)
     add fe1423162e Move controllerUrlUtils to SPI (#8573)
     add 4f788b2995 Fix the deadlock in ClusterChangeMediator (#8572)
     add 2fba4b0cb7 Add query option to use more replica groups (#8550)
     add a954d85d29 Adding missing prometheus metrics to controller.yml (#8576)
     add d15847828a Package kafka 0.9 shaded jar to pinot-distribution (#8569)
     add f200ec5156 Added multi column partitioning for offline table (#8255)
     add 5eddb19d24 Merge ControllerSegmentUrlBuilder into ControllerRequestURLBuilder (#8575)
     add 8b5314dd97 Add minion health check endpoint (#8574)
     add d6001a258a Minimize data movement between instances in pools (#8483)
     add 75bacdfc00 Add dependencies for native netty and epoll to pinot-core (#8592)
     add 4d36f3dfbf Refactor quickstart data source (#8567)
     add 1d6ac065c1 Fix the upsert metadata bug when adding segment with same comparison value (#8590)
     add b96ca6c1fb upgrade lz4-java to 1.8.0 (#8594)
     add b0144cfba1 symlink pinot-java-client to jdk8 as well (#8591)
     add 89836a57c0 Enable minion liveness probe (#8593)
     add 6484742ada Bug fix: Complex type transformer should not be created for empty config (#8600)
     add b38a59be7c Indicate what fields are getting ignored when adding configs (#8514)
     add 7ab421d255 Make endReplaceSegments() idempotent. (#8599)
     add 5d54386ba4 Fix bug in segment rebalance with replica group segment assignment (#8598)
     add 232b946419 [pinot-spark-connector] Add option to connect using GRPC (#8481)
     add 71a6e6379b adding in OBJECT type resolver (#8608)
     add c373cb86e5 Add support for retry in kinesis producer (#8609)
     add d12c963b37 Add platform classifier to netty-tcnative-boringssl-static (#8615)
     add fc12dce890 [PQL Deprecation] Migrate all queries test to SQL (#8613)
     add 498387a323 Support st_contains using H3 index (#8498)
     add d282e45523 Support single-valued BigDecimal in schema, type conversion, SQL statements and minimum set of transforms. (#8503)
     add b5690a7137 Adding DML definition and parse SQL InsertFile (#8557)
     add d49d1173f9 Support filtering on bool/scalar fields without evaluator (#8518)
     add 4e14101f57 Add unrecognizedProperties to schema and tableConfigs APIs (#8606)
     add 72e1844559 Broker tracing (#8628)
     add 60ece7af17 Support BigDecimal raw value forward index; Support BigDecimal in many transforms and operators (#8622)
     add 01dda9ddfa pinot-java-client controller based broker selector (#8467)
     add f693bd3edc Update default helm image to latest (#8621)
     add 2e0f74d208 bugfix on timeout string format in KinesisDataProducer (#8631)
     add cced818177 Store batch message ids vs calculating them (#8612)
     add 907b0239b1 Implement Native Text Operator (#8384)
     add 1b2c278dae [PQL Cleanup] Remove all PQL related code (#8626)
     add 7edad89d61 Fix the potential NPE for timestamp index rewrite (#8633)
     add 43e1298e32 allow automatic tracing when a request is sampled by a registered tracer (#8629)
     add 9873ed9b96 add a experiment API for upsert heap memory estimation (#8355)
     add b3172464ce add FIRSTWITHTIME aggregate function support #7647 (#8181)
     add d5740856f4 Support conjugates for scalar functions, add more scalar functions (#8582)
     add 9bc1e059fb Allow rerunning startReplaceSegment with the same segmentsTo if the previous protocol fails in the middle (lineage entry in IN_PROGRESS status). (#8639)
     add 784860e3b4 Remove BrokerResponse from QueryContext (#8643)
     add 2896b1a9da In BrokerRequestHandler, directly work on PinotQuery if possible (#8644)
     add 74ee7252b4 Revert "Bug fix: Complex type transformer should not be created for empty config (#8600)" (#8646)
     add 4a0c574983 allow to take data outside the time window by negating the window filter (#8640)
     add 60e2706533 Remove geometry check for st_contain and st_within (#8620)
     add 328c0c23ec Access Control management Development (#8314) (#8314)
     add 6192229a60 Revert "Enable minion liveness probe (#8593)" (#8650)
     add ec42a3a6a4 fix column data type store for data table (#8648)
     add d0f9aaf5b3 fix GcsPinotFs listFiles by using bucket directly (#8656)
     add b4943458a5 [issue-7357] Add support for Avro logical types (#7358)
     add c0056dc278 Allow broker to automatically rewrite expensive function to its approximate counterpart (#8655)
     add 8fac50c038 [CI] Reduce quickstart testing to only LTS (#8665)
     add b9bfb8e752 Support ADLS authentication with AAD + proxy (#8654)
     add 497d0517ab Introduce Real Time Native Text Index (#8636)
     add d208f577ed Adding pinot file system command (#8659)
     add abf62f571d fix pruning in expressions by max/min/bloom (#8672)
     add 65cecd259e Randomly pick the first URI for RoundRobinURIProvider (#8666)
     add f4c85e9596 Fix the flaky UpsertTableSegmentUploadIntegrationTest (#8675)
     add 5135acb95d refine error msg related to segment name generation to be more actionable (#8676)
     add d616a097e5 Add BigDecimal OnHeap/OffHeap mutable dictionaries (#8678)
     add a12b760b74 Amend schema to add timestamp index during segment reloading (#8679)
     add d7f2054b6e Import dry run (#8673)
     add 23a81d07b5 Add TLS configuration to JDBC driver (#8578)
     add a7e2c12c99 Add InstanceTypeUtils to get instance type from the id (#8681)
     add 59bf3827db By default start 1 minion for all quickstart (#8682)
     add b58650658c Allow updating start/end offset for pushed segments (#8653)
     add 56282e8b2f track group by evaluation statistics (#8683)
     add 6d785e0eb3 Upgrade jersey to fix parallel segment upload (#8677)
     add e12bda1cf6 Fix the race condition of reading time boundary info (#8685)
     add 24a86acec0 Fixing GRPC ITCase timeout (#8686)
     add f9e55ce7a6 Handle the race condition for common dest segments in startReplaceSegments(). (#8667)
     add df29b81c27 Change minion's default port, enable minion health and readiness probe via helm chart (#8669)
     add 088da3f8c2 deduplicate predicates optimistically (#8687)
     add c3d17b9ed7 Fix PulsarConsumerTest (#8691)
     add cfb0074a2a Upgrade h3 to 3.7.2 for M1 Mac support (#8696)
     add f65b401dc7 Set max number of parallel segment downloads per table in pinot-server (#8694)
     add d06338acb8 avoid putting null into segment download uri (#8693)
     add 3983728e64 make exclusive bounds exclusive (#8703)
     add 078d8969bf Reduce wait time for pulsar tests (#8702)
     add d3c97d54d2 Add Pulsar plugin back to distribution (#8657)
     add f90137b1d5 rationalise Pair types (#8709)
     add e4a8e6ed60 throw when integer overflow occurs (#8710)
     add e788a0afc6 Fix when there're two index filter operator h3 inclusion index throw exception (#8707)
     add 159afb7820 Cleanup segment upload logic and allow validation on real-time table (#8695)
     add 7548b67592 CSV Realtime Decoder (#8658)
     add 70f505f028 Bugfixing, don't remove timestmap index during server restart. (#8705)
     add 09bae15030 Scalable Gapfill Implementation for Avg/Count/Sum (#8647)
     add d62438c36c [Minor] Make warning log more explicit for segment upload (#8715)
     add b8af790c2f Enable uploading segments to realtime tables (#8584)
     add b672af1b9f Disable Groovy function by default (#8711)
     add 3bbae6ef61 Remove big-decimal getters for lower/upper bound (#8712)
     add 2c3813bb97 Add pluggable client auth provider (#8670)
     add d2396dd983 Fix dimension table load when server restart or reload table (#8721)
     add ae02ecefa4 Ingestion Aggregation Feature  (#8611)
     add 1b3819e787 add primitive indexOf overloads to Dictionary interface (#8719)
     add 1009159feb gitignore should include helm generated files (#8728)
     add b4c4585813 Improve the range evaluation for raw values without range index (#8722)
     add 96a02910f3 Cache polygon h3 cells as it is expensive (#8725)
     add c739f423ee Use groups to annotate tests for controller (#8706)
     add c50b3c4bb4 [Test] Add star-tree test for unsupported filters (#8733)
     add 5cd6a7dc05 Groovy transform function should evaluate the script when arguments are null (#8732)
     add bf48b59c41 Add support for indexes during offline segment creation (#8601)
     add 167fa9476c Handle partial update for comparison columns (#8688)
     add 7cb1473b8f fix regression where case order was reversed, add regression test (#8748)
     add d1de3a0008 Add noServerFoundExceptions metric to broker.yaml (#8754)
     add 6ad7973971 Make max consecutive idle count before recreating stream configurable (#8740)
     add 047daadd23 Indexes on segment page (#8749)
     add 821976610e Improve the Explain Plan accuracy (#8738)
     add 2e32ec2577 Add metric for replication count from config (#8761)
     add 80db1657ab remove static ControllerTestUtils and use singleton instance ControllerTest instead (#8744)
     add 15416e5e8a Add option to skip statree index evaluation during query (#8737)
     add cfce5e1c7e vectorize predicate evaluation (#8759)
     add 0aa643d00b Vectorize predicates over full col filter scans (#8764)
     add 1c3a215750 allow to set https as the default scheme (#8729)
     add c7e835f961 Realtime table consumption resume API (#8663)
     add 6da48a842d fix a flaky test case by avoiding a race condition when reloading table and getting table size (#8739)
     add 39b9eabb56 bump RoaringBitmap and use andCardinality/orCardinality (#8765)
     add 5bf902eff9 Skip creating null value vector when there is no null value (#8756)
     add a307a23a0d Refactor PinotMetricUtils and MetricsRegistryRegistrationListener related classes from pinot-common to pinot-spi (#8763)
     add d4c99abe72 Add histogram aggregation function `feature`  (#8724)
     add 963d4483db Fix typo in add table command (#8772)
     add 9beb63049f Remove abuse of new ObjectMapper. (#8736)
     add 36298f0aa4 [Clean up] Simplify IngestionConfig construction (#8743)
     add fc564e90f5 Avoid query execution error when common aggregation functions are used w/ BIG_DECIMAL data type (#8769)
     add 73316a6cf7 Address comments for DoubleVectorOpUtils (#8777)
     add c1134a039b Deprecate debug options and always use query options (#8768)
     add c4549e2e60 Fix the issue of server opening up query server prematurely (#8785)
     add 11a060c606 Fix a typo in ServerInstance.startQueryServer() (#8794)
     add d281a1b187 simplify segment pruning - remove validsegmentpruner and dataschemasegmentpruner (#8790)
     add 8bfec60a86 improve date time field validation (#8792)
     add fb66e0c19f Handle concurrent updates in Pulsar test (#8797)
     add 2124a16502 Make row metadata available in Kafka 2.0 record ingestion (#8774)
     add 294ea08a32 Misc fixes on segment validation for uploaded real-time segments (#8786)
     add d2fa9dd097 Implement builtin-purge task (#8589)
     add a359c49787 Optimize ColumnValueSegmentPruner by caching value hashes (#8766)
     add b6ed91458e Default turn on grpc server endpoint (#8795)
     add 55fbd011e9 [DEBUG] more debug msg to debug flaky test case (#8807)
     add b597226592 Shade Hadoop Dependencies (#8798)
     add 9abf15fd6d Fix metadata push mode in IngestionUtils (#8802)
     add ae392432c4 Allow table name with dots by a PinotConfiguration switch (#8713)
     add 4269bfdeaa allow up to 4GB per bitmap index (#8796)
     add 07b3ee639c Add segment replace api failure metrics. (#8784)
     add 8b2b8f5762 Spark connector pom fixes (#8810)
     add 8788f1c0c3 Allow moveToFinalLocation in METADATA push based on config (#8815)
     add 2b82366c36 [Feature] Deduplication (#8708)
     add b028499439 Adding acl support for helm chart (#8816)
     add 7a311428bc Change DateTimeFormatSpec delimiter (#8779)
     add 7620fae032 Revert "Allow moveToFinalLocation in METADATA push based on config (#8815)" (#8822)
     add 7b9e16b65d Not overwrite the whole SystemResourceInfo config map (#8820)
     add 05271b0b09 add auth provider to minion client (#8826)
     add cd55015c0a Update ZK config in helm chart (#8817)
     add 24e2ad53bf Fix auth provider for minion (#8831)
     add e55c127d5e Spark Connector GRPC reader fix for reading realtime tables (#8824)
     add 551d53b6da Spark Connector, support for TIMESTAMP and BOOLEAN fields (#8825)
     add 17404b200e Add swagger authorization header support (#8830)
     add e8f9d88fc3 Improve MeetupRsvp Quickstart (#8827)
     add 9617f2c1da Optimize star-tree index to reuse the raw record as aggregated doc (#8840)
     add babfde1eb1 Handle BYTES Multi-value columns in indices (#8649)
     add d1d2ddbc11 Fix grpc port assignment in multiple server quickstart (#8834)
     add 15eae8a49b Not use number of controller addresses as retry count when fetch segment (#8845)
     add 041b62f079 Cleanup Kinesis Logs (#8787)
     add 810541655f Make PinotClientTransport(Factory) interfaces public (#8841)
     add 9f2f1b2bbc Fix multi value column index creation (#8848)
     add 8082838ff2 more context info to debug a flaky test (#8853)
     add 8a71323c3f Fix Upsert config validation to check for metrics aggregation (#8781)
     add dbfe39eaca Fix Configuration Obfuscation test. (#8855)
     add 966d828d31 make github action trigger on multi_stage_query_engine branch (#8342)
     add ab9e62f94e Add pinot-query-planner module (#8340)
     add f1e6a33ab5 add pinot-query-runtime (#8412)
     add 8b4309500c Use proto for query plan serialization (#8479)
     add 0b41497478 add support for project/filter pushdown (#8558)
     add f267e5845d fix rebase issue after PQL deprecation (#8652)
     add 57cf9e6f51 [hotfix] fix server discovery (#8664)
     add 30e21eb394 row/columnar compatible block (#8583)
     add 6b78c9baed [hotfix] multi stage engine serde (#8689)
     add b3d704c612 Merge Multistage Engine back to main (#8720)
     add 81bda1d26a fix merge conflicts
     add ea564f0add Allow appending UUID at end of segment name (#8789)
     add bb508919ab Change shading prefix so as to minimize conflicts with other libaries (#8602)
     add 129ec54302 Fix segment generation error handling (#8812)
     add 506bdda61a Bump hadoop-common from 2.10.1 to 3.2.3

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   (f72d7d9fd4)
            \
             N -- N -- N   refs/heads/dependabot/maven/org.apache.hadoop-hadoop-common-3.2.3 (506bdda61a)

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_compatibility_tests.yml    |   10 +-
 .github/workflows/pinot_tests.yml                  |   54 +-
 .github/workflows/scripts/.pinot_quickstart.sh     |   33 +-
 .gitignore                                         |    7 +-
 LICENSE-binary                                     |   48 +-
 .../config/BrokerConfig.properties                 |    1 +
 .../config/ControllerConfig.properties             |    1 +
 .../config/FeatureTest3-schema.json                |   55 +
 ...ta-00.csv => FeatureTest2-data-realtime-00.csv} |    0
 .../config/data/FeatureTest3-data-realtime-00.csv  |  307 +++
 .../data/recordReaderConfig-FeatureTest3.json      |    5 +
 .../sample-test-suite/config/dataGenerator.py      |   93 +
 .../sample-test-suite/config/feature-test-1.json   |    2 +-
 .../feature-test-3-realtime-stream-config.json     |    8 +
 .../config/feature-test-3-realtime.json            |   59 +
 .../queries/feature-test-3-sql-realtime.queries    |   47 +
 .../query-results/feature-test-1-rest-sql.results  |  126 +-
 .../feature-test-2-sql-realtime.results            |   62 +-
 .../feature-test-3-sql-realtime.results            |   47 +
 .../sample-test-suite/post-broker-rollback.yaml    |   16 +-
 .../post-controller-rollback.yaml                  |   14 +-
 .../sample-test-suite/post-server-rollback.yaml    |   16 +-
 .../sample-test-suite/post-server-upgrade.yaml     |   16 +-
 .../sample-test-suite/pre-broker-upgrade.yaml      |   15 +-
 .../sample-test-suite/pre-controller-upgrade.yaml  |   26 +-
 .../sample-test-suite/pre-server-upgrade.yaml      |   15 +-
 config/checkstyle.xml                              |    1 +
 contrib/pinot-fmpp-maven-plugin/pom.xml            |  111 +
 .../main/java/org/apache/pinot/fmpp/FMPPMojo.java  |  270 +++
 .../org/apache/pinot/fmpp/MavenDataLoader.java     |   55 +
 docker/images/pinot/Dockerfile                     |    2 +-
 .../jmx_prometheus_javaagent/configs/broker.yml    |   10 +-
 .../configs/controller.yml                         |   23 +-
 .../etc/jmx_prometheus_javaagent/configs/pinot.yml |    3 +
 .../meetupRsvp_realtime_table_config.json          |   12 +-
 headerdefinition.xml                               |   10 +
 kubernetes/helm/pinot/charts/zookeeper-7.0.0.tgz   |  Bin 34028 -> 0 bytes
 .../helm/pinot/templates/broker/configmap.yaml     |    6 +
 .../helm/pinot/templates/controller/configmap.yaml |    8 +-
 kubernetes/helm/pinot/values.yaml                  |   30 +-
 kubernetes/helm/thirdeye/Chart.lock                |    6 -
 pinot-broker/pom.xml                               |    8 +
 .../apache/pinot/broker/api/RequestStatistics.java |  305 ---
 .../api/resources/PinotBrokerAppConfigs.java       |   11 +-
 .../broker/api/resources/PinotBrokerDebug.java     |   45 +-
 .../api/resources/PinotBrokerHealthCheck.java      |   11 +-
 .../broker/api/resources/PinotBrokerRouting.java   |   11 +-
 .../broker/api/resources/PinotClientRequest.java   |  137 +-
 .../pinot/broker/broker/AccessControlFactory.java  |   21 +-
 .../broker/BasicAuthAccessControlFactory.java      |    2 +
 .../broker/broker/BrokerAdminApiApplication.java   |   12 +-
 .../broker/ZkBasicAuthAccessControlFactory.java    |  122 +
 .../broker/broker/helix/BaseBrokerStarter.java     |   52 +-
 .../broker/broker/helix/ClusterChangeMediator.java |  112 +-
 ...BaseExponentialBackoffRetryFailureDetector.java |  190 ++
 .../failuredetector/ConnectionFailureDetector.java |   44 +
 .../broker/failuredetector/FailureDetector.java    |  105 +
 .../failuredetector/FailureDetectorFactory.java    |   73 +
 .../failuredetector/NoOpFailureDetector.java       |   68 +
 .../requesthandler/BaseBrokerRequestHandler.java   | 1548 ++++---------
 .../requesthandler/BrokerRequestHandler.java       |    4 +-
 .../BrokerRequestHandlerDelegate.java              |   84 +
 .../requesthandler/GrpcBrokerRequestHandler.java   |   20 +-
 .../MultiStageBrokerRequestHandler.java            |  206 ++
 .../SingleConnectionBrokerRequestHandler.java      |   86 +-
 .../pinot/broker/routing/BrokerRoutingManager.java |  188 +-
 .../instanceselector/BalancedInstanceSelector.java |    2 +-
 .../instanceselector/BaseInstanceSelector.java     |    8 +-
 .../routing/instanceselector/InstanceSelector.java |   23 +-
 .../ReplicaGroupInstanceSelector.java              |   19 +-
 .../MultiPartitionColumnsSegmentPruner.java        |  252 ++
 .../segmentpruner/PartitionSegmentPruner.java      |  283 ---
 .../segmentpruner/SegmentPrunerFactory.java        |   31 +-
 .../SinglePartitionColumnSegmentPruner.java        |  227 ++
 .../routing/segmentpruner/TimeSegmentPruner.java   |   94 +-
 .../segmentselector/RealtimeSegmentSelector.java   |   17 +-
 .../broker/broker/HelixBrokerStarterTest.java      |    7 +-
 .../broker/helix/ClusterChangeMediatorTest.java    |   89 +
 .../ConnectionFailureDetectorTest.java             |  155 ++
 ...elixExternalViewBasedQueryQuotaManagerTest.java |    2 +-
 .../request/PqlAndCalciteSqlCompatibilityTest.java |  152 --
 .../BaseBrokerRequestHandlerTest.java              |  159 ++
 .../requesthandler/BrokerRequestOptionsTest.java   |  125 +-
 .../requesthandler/DistinctCountRewriteTest.java   |   62 -
 .../LiteralOnlyBrokerRequestTest.java              |   48 +-
 .../requesthandler/QueryLimitOverrideTest.java     |   86 -
 .../broker/requesthandler/QueryOverrideTest.java   |  123 +
 .../broker/requesthandler/QueryValidationTest.java |  200 +-
 .../instanceselector/InstanceSelectorTest.java     |  243 ++
 .../routing/segmentpruner/SegmentPrunerTest.java   |  208 +-
 .../segmentselector/SegmentSelectorTest.java       |    9 +-
 .../java/org/apache/pinot/client/BrokerCache.java  |  152 ++
 .../pinot/client/BrokerCacheUpdaterPeriodic.java   |   83 +
 .../java/org/apache/pinot/client/BrokerData.java   |   41 +
 .../org/apache/pinot/client/ConnectionFactory.java |   31 +
 .../client/ControllerBasedBrokerSelector.java      |   57 +
 .../apache/pinot/client/ExternalViewReader.java    |    4 +-
 .../client/JsonAsyncHttpPinotClientTransport.java  |    4 +-
 .../apache/pinot/client/PinotClientTransport.java  |    2 +-
 .../pinot/client/PinotClientTransportFactory.java  |    2 +-
 .../apache/pinot/client/UpdatableBrokerCache.java  |   60 +
 .../pinot/client/AggregationResultSetTest.java     |    5 +-
 .../apache/pinot/client/ExecutionStatsTest.java    |    5 +-
 .../apache/pinot/client/GroupByResultSetTest.java  |    5 +-
 .../apache/pinot/client/ResultSetGroupTest.java    |    4 +-
 .../pinot/client/ResultTableResultSetTest.java     |    5 +-
 .../pinot/client/SelectionResultSetTest.java       |    5 +-
 pinot-clients/pinot-jdbc-client/pom.xml            |    4 +
 .../pinot/client/PinotConnectionMetaData.java      |   10 +-
 .../java/org/apache/pinot/client/PinotDriver.java  |   35 +-
 .../org/apache/pinot/client/PinotResultSet.java    |    4 +-
 .../controller/PinotControllerTransport.java       |   31 +-
 .../PinotControllerTransportFactory.java           |   59 +
 .../response/ControllerTenantBrokerResponse.java   |    7 +-
 .../client/controller/response/SchemaResponse.java |    7 +-
 .../client/controller/response/TableResponse.java  |    7 +-
 .../org/apache/pinot/client/utils/DriverUtils.java |   26 +-
 .../client/DummyPinotControllerTransport.java      |    5 +-
 .../apache/pinot/client/PinotResultSetTest.java    |    4 +-
 pinot-clients/pom.xml                              |    1 -
 pinot-common/pom.xml                               |   98 +-
 .../antlr4/org/apache/pinot/pql/parsers/PQL2.g4    |  188 --
 pinot-common/src/main/codegen/config.fmpp          |  540 +++++
 .../src/main/codegen/includes/parserImpls.ftl      |  103 +
 .../assignment/InstanceAssignmentConfigUtils.java  |    5 +-
 .../org/apache/pinot/common/auth/AuthConfig.java   |   41 +
 .../pinot/common/auth/AuthProviderUtils.java       |  171 ++
 .../apache/pinot/common/auth/NullAuthProvider.java |   47 +
 .../pinot/common/auth/StaticTokenAuthProvider.java |   68 +
 .../apache/pinot/common/auth/UrlAuthProvider.java  |   87 +
 .../config/provider/AccessControlUserCache.java    |  177 ++
 .../pinot/common/config/provider/TableCache.java   |   20 +-
 .../pinot/common/exception/QueryException.java     |    8 +-
 .../apache/pinot/common/function/FunctionInfo.java |    1 -
 .../pinot/common/function/FunctionInvoker.java     |    1 -
 .../pinot/common/function/FunctionRegistry.java    |    4 +
 .../pinot/common/function/FunctionUtils.java       |    8 +
 .../function/scalar/ComparisonFunctions.java       |   65 +
 .../scalar/DataTypeConversionFunctions.java        |   34 +
 .../common/function/scalar/ObjectFunctions.java    |   37 +
 .../apache/pinot/common/http/MultiGetRequest.java  |    8 +-
 .../common/messages/RunPeriodicTaskMessage.java    |   13 +-
 .../pinot/common/metadata/ZKMetadataProvider.java  |   69 +-
 .../metadata/instance/InstanceZKMetadata.java      |    2 +-
 .../common/metadata/segment/SegmentZKMetadata.java |    3 +-
 .../pinot/common/metrics/AbstractMetrics.java      |    1 +
 .../apache/pinot/common/metrics/BrokerGauge.java   |    3 +-
 .../apache/pinot/common/metrics/BrokerMeter.java   |    2 +-
 .../pinot/common/metrics/ControllerGauge.java      |    1 +
 .../pinot/common/metrics/ControllerMeter.java      |    7 +-
 ...eporterMetricsRegistryRegistrationListener.java |   39 -
 .../MetricsRegistryRegistrationListener.java       |   30 -
 .../pinot/common/metrics/PinotMetricUtils.java     |  239 --
 .../apache/pinot/common/metrics/ServerGauge.java   |    4 +-
 .../apache/pinot/common/metrics/ServerMeter.java   |    1 +
 .../pinot/common/metrics/ValidationMetrics.java    |    1 +
 .../apache/pinot/common/minion/MinionClient.java   |   43 +-
 .../common/minion/MinionRequestURLBuilder.java     |    6 +-
 .../pinot/common/request/AggregationInfo.java      |  809 -------
 .../apache/pinot/common/request/BrokerRequest.java | 2396 ++------------------
 .../apache/pinot/common/request/DataSource.java    |   14 +-
 .../apache/pinot/common/request/Expression.java    |   33 +-
 .../pinot/common/request/ExpressionType.java       |    2 +-
 .../pinot/common/request/FilterOperator.java       |   96 -
 .../apache/pinot/common/request/FilterQuery.java   |  929 --------
 .../pinot/common/request/FilterQueryMap.java       |  458 ----
 .../org/apache/pinot/common/request/Function.java  |   19 +-
 .../org/apache/pinot/common/request/GroupBy.java   |  701 ------
 .../pinot/common/request/HavingFilterQuery.java    |  931 --------
 .../pinot/common/request/HavingFilterQueryMap.java |  453 ----
 .../apache/pinot/common/request/Identifier.java    |   14 +-
 .../pinot/common/request/InstanceRequest.java      |   79 +-
 .../org/apache/pinot/common/request/Literal.java   |    2 +-
 .../apache/pinot/common/request/PinotQuery.java    |   69 +-
 .../apache/pinot/common/request/QuerySource.java   |   14 +-
 .../org/apache/pinot/common/request/QueryType.java |  781 -------
 .../org/apache/pinot/common/request/Selection.java |  808 -------
 .../apache/pinot/common/request/SelectionSort.java |  496 ----
 .../request/context/RequestContextUtils.java       |  203 +-
 .../request/context/predicate/Predicate.java       |   12 +-
 .../context/predicate/TextContainsPredicate.java   |   76 +
 .../request/transform/TransformExpressionTree.java |  233 --
 .../pinot/common/response/BrokerResponse.java      |   40 +
 .../common/response/broker/AggregationResult.java  |  145 --
 .../response/broker/BrokerResponseNative.java      |   64 +-
 .../common/response/broker/GroupByResult.java      |   60 -
 .../common/response/broker/SelectionResults.java   |   59 -
 .../segment/generation/SegmentGenerationUtils.java |    9 +-
 .../common/tier/FixedTierSegmentSelector.java      |    3 +-
 .../org/apache/pinot/common/utils/BcryptUtils.java |   50 +
 .../org/apache/pinot/common/utils/DataSchema.java  |   21 +-
 .../org/apache/pinot/common/utils/DataTable.java   |    8 +-
 .../common/utils/FileUploadDownloadClient.java     |   46 +-
 .../apache/pinot/common/utils/LLCSegmentName.java  |   57 +-
 .../org/apache/pinot/common/utils/LLCUtils.java    |   54 -
 .../apache/pinot/common/utils/PinotAppConfigs.java |    5 +-
 .../apache/pinot/common/utils/PinotDataType.java   |  154 +-
 .../pinot/common/utils/RoundRobinURIProvider.java  |    4 +-
 .../apache/pinot/common/utils/SegmentUtils.java    |   41 +-
 .../pinot/common/utils/SqlResultComparator.java    |   14 +
 .../org/apache/pinot/common/utils/StringUtil.java  |   57 -
 .../org/apache/pinot/common/utils/URIUtils.java    |   14 +-
 .../utils/config/AccessControlUserConfigUtils.java |   88 +
 .../pinot/common/utils/config/InstanceUtils.java   |   12 +
 .../common/utils/config/TableConfigUtils.java      |   38 +-
 .../common/utils/fetcher/BaseSegmentFetcher.java   |    7 +-
 .../common/utils/fetcher/HttpSegmentFetcher.java   |    9 +-
 .../utils/fetcher/SegmentFetcherFactory.java       |   15 +-
 .../pinot/common/utils/helix/HelixHelper.java      |    4 +-
 .../apache/pinot/common/utils/http/HttpClient.java |   70 +-
 .../common/utils/request/FilterQueryTree.java      |   74 -
 .../pinot/common/utils/request/RequestUtils.java   |  157 +-
 .../apache/pinot/parsers/CompilerConstants.java    |   31 -
 .../org/apache/pinot/parsers/QueryCompiler.java    |   33 -
 .../utils/BrokerRequestComparisonUtils.java        |  303 ---
 .../apache/pinot/parsers/utils/ParserUtils.java    |  230 --
 .../parsers/PinotQuery2BrokerRequestConverter.java |  300 ---
 .../apache/pinot/pql/parsers/Pql2AstListener.java  |  442 ----
 .../pql/parsers/Pql2CompilationException.java      |   36 -
 .../org/apache/pinot/pql/parsers/Pql2Compiler.java |  201 --
 .../apache/pinot/pql/parsers/pql2/ast/AstNode.java |   53 -
 .../pinot/pql/parsers/pql2/ast/BaseAstNode.java    |  116 -
 .../parsers/pql2/ast/BetweenPredicateAstNode.java  |   99 -
 .../pql/parsers/pql2/ast/BinaryMathOpAstNode.java  |   39 -
 .../parsers/pql2/ast/BooleanOperatorAstNode.java   |   93 -
 .../pql2/ast/ComparisonPredicateAstNode.java       |  219 --
 .../ast/ExpressionParenthesisGroupAstNode.java     |   25 -
 .../pinot/pql/parsers/pql2/ast/FilterKind.java     |   51 -
 .../pql2/ast/FloatingPointLiteralAstNode.java      |   44 -
 .../pql/parsers/pql2/ast/FunctionCallAstNode.java  |  136 --
 .../pinot/pql/parsers/pql2/ast/GroupByAstNode.java |   53 -
 .../pql/parsers/pql2/ast/IdentifierAstNode.java    |   49 -
 .../pql/parsers/pql2/ast/InPredicateAstNode.java   |  113 -
 .../parsers/pql2/ast/IntegerLiteralAstNode.java    |   44 -
 .../parsers/pql2/ast/IsNullPredicateAstNode.java   |   75 -
 .../pinot/pql/parsers/pql2/ast/LimitAstNode.java   |   50 -
 .../pinot/pql/parsers/pql2/ast/LiteralAstNode.java |   26 -
 .../pinot/pql/parsers/pql2/ast/OptionAstNode.java  |   87 -
 .../pinot/pql/parsers/pql2/ast/OptionsAstNode.java |   45 -
 .../pinot/pql/parsers/pql2/ast/OrderByAstNode.java |   91 -
 .../parsers/pql2/ast/OrderByExpressionAstNode.java |   45 -
 .../pql/parsers/pql2/ast/OutputColumnAstNode.java  |   91 -
 .../parsers/pql2/ast/OutputColumnListAstNode.java  |   53 -
 .../pql/parsers/pql2/ast/PredicateAstNode.java     |   54 -
 .../pql/parsers/pql2/ast/PredicateListAstNode.java |  163 --
 .../pql2/ast/PredicateParenthesisGroupAstNode.java |   39 -
 .../pql2/ast/RegexpLikePredicateAstNode.java       |   79 -
 .../pinot/pql/parsers/pql2/ast/SelectAstNode.java  |  213 --
 .../parsers/pql2/ast/StarColumnListAstNode.java    |   48 -
 .../parsers/pql2/ast/StarExpressionAstNode.java    |   25 -
 .../pql/parsers/pql2/ast/StringLiteralAstNode.java |   44 -
 .../pql/parsers/pql2/ast/TableNameAstNode.java     |   50 -
 .../pql2/ast/TextMatchPredicateAstNode.java        |   80 -
 .../pinot/pql/parsers/pql2/ast/TopAstNode.java     |   50 -
 .../pinot/pql/parsers/pql2/ast/WhereAstNode.java   |   41 -
 .../org/apache/pinot/pql/parsers/utils/Pair.java   |   49 -
 .../main/java/org/apache/pinot/sql/FilterKind.java |   52 +
 .../pinot/sql/parsers/CalciteSqlCompiler.java      |   16 +-
 .../apache/pinot/sql/parsers/CalciteSqlParser.java |  102 +-
 .../org/apache/pinot/sql/parsers/PinotSqlType.java |   30 +
 .../pinot/sql/parsers/SqlNodeAndOptions.java       |   41 +
 .../sql/parsers/dml/DataManipulationStatement.java |   61 +
 .../dml/DataManipulationStatementParser.java       |   37 +
 .../pinot/sql/parsers/dml/InsertIntoFile.java      |  102 +
 .../sql/parsers/parser/SqlInsertFromFile.java      |   74 +
 .../pinot/sql/parsers/parser/UnparseUtils.java     |   66 +
 .../rewriter/PredicateComparisonRewriter.java      |   91 +-
 pinot-common/src/main/proto/mailbox.proto          |   55 +
 pinot-common/src/main/proto/plan.proto             |   95 +
 pinot-common/src/main/proto/worker.proto           |   76 +
 .../pinot/common/data/DateTimeFormatSpecTest.java  |  126 +
 .../apache/pinot/common/data/FieldSpecTest.java    |   21 +
 .../org/apache/pinot/common/data/SchemaTest.java   |   22 +-
 .../function/AggregationFunctionTypeTest.java      |    2 +
 .../pinot/common/function/JsonFunctionsTest.java   |   10 +-
 .../scalar/DataTypeConversionFunctionsTest.java    |   63 +
 .../pinot/common/metrics/PinotMetricUtilsTest.java |    2 +
 .../pinot/common/minion/MinionClientTest.java      |    6 +-
 .../transform/TransformExpressionTreeTest.java     |  124 -
 .../pinot/common/utils/PinotDataTypeTest.java      |   34 +-
 .../common/utils/RoundRobinURIProviderTest.java    |  151 +-
 .../apache/pinot/common/utils/StringUtilTest.java  |    1 +
 .../common/utils/config/InstanceUtilsTest.java     |   26 +-
 .../common/utils/config/TableConfigSerDeTest.java  |   59 +-
 .../pinot/common/utils/config/TableConfigTest.java |    6 +-
 .../apache/pinot/pql/parsers/Pql2CompilerTest.java |  495 ----
 .../request/BrokerRequestSerializationTest.java    |  241 --
 .../pinot/request/BrokerResponseNativeTest.java    |    2 +-
 .../pinot/sql/parsers/CalciteSqlCompilerTest.java  |  599 ++---
 .../pinot/sql/parsers/dml/InsertIntoFileTest.java  |   66 +
 pinot-common/src/test/resources/pql_queries.list   |  827 -------
 pinot-common/src/test/resources/sql_queries.list   |  827 -------
 pinot-common/src/thrift/request.thrift             |  160 +-
 .../main/java/org/apache/pinot/compat/QueryOp.java |    3 +-
 .../java/org/apache/pinot/compat/SegmentOp.java    |    2 +-
 .../java/org/apache/pinot/compat/StreamOp.java     |    6 +-
 .../main/java/org/apache/pinot/compat/TableOp.java |    2 +-
 .../pinot/connector/flink/FlinkQuickStart.java     |    2 +-
 .../connector/flink/http/PinotConnectionUtils.java |   46 +-
 .../flink/sink/PinotSinkIntegrationTest.java       |    6 +-
 pinot-connectors/pinot-spark-connector/pom.xml     |   70 +-
 .../spark/connector/PinotClusterClient.scala       |   31 +-
 .../connector/PinotGrpcServerDataFetcher.scala     |   85 +
 .../spark/connector/PinotServerDataFetcher.scala   |   12 +-
 .../connector/spark/connector/PinotSplitter.scala  |   37 +-
 .../connector/spark/connector/PinotUtils.scala     |   12 +
 .../datasource/PinotDataSourceReadOptions.scala    |    9 +-
 .../spark/datasource/PinotDataSourceReader.scala   |   11 +-
 .../datasource/PinotInputPartitionReader.scala     |   16 +-
 .../src/test/resources/schema/pinot-schema.json    |   17 +-
 .../src/test/resources/schema/spark-schema.json    |   19 +
 .../spark/ExampleSparkPinotConnectorTest.scala     |   43 +-
 .../spark/connector/PinotSplitterTest.scala        |   75 +-
 .../connector/spark/connector/PinotUtilsTest.scala |   28 +-
 .../PinotDataSourceReadOptionsTest.scala           |    8 +-
 .../pinot-common-jdk8/pom.xml                      |   92 +
 .../pinot-core-jdk8/pom.xml                        |    4 +-
 .../pinot-java-client-jdk8/pom.xml                 |  116 +
 .../pinot-java-client-jdk8/src                     |    1 +
 .../prestodb-pinot-dependencies/pom.xml            |    1 +
 .../presto-pinot-driver/pom.xml                    |    4 -
 .../presto/PinotScatterGatherQueryClient.java      |   20 +-
 .../pinot/controller/BaseControllerStarter.java    |   23 +-
 .../apache/pinot/controller/ControllerConf.java    |   30 +-
 ...ControllerUserDefinedMessageHandlerFactory.java |   13 +-
 .../api/ControllerAdminApiApplication.java         |   16 +-
 .../pinot/controller/api/access/AccessControl.java |    4 +
 .../api/access/AccessControlFactory.java           |   15 +
 .../controller/api/access/AccessControlUtils.java  |   14 +
 .../api/access/BasicAuthAccessControlFactory.java  |    1 +
 .../access/ZkBasicAuthAccessControlFactory.java    |  131 ++
 .../api/exception/NoTaskMetadataException.java     |   29 +
 .../api/exception/NoTaskScheduledException.java    |   29 +
 .../api/exception/TaskAlreadyExistsException.java  |   29 +
 .../api/exception/UnknownTaskTypeException.java    |   29 +
 .../api/exception/UserAlreadyExistsException.java  |   29 +
 .../api/resources/ConfigSuccessResponse.java       |   34 +
 .../pinot/controller/api/resources/Constants.java  |   22 +-
 .../PinotAccessControlUserRestletResource.java     |  252 ++
 .../api/resources/PinotBrokerRestletResource.java  |   11 +-
 .../api/resources/PinotClusterConfigs.java         |   11 +-
 .../api/resources/PinotControllerAppConfigs.java   |   11 +-
 .../api/resources/PinotControllerAuthResource.java |   10 +-
 .../api/resources/PinotControllerHealthCheck.java  |   11 +-
 ...PinotControllerPeriodicTaskRestletResource.java |   49 +-
 .../resources/PinotIngestionRestletResource.java   |   43 +-
 .../PinotInstanceAssignmentRestletResource.java    |   42 +-
 .../resources/PinotInstanceRestletResource.java    |   39 +-
 .../PinotLeadControllerRestletResource.java        |   11 +-
 .../api/resources/PinotQueryResource.java          |  139 +-
 .../api/resources/PinotRealtimeTableResource.java  |   75 +
 .../api/resources/PinotSchemaRestletResource.java  |   96 +-
 .../api/resources/PinotSegmentRestletResource.java |   45 +-
 .../PinotSegmentUploadDownloadRestletResource.java |  331 +--
 .../api/resources/PinotTableIndexingConfigs.java   |   11 +-
 .../api/resources/PinotTableInstances.java         |   28 +-
 .../api/resources/PinotTableMetadataConfigs.java   |   11 +-
 .../api/resources/PinotTableRestletResource.java   |   65 +-
 .../controller/api/resources/PinotTableSchema.java |   11 +-
 .../api/resources/PinotTableSegmentConfigs.java    |   11 +-
 .../api/resources/PinotTableTenantConfigs.java     |   14 +-
 .../api/resources/PinotTaskRestletResource.java    |   93 +-
 .../api/resources/PinotTenantRestletResource.java  |   11 +-
 .../api/resources/PinotUpsertRestletResource.java  |  162 ++
 .../api/resources/PinotVersionRestletResource.java |   11 +-
 .../controller/api/resources/SuccessResponse.java  |    2 +-
 .../api/resources/TableConfigsRestletResource.java |   56 +-
 .../api/resources/TableDebugResource.java          |   13 +-
 .../pinot/controller/api/resources/TableSize.java  |   11 +-
 .../pinot/controller/api/resources/TableViews.java |   11 +-
 .../api/resources/ZookeeperResource.java           |   11 +-
 .../api/upload/SegmentValidationUtils.java         |   94 +
 .../controller/api/upload/SegmentValidator.java    |  122 -
 .../pinot/controller/api/upload/ZKOperator.java    |  255 +--
 .../controller/helix/ControllerRequestClient.java  |   13 +-
 .../helix/ControllerRequestURLBuilder.java         |  421 ----
 .../controller/helix/SegmentStatusChecker.java     |   32 +-
 .../helix/core/PinotHelixResourceManager.java      |  626 +++--
 .../helix/core/PinotTableIdealStateBuilder.java    |    2 +-
 .../instance/InstanceAssignmentDriver.java         |    6 +-
 .../InstanceReplicaGroupPartitionSelector.java     |  256 ++-
 .../segment/OfflineSegmentAssignment.java          |   12 +-
 .../segment/RealtimeSegmentAssignment.java         |   63 +-
 .../assignment/segment/SegmentAssignmentUtils.java |   15 +-
 .../core/minion/MinionInstancesCleanupTask.java    |    4 +-
 .../core/minion/PinotHelixTaskResourceManager.java |   62 +-
 .../helix/core/minion/PinotTaskManager.java        |   74 +-
 .../helix/core/minion/TaskMetricsEmitter.java      |   20 +-
 .../core/minion/generator/BaseTaskGenerator.java   |   11 +
 .../core/minion/generator/PinotTaskGenerator.java  |    7 +
 .../core/periodictask/ControllerPeriodicTask.java  |   13 +-
 .../realtime/PinotLLCRealtimeSegmentManager.java   |  220 +-
 .../core/realtime/PinotRealtimeSegmentManager.java |   10 +-
 .../core/realtime/SegmentCompletionManager.java    |    7 +-
 .../core/rebalance/RebalanceConfigConstants.java   |   60 -
 .../helix/core/rebalance/TableRebalancer.java      |    8 +-
 .../helix/core/relocation/SegmentRelocator.java    |    2 +-
 .../helix/core/util/ZKMetadataUtils.java           |  110 +-
 .../controller/recommender/RecommenderDriver.java  |    1 +
 .../controller/recommender/io/InputManager.java    |   46 +-
 .../rules/io/params/RecommenderConstants.java      |    1 -
 .../utils/QueryInvertedSortedIndexRecommender.java |    7 +-
 .../controller/util/AutoAddInvertedIndex.java      |   19 +-
 .../pinot/controller/util/FileIngestionHelper.java |   20 +-
 .../pinot/controller/util/TableMetadataReader.java |   33 +
 .../BrokerResourceValidationManager.java           |    3 +-
 .../RealtimeSegmentValidationManager.java          |  104 +-
 pinot-controller/src/main/resources/app/App.tsx    |   30 +-
 .../src/main/resources/app/app_state.ts            |    2 +
 .../main/resources/app/components/Breadcrumbs.tsx  |    3 +-
 .../src/main/resources/app/components/Layout.tsx   |   12 +-
 .../main/resources/app/components/User/AddUser.tsx |  243 ++
 .../resources/app/components/User/UpdateUser.tsx   |  235 ++
 .../src/main/resources/app/interfaces/types.d.ts   |   17 +
 .../src/main/resources/app/pages/LoginPage.tsx     |    1 +
 .../src/main/resources/app/pages/Query.tsx         |   37 +-
 .../main/resources/app/pages/SegmentDetails.tsx    |   18 +
 .../src/main/resources/app/pages/UserPage.tsx      |  296 +++
 .../src/main/resources/app/requests/index.ts       |   25 +-
 pinot-controller/src/main/resources/app/router.tsx |    2 +
 .../main/resources/app/utils/PinotMethodUtils.ts   |   73 +-
 .../controller/ControllerStarterStatelessTest.java |    1 +
 .../pinot/controller/ControllerTestSetup.java      |   27 +-
 .../pinot/controller/ControllerTestUtils.java      |  783 -------
 .../controller/LeadControllerManagerTest.java      |    2 +-
 .../pinot/controller/api/AccessControlTest.java    |   14 +-
 .../PinotAccessControlUserRestletResourceTest.java |  138 ++
 .../PinotBrokerRestletResourceStatelessTest.java   |    3 +-
 .../api/PinotControllerAppConfigsTest.java         |   19 +-
 .../pinot/controller/api/PinotFileUploadTest.java  |   11 +-
 ...PinotIngestionRestletResourceStatelessTest.java |    1 +
 ...PinotInstanceAssignmentRestletResourceTest.java |   79 +-
 .../api/PinotInstanceRestletResourceTest.java      |   63 +-
 .../api/PinotSchemaRestletResourceTest.java        |  120 +-
 .../api/PinotSegmentRestletResourceTest.java       |   27 +-
 .../api/PinotTableRestletResourceTest.java         |  282 ++-
 .../api/PinotTenantRestletResourceTest.java        |   15 +-
 .../api/PinotUpsertRestletResourceTest.java        |   80 +
 .../api/TableConfigsRestletResourceTest.java       |  236 +-
 .../pinot/controller/api/TableSizeReaderTest.java  |    2 +-
 .../pinot/controller/api/TableViewsTest.java       |   44 +-
 .../PinotDummyExtraRestletResourceTest.java        |   13 +-
 .../api/resources/ZookeeperResourceTest.java       |   25 +-
 .../controller/api/upload/ZKOperatorTest.java      |  183 +-
 .../helix/ControllerInstanceToggleTest.java        |   63 +-
 ...ControllerPeriodicTaskStarterStatelessTest.java |    2 +-
 .../controller/helix/ControllerSentinelTestV2.java |   52 +-
 .../helix/ControllerTenantStatelessTest.java       |    1 +
 .../pinot/controller/helix/ControllerTest.java     |  446 +++-
 .../pinot/controller/helix/HelixHelperTest.java    |   18 +-
 .../helix/PinotControllerModeStatelessTest.java    |    1 +
 .../controller/helix/PinotResourceManagerTest.java |   89 +-
 .../controller/helix/SegmentStatusCheckerTest.java |   15 +-
 .../pinot/controller/helix/TableCacheTest.java     |   20 +-
 .../PinotHelixResourceManagerStatelessTest.java    |    6 +-
 .../helix/core/PinotHelixResourceManagerTest.java  |  552 +++--
 .../instance/InstanceAssignmentTest.java           |  556 ++++-
 ...fflineNonReplicaGroupSegmentAssignmentTest.java |    2 +-
 ...NonReplicaGroupTieredSegmentAssignmentTest.java |    2 +-
 .../OfflineReplicaGroupSegmentAssignmentTest.java  |   33 +-
 ...altimeNonReplicaGroupSegmentAssignmentTest.java |  116 +-
 ...NonReplicaGroupTieredSegmentAssignmentTest.java |    7 +-
 .../RealtimeReplicaGroupSegmentAssignmentTest.java |  136 +-
 .../MinionInstancesCleanupTaskStatelessTest.java   |    1 +
 .../core/minion/PinotTaskManagerStatelessTest.java |    1 +
 .../periodictask/ControllerPeriodicTaskTest.java   |    7 +-
 .../PinotLLCRealtimeSegmentManagerTest.java        |    6 +-
 .../helix/core/realtime/SegmentCompletionTest.java |   16 +-
 .../TableRebalancerClusterStatelessTest.java       |    4 +-
 .../helix/core/retention/RetentionManagerTest.java |   40 +-
 .../core/retention/SegmentLineageCleanupTest.java  |   65 +-
 .../controller/recommender/TestConfigEngine.java   |    7 +-
 .../validation/StorageQuotaCheckerTest.java        |    2 +-
 .../validation/ValidationManagerStatelessTest.java |    1 +
 .../validation/ValidationManagerTest.java          |   49 +-
 .../memory_estimation/schema-for-upsert.json       |   96 +
 .../memory_estimation/table-config-for-upsert.json |   53 +
 pinot-controller/testng-statefull.xml              |   67 +-
 pinot-controller/testng-stateless.xml              |   22 +-
 pinot-core/pom.xml                                 |   36 +-
 .../org/apache/pinot/core/auth/BasicAuthUtils.java |   87 +-
 .../pinot/core/auth/ZkBasicAuthPrincipal.java      |   56 +
 .../org/apache/pinot/core/common/BlockValSet.java  |   10 +-
 .../apache/pinot/core/common/DataBlockCache.java   |   30 +
 .../org/apache/pinot/core/common/DataFetcher.java  |   75 +
 .../pinot/core/common/ExplainPlanRowData.java      |   66 +
 .../apache/pinot/core/common/ExplainPlanRows.java  |  117 +
 .../apache/pinot/core/common/MinionConstants.java  |    8 +
 .../org/apache/pinot/core/common/Operator.java     |    7 -
 .../core/common/RowBasedBlockValueFetcher.java     |   15 +
 .../pinot/core/common/datatable/BaseDataTable.java |   10 +
 .../core/common/datatable/DataTableBuilder.java    |   11 +
 .../core/common/datatable/DataTableUtils.java      |   53 +-
 .../evaluators/DefaultJsonPathEvaluator.java       |   78 +
 .../core/data/manager/BaseTableDataManager.java    |   58 +-
 .../manager/offline/DimensionTableDataManager.java |   73 +-
 .../manager/offline/OfflineTableDataManager.java   |   12 -
 .../manager/offline/TableDataManagerProvider.java  |    7 +-
 .../realtime/HLRealtimeSegmentDataManager.java     |    6 +-
 .../realtime/LLRealtimeSegmentDataManager.java     |   81 +-
 .../realtime/PeerSchemeSplitSegmentCommitter.java  |    2 +-
 .../manager/realtime/PinotFSSegmentUploader.java   |    2 +-
 .../manager/realtime/RealtimeTableDataManager.java |  109 +-
 .../manager/realtime/SegmentCommitterFactory.java  |    2 +-
 .../realtime/Server2ControllerSegmentUploader.java |   11 +-
 .../transform/function/StContainsFunction.java     |    5 +-
 .../transform/function/StWithinFunction.java       |    5 +-
 .../AcquireReleaseColumnsSegmentOperator.java      |    5 -
 .../apache/pinot/core/operator/BaseOperator.java   |    2 +-
 .../core/operator/BitmapDocIdSetOperator.java      |    6 +-
 .../pinot/core/operator/DocIdSetOperator.java      |    5 -
 .../core/operator/InstanceResponseOperator.java    |    6 +-
 .../pinot/core/operator/ProjectionOperator.java    |    8 +-
 .../StreamingInstanceResponseOperator.java         |    2 +-
 .../operator/blocks/IntermediateResultsBlock.java  |   50 +-
 .../core/operator/blocks/ProjectionBlock.java      |   12 +
 .../combine/AggregationOnlyCombineOperator.java    |    6 -
 .../core/operator/combine/BaseCombineOperator.java |    3 +-
 .../operator/combine/DistinctCombineOperator.java  |    5 -
 .../operator/combine/GroupByCombineOperator.java   |  228 --
 .../combine/GroupByOrderByCombineOperator.java     |    6 +-
 ...xValueBasedSelectionOrderByCombineOperator.java |    6 +-
 .../combine/SelectionOnlyCombineOperator.java      |    6 +-
 .../combine/SelectionOrderByCombineOperator.java   |    6 +-
 .../ExpressionScanDocIdIterator.java               |    6 -
 .../dociditerators/SVScanDocIdIterator.java        |  113 +-
 .../operator/docvalsets/ProjectionBlockValSet.java |   86 +-
 .../operator/docvalsets/TransformBlockValSet.java  |   86 +-
 .../core/operator/filter/AndFilterOperator.java    |    9 +-
 .../operator/filter/BitmapBasedFilterOperator.java |   14 +-
 .../operator/filter/CombinedFilterOperator.java    |    8 +-
 .../core/operator/filter/EmptyFilterOperator.java  |    8 +-
 .../operator/filter/ExpressionFilterOperator.java  |    5 -
 .../core/operator/filter/FilterOperatorUtils.java  |   42 +-
 .../filter/H3InclusionIndexFilterOperator.java     |  153 ++
 .../operator/filter/H3IndexFilterOperator.java     |    6 +-
 .../operator/filter/JsonMatchFilterOperator.java   |   23 +-
 .../operator/filter/MatchAllFilterOperator.java    |    7 +-
 .../core/operator/filter/NotFilterOperator.java    |    6 +-
 .../core/operator/filter/OrFilterOperator.java     |   10 +-
 .../filter/RangeIndexBasedFilterOperator.java      |  317 ++-
 .../operator/filter/ScanBasedFilterOperator.java   |    5 -
 .../filter/SortedIndexBasedFilterOperator.java     |    5 -
 .../filter/TextContainsFilterOperator.java         |   98 +
 .../operator/filter/TextMatchFilterOperator.java   |   23 +-
 .../BaseDictionaryBasedPredicateEvaluator.java     |    6 +
 .../BaseRawValueBasedPredicateEvaluator.java       |    6 +
 .../predicate/EqualsPredicateEvaluatorFactory.java |   87 +
 .../FSTBasedRegexpPredicateEvaluatorFactory.java   |   13 +
 .../predicate/InPredicateEvaluatorFactory.java     |   99 +
 .../NotEqualsPredicateEvaluatorFactory.java        |   87 +
 .../predicate/NotInPredicateEvaluatorFactory.java  |   96 +
 .../filter/predicate/PredicateEvaluator.java       |   89 +
 .../predicate/RangePredicateEvaluatorFactory.java  |  314 +--
 .../RegexpLikePredicateEvaluatorFactory.java       |   13 +
 .../operator/query/AggregationGroupByOperator.java |  121 -
 .../query/AggregationGroupByOrderByOperator.java   |    8 +-
 .../core/operator/query/AggregationOperator.java   |    8 +-
 .../query/DictionaryBasedDistinctOperator.java     |   10 +-
 .../core/operator/query/DistinctOperator.java      |   10 +-
 .../operator/query/EmptySelectionOperator.java     |    6 +-
 .../operator/query/FastFilteredCountOperator.java  |   10 +-
 .../query/FilteredAggregationOperator.java         |    8 +-
 .../query/NonScanBasedAggregationOperator.java     |   17 +-
 .../core/operator/query/SelectionOnlyOperator.java |    6 +-
 .../operator/query/SelectionOrderByOperator.java   |   10 +-
 .../StreamingSelectionOnlyCombineOperator.java     |    6 +-
 .../streaming/StreamingSelectionOnlyOperator.java  |    6 +-
 .../transform/PassThroughTransformOperator.java    |    6 +-
 .../core/operator/transform/TransformOperator.java |    7 +-
 .../function/AdditionTransformFunction.java        |   71 +-
 .../transform/function/BaseTransformFunction.java  |   81 +-
 .../function/BinaryOperatorTransformFunction.java  |  111 +
 .../transform/function/CaseTransformFunction.java  |   71 +-
 .../transform/function/CastTransformFunction.java  |   68 +
 .../function/DivisionTransformFunction.java        |  123 +-
 .../function/GreatestTransformFunction.java        |   18 +
 .../function/GroovyTransformFunction.java          |   24 +
 .../function/IdentifierTransformFunction.java      |   13 +
 .../JsonExtractScalarTransformFunction.java        |   63 +-
 .../transform/function/LeastTransformFunction.java |   18 +
 .../function/LiteralTransformFunction.java         |   40 +-
 .../function/MultiplicationTransformFunction.java  |   73 +-
 .../function/PushDownTransformFunction.java        |   11 +
 .../function/ScalarTransformFunctionWrapper.java   |    3 +
 .../SelectTupleElementTransformFunction.java       |   17 +-
 .../function/SingleParamMathTransformFunction.java |   52 +-
 .../function/SubtractionTransformFunction.java     |  120 +-
 .../transform/function/TransformFunction.java      |    9 +
 .../plan/AggregationGroupByOrderByPlanNode.java    |    8 +-
 .../core/plan/AggregationGroupByPlanNode.java      |   96 -
 .../pinot/core/plan/AggregationPlanNode.java       |   14 +-
 .../apache/pinot/core/plan/CombinePlanNode.java    |   23 +-
 .../org/apache/pinot/core/plan/FilterPlanNode.java |  107 +-
 .../core/plan/maker/InstancePlanMakerImplV2.java   |   28 +-
 .../function/AggregationFunctionFactory.java       |   38 +-
 .../function/AggregationFunctionUtils.java         |   35 +-
 .../function/DistinctAggregationFunction.java      |    6 +-
 .../DistinctCountSmartHLLAggregationFunction.java  |   79 +-
 ...irstDoubleValueWithTimeAggregationFunction.java |  126 +
 ...FirstFloatValueWithTimeAggregationFunction.java |  127 ++
 .../FirstIntValueWithTimeAggregationFunction.java  |  142 ++
 .../FirstLongValueWithTimeAggregationFunction.java |  126 +
 ...irstStringValueWithTimeAggregationFunction.java |  124 +
 .../function/FirstWithTimeAggregationFunction.java |  222 ++
 .../function/HistogramAggregationFunction.java     |  361 +++
 .../function/MaxAggregationFunction.java           |   11 +
 .../function/MinAggregationFunction.java           |   11 +
 .../PercentileSmartTDigestAggregationFunction.java |  346 +++
 .../function/SumAggregationFunction.java           |   11 +
 .../function/SumPrecisionAggregationFunction.java  |   26 +
 .../groupby/AggregationGroupByResult.java          |   28 -
 .../groupby/AggregationGroupByTrimmingService.java |  364 ---
 .../groupby/DictionaryBasedGroupKeyGenerator.java  |  124 -
 .../aggregation/groupby/GroupKeyGenerator.java     |   26 -
 .../NoDictionaryMultiColumnGroupKeyGenerator.java  |   52 -
 .../NoDictionarySingleColumnGroupKeyGenerator.java |  181 +-
 .../aggregation/utils/DoubleVectorOpUtils.java     |   73 +
 .../query/distinct/DistinctExecutorFactory.java    |    6 +
 .../pinot/core/query/distinct/DistinctTable.java   |    7 +
 ...eRawBigDecimalSingleColumnDistinctExecutor.java |   69 +
 ...BigDecimalSingleColumnDistinctOnlyExecutor.java |   51 +
 ...DecimalSingleColumnDistinctOrderByExecutor.java |   72 +
 .../query/executor/ServerQueryExecutorV1Impl.java  |  228 +-
 .../core/query/executor/sql/SqlQueryExecutor.java  |  125 +
 .../pinot/core/query/optimizer/QueryOptimizer.java |   27 +-
 .../query/optimizer/filter/FilterOptimizer.java    |    6 -
 .../filter/FlattenAndOrFilterOptimizer.java        |   28 +-
 .../optimizer/filter/MergeEqInFilterOptimizer.java |  102 +-
 .../filter/MergeRangeFilterOptimizer.java          |   79 +-
 .../optimizer/filter/NumericalFilterOptimizer.java |   10 +-
 .../filter/TimePredicateFilterOptimizer.java       |   23 +-
 .../statement/JsonStatementOptimizer.java          |   80 +-
 .../optimizer/statement/StatementOptimizer.java    |    2 +-
 .../statement/StringPredicateFilterOptimizer.java  |    2 +-
 .../query/pruner/ColumnValueSegmentPruner.java     |  190 +-
 .../core/query/pruner/DataSchemaSegmentPruner.java |   45 -
 .../pinot/core/query/pruner/SegmentPruner.java     |   26 +-
 .../core/query/pruner/SegmentPrunerProvider.java   |    9 +-
 .../core/query/pruner/SegmentPrunerService.java    |   50 +-
 .../query/pruner/SelectionQuerySegmentPruner.java  |   20 +-
 .../core/query/pruner/ValidSegmentPruner.java      |   60 -
 .../query/reduce/AggregationDataTableReducer.java  |   53 +-
 .../core/query/reduce/BaseGapfillProcessor.java    |  229 ++
 .../pinot/core/query/reduce/BaseReduceService.java |   23 +
 .../core/query/reduce/BrokerReduceService.java     |   22 +-
 .../core/query/reduce/CountGapfillProcessor.java   |  131 ++
 .../query/reduce/DistinctDataTableReducer.java     |   60 +-
 .../query/reduce/ExplainPlanDataTableReducer.java  |  213 +-
 .../pinot/core/query/reduce/GapfillProcessor.java  |  138 +-
 .../core/query/reduce/GapfillProcessorFactory.java |   65 +
 .../core/query/reduce/GroupByDataTableReducer.java |  362 +--
 .../core/query/reduce/ResultReducerFactory.java    |    6 +-
 .../core/query/reduce/RowBasedBlockValSet.java     |   14 +
 .../query/reduce/SelectionDataTableReducer.java    |   35 +-
 .../reduce/SelectionOnlyStreamingReducer.java      |   21 +-
 .../core/query/reduce/StreamingReduceService.java  |   13 +-
 .../core/query/reduce/SumAvgGapfillProcessor.java  |  212 ++
 .../query/reduce/filter/PredicateRowMatcher.java   |    3 +
 .../core/query/request/ServerQueryRequest.java     |   23 +-
 .../core/query/request/context/QueryContext.java   |  133 +-
 .../BrokerRequestToQueryContextConverter.java      |  267 ---
 .../context/utils/QueryContextConverterUtils.java  |  141 +-
 .../query/selection/SelectionOperatorService.java  |   57 +-
 .../query/selection/SelectionOperatorUtils.java    |  180 +-
 .../requesthandler/PinotQueryParserFactory.java    |   55 -
 .../apache/pinot/core/routing/RoutingTable.java    |    9 +-
 .../segment/processing/mapper/SegmentMapper.java   |    2 +-
 .../processing/timehandler/EpochTimeHandler.java   |   10 +-
 .../processing/timehandler/TimeHandlerConfig.java  |   25 +-
 .../processing/timehandler/TimeHandlerFactory.java |    4 +-
 .../apache/pinot/core/startree/StarTreeUtils.java  |   35 +-
 .../startree/operator/StarTreeFilterOperator.java  |   30 +-
 .../startree/plan/StarTreeDocIdSetPlanNode.java    |    8 +-
 .../core/startree/plan/StarTreeFilterPlanNode.java |   12 +-
 .../startree/plan/StarTreeProjectionPlanNode.java  |    8 +-
 .../startree/plan/StarTreeTransformPlanNode.java   |   10 +-
 .../pinot/core/transport/AsyncQueryResponse.java   |   71 +-
 .../pinot/core/transport/DataTableHandler.java     |    3 +-
 .../apache/pinot/core/transport/QueryResponse.java |   76 +
 .../apache/pinot/core/transport/QueryRouter.java   |   29 +-
 .../pinot/core/transport/ServerChannels.java       |   42 +-
 .../pinot/core/transport/ServerInstance.java       |   69 +-
 .../pinot/core/transport/ServerResponse.java       |    2 +
 .../core/transport/ServerRoutingInstance.java      |   37 +-
 .../org/apache/pinot/core/util/GapfillUtils.java   |  105 +-
 .../apache/pinot/core/util/ListenerConfigUtil.java |   19 +-
 .../pinot/core/util/PeerServerSegmentFinder.java   |    2 +-
 .../apache/pinot/core/util/QueryOptionsUtils.java  |   27 +-
 .../pinot/core/util/trace/BuiltInTracer.java       |   30 +-
 .../pinot/server/access/AccessControlFactory.java  |   14 +
 .../server/access/BasicAuthAccessFactory.java      |    1 +
 .../server/access/ZkBasicAuthAccessFactory.java    |  121 +
 .../server/realtime/ControllerLeaderLocator.java   |    6 +-
 .../ServerSegmentCompletionProtocolHandler.java    |   26 +-
 .../apache/pinot/core/auth/ZkBasicAuthTest.java    |   59 +
 .../apache/pinot/core/common/DataFetcherTest.java  |   53 +-
 .../core/common/datatable/DataTableSerDeTest.java  |   75 +-
 .../core/common/datatable/DataTableUtilsTest.java  |   32 +-
 .../data/function/GroovyFunctionEvaluatorTest.java |   17 +
 .../function/InbuiltFunctionEvaluatorTest.java     |    4 +-
 .../BaseTableDataManagerAcquireSegmentTest.java    |    7 +-
 .../data/manager/BaseTableDataManagerTest.java     |    7 +-
 .../offline/DimensionTableDataManagerTest.java     |  192 +-
 .../realtime/LLRealtimeSegmentDataManagerTest.java |    4 +-
 .../realtime/PinotFSSegmentUploaderTest.java       |    2 +-
 .../pinot/core/data/table/IndexedTableTest.java    |    6 +-
 .../pinot/core/data/table/TableResizerTest.java    |   44 +-
 .../core/geospatial/transform/GeoFunctionTest.java |    2 +-
 .../geospatial/transform/StPointFunctionTest.java  |    6 +-
 .../operator/combine/CombineSlowOperatorsTest.java |   21 +-
 .../combine/SelectionCombineOperatorTest.java      |    2 +-
 .../operator/filter/FilterOperatorUtilsTest.java   |   49 +-
 .../core/operator/filter/TestFilterOperator.java   |    5 -
 .../NoDictionaryEqualsPredicateEvaluatorsTest.java |   24 +
 .../NoDictionaryInPredicateEvaluatorTest.java      |   33 +
 .../NoDictionaryRangePredicateEvaluatorTest.java   |   40 +
 .../predicate/PredicateEvaluatorTestUtils.java     |    7 +
 .../function/AdditionTransformFunctionTest.java    |   41 +-
 .../function/ArrayBaseTransformFunctionTest.java   |    4 +-
 .../function/BaseTransformFunctionTest.java        |   43 +
 .../BinaryOperatorTransformFunctionTest.java       |   35 +-
 .../function/CaseTransformFunctionTest.java        |  289 ++-
 .../function/CastTransformFunctionTest.java        |   66 +-
 .../DateTimeConversionTransformFunctionTest.java   |    4 +-
 .../function/DateTimeTransformFunctionTest.java    |    4 +-
 .../function/DateTruncTransformFunctionTest.java   |    2 +-
 .../function/DivisionTransformFunctionTest.java    |   48 +-
 .../function/EqualsTransformFunctionTest.java      |    8 +
 .../GreaterThanOrEqualTransformFunctionTest.java   |    8 +
 .../function/GreaterThanTransformFunctionTest.java |    8 +
 .../function/GroovyTransformFunctionTest.java      |   23 +-
 .../function/InTransformFunctionTest.java          |   16 +-
 .../JsonExtractScalarTransformFunctionTest.java    |   61 +-
 .../LessThanOrEqualTransformFunctionTest.java      |    8 +
 .../function/LessThanTransformFunctionTest.java    |    8 +
 .../function/LiteralTransformFunctionTest.java     |    1 +
 .../LogicalOperatorTransformFunctionTest.java      |    6 +-
 .../function/LookupTransformFunctionTest.java      |   48 +-
 .../function/ModuloTransformFunctionTest.java      |   14 +-
 .../MultiplicationTransformFunctionTest.java       |   38 +-
 .../function/NotEqualsTransformFunctionTest.java   |    8 +
 .../NullHandlingTransformFunctionTest.java         |    4 +-
 .../function/PowerTransformFunctionTest.java       |   12 +-
 .../function/RegexpTransformFunctionTest.java      |    4 +-
 .../RoundDecimalTransformFunctionTest.java         |    8 +-
 .../ScalarTransformFunctionWrapperTest.java        |  121 +-
 .../SingleParamMathTransformFunctionTest.java      |  169 +-
 .../function/SubtractionTransformFunctionTest.java |   35 +-
 .../TimeConversionTransformFunctionTest.java       |    4 +-
 .../function/TrigonometricFunctionsTest.java       |   12 +-
 .../TruncateDecimalTransformFunctionTest.java      |    8 +-
 .../TupleSelectionTransformFunctionsTest.java      |   52 +-
 .../function/ValueInTransformFunctionTest.java     |    4 +-
 .../pinot/core/plan/CombinePlanNodeTest.java       |    2 +-
 ...adataAndDictionaryAggregationPlanMakerTest.java |   24 +-
 .../plan/maker/QueryOverrideWithHintsTest.java     |   29 +-
 .../DefaultAggregationExecutorTest.java            |    2 +-
 .../function/AggregationFunctionFactoryTest.java   |   48 +-
 .../AggregationGroupByTrimmingServiceTest.java     |  138 --
 .../DictionaryBasedGroupKeyGeneratorTest.java      |   36 +-
 .../query/aggregation/groupby/GroupByTrimTest.java |    6 +-
 .../groupby/NoDictionaryGroupKeyGeneratorTest.java |   26 +-
 .../aggregation/groupby/StringGroupKeyTest.java    |   60 -
 .../executor/QueryExecutorExceptionsTest.java      |    6 +-
 .../core/query/executor/QueryExecutorTest.java     |   29 +-
 .../core/query/optimizer/QueryOptimizerTest.java   |  162 +-
 .../filter/NumericalFilterOptimizerTest.java       |    7 +-
 .../filter/TimePredicateFilterOptimizerTest.java   |    2 +-
 .../statement/JsonStatementOptimizerTest.java      |    4 -
 .../StringPredicateFilterOptimizerTest.java        |    4 -
 .../core/query/optimizer/statement/TestHelper.java |   19 +-
 .../PostAggregationFunctionTest.java               |    5 +
 .../query/pruner/ColumnValueSegmentPrunerTest.java |  113 +-
 .../pruner/SelectionQuerySegmentPrunerTest.java    |   32 +-
 .../core/query/reduce/BrokerReduceServiceTest.java |    5 +-
 .../query/reduce/GapfillFilterHandlerTest.java     |    2 +-
 .../core/query/reduce/HavingFilterHandlerTest.java |    8 +-
 .../query/reduce/PostAggregationHandlerTest.java   |   12 +-
 .../query/reduce/StreamingReduceServiceTest.java   |    6 +-
 .../BrokerRequestToQueryContextConverterTest.java  |  623 ++---
 .../scheduler/MultiLevelPriorityQueueTest.java     |    2 +-
 .../query/scheduler/PrioritySchedulerTest.java     |    2 +-
 .../pinot/core/query/scheduler/TestHelper.java     |   15 +-
 .../scheduler/fcfs/FCFSSchedulerGroupTest.java     |    2 +-
 .../selection/SelectionOperatorServiceTest.java    |  100 +-
 .../processing/framework/SegmentMapperTest.java    |   21 +-
 .../framework/SegmentProcessorFrameworkTest.java   |   59 +-
 .../pinot/core/startree/v2/BaseStarTreeV2Test.java |   98 +-
 .../pinot/core/transport/QueryRoutingTest.java     |   18 +-
 .../core/util/PeerServerSegmentFinderTest.java     |    2 +-
 .../apache/pinot/core/util/SchemaUtilsTest.java    |   19 +-
 .../apache/pinot/queries/BaseJsonQueryTest.java    |   14 +-
 .../pinot/queries/BaseMultiValueQueriesTest.java   |   15 +-
 .../org/apache/pinot/queries/BaseQueriesTest.java  |  195 +-
 .../pinot/queries/BaseSingleValueQueriesTest.java  |   19 +-
 .../pinot/queries/BigDecimalQueriesTest.java       |  358 +++
 .../apache/pinot/queries/BooleanQueriesTest.java   |   29 +-
 .../org/apache/pinot/queries/CastQueriesTest.java  |  166 ++
 .../queries/DistinctCountBitmapQueriesTest.java    |   74 +-
 .../pinot/queries/DistinctCountQueriesTest.java    |  176 +-
 .../DistinctCountThetaSketchQueriesTest.java       |   65 +-
 .../apache/pinot/queries/DistinctQueriesTest.java  |  517 ++---
 .../apache/pinot/queries/ExpectedQueryResult.java  |   56 -
 .../pinot/queries/ExplainPlanQueriesTest.java      | 2153 +++++++++++++++---
 .../queries/FSTBasedRegexpLikeQueriesTest.java     |  416 ++--
 .../pinot/queries/FastFilteredCountTest.java       |   21 +-
 .../apache/pinot/queries/FastHllQueriesTest.java   |   65 +-
 .../pinot/queries/FilteredAggregationsTest.java    |   28 +-
 .../pinot/queries/FirstWithTimeQueriesTest.java    |  434 ++++
 .../queries/GapfillQueriesScalabilityTest.java     |  822 +++++++
 .../apache/pinot/queries/GapfillQueriesTest.java   |  192 +-
 .../apache/pinot/queries/H3IndexQueriesTest.java   |  264 ++-
 .../apache/pinot/queries/HistogramQueriesTest.java |  493 ++++
 .../org/apache/pinot/queries/IdSetQueriesTest.java |  176 +-
 ...nerSegmentAggregationMultiValueQueriesTest.java |  166 +-
 ...erSegmentAggregationSingleValueQueriesTest.java |  221 +-
 ...InnerSegmentSelectionMultiValueQueriesTest.java |  235 +-
 ...nnerSegmentSelectionSingleValueQueriesTest.java |  472 ++--
 ...terSegmentAggregationMultiValueQueriesTest.java |  879 ++++---
 ...erSegmentAggregationSingleValueQueriesTest.java |  823 +++----
 .../InterSegmentGroupByMultiValueQueriesTest.java  |  143 ++
 .../InterSegmentGroupBySingleValueQueriesTest.java |  290 +++
 .../InterSegmentOrderByMultiValueQueriesTest.java  |  175 --
 .../InterSegmentOrderBySingleValueQueriesTest.java |  804 -------
 ...terSegmentResultTableMultiValueQueriesTest.java |  895 --------
 ...erSegmentResultTableSingleValueQueriesTest.java | 1074 ---------
 .../pinot/queries/JsonDataTypeQueriesTest.java     |   52 +-
 .../queries/JsonIngestionFromAvroQueriesTest.java  |   38 +-
 .../apache/pinot/queries/JsonMatchQueriesTest.java |    2 +-
 .../pinot/queries/LastWithTimeQueriesTest.java     |  478 ++--
 .../org/apache/pinot/queries/ModeQueriesTest.java  |  941 ++------
 .../queries/NativeAndLuceneComparisonTest.java     |  275 +++
 .../NoDictionaryCompressionQueriesTest.java        |   72 +-
 .../pinot/queries/NotOperatorQueriesTest.java      |    4 +-
 .../queries/PercentileTDigestMVQueriesTest.java    |   22 +-
 .../queries/PercentileTDigestQueriesTest.java      |  152 +-
 .../org/apache/pinot/queries/QueriesTestUtils.java |  344 ++-
 .../RangePredicateWithSortedInvertedIndexTest.java |    7 +-
 .../org/apache/pinot/queries/RangeQueriesTest.java |  235 ++
 ...SegmentPartitionedDistinctCountQueriesTest.java |   65 +-
 .../queries/SegmentWithNullValueVectorTest.java    |   18 +-
 .../pinot/queries/SerializedBytesQueriesTest.java  |  269 +--
 .../apache/pinot/queries/StUnionQueriesTest.java   |   88 +-
 .../pinot/queries/SumGreatestLeastQueriesTest.java |   14 +-
 .../pinot/queries/SumPrecisionQueriesTest.java     |   16 +-
 .../pinot/queries/TextSearchQueriesTest.java       |  685 +++---
 .../apache/pinot/queries/TimestampQueriesTest.java |   12 +-
 .../apache/pinot/queries/TransformQueriesTest.java |   86 +-
 .../pinot/queries/UrlFunctionGroupByTest.java      |  264 ---
 .../converter/RealtimeSegmentConverterTest.java    |   16 +-
 .../realtime/ControllerLeaderLocatorTest.java      |   30 +-
 .../{pql_query1.txt => queries.txt}                |    0
 pinot-distribution/pinot-assembly.xml              |   11 +-
 pinot-distribution/pom.xml                         |   38 +-
 .../tests/BaseClusterIntegrationTest.java          |   22 +-
 .../tests/ClusterIntegrationTestUtils.java         |   15 +-
 .../pinot/integration/tests/ClusterTest.java       |  129 +-
 pinot-integration-tests/pom.xml                    |   13 +-
 .../tests/BaseClusterIntegrationTestSet.java       |    7 +-
 .../tests/BasicAuthBatchIntegrationTest.java       |    4 +-
 .../tests/BasicAuthRealtimeIntegrationTest.java    |  199 --
 .../tests/ChaosMonkeyIntegrationTest.java          |   24 +-
 .../tests/HybridClusterIntegrationTest.java        |   30 +-
 .../IngestionConfigHybridIntegrationTest.java      |   25 +-
 .../tests/JsonPathClusterIntegrationTest.java      |   10 +-
 .../tests/LLCRealtimeClusterIntegrationTest.java   |   96 +-
 .../LuceneRealtimeClusterIntegrationTest.java      |  216 --
 .../tests/MapTypeClusterIntegrationTest.java       |   10 +-
 .../MergeRollupMinionClusterIntegrationTest.java   |   22 +-
 .../MultiNodesOfflineClusterIntegrationTest.java   |   63 +
 .../tests/OfflineClusterIntegrationTest.java       |  112 +-
 .../tests/OfflineGRPCServerIntegrationTest.java    |   12 +-
 .../OfflineSecureGRPCServerIntegrationTest.java    |    1 -
 .../tests/PurgeMinionClusterIntegrationTest.java   |  357 +++
 .../tests/RealtimeClusterIntegrationTest.java      |   16 +-
 .../tests/RealtimeKinesisIntegrationTest.java      |    2 +-
 ...fflineSegmentsMinionClusterIntegrationTest.java |   44 +-
 .../tests/SegmentCompletionIntegrationTest.java    |    2 +-
 ...mentGenerationMinionClusterIntegrationTest.java |  185 ++
 .../SegmentWriterUploaderIntegrationTest.java      |    8 +-
 .../TextIndicesRealtimeClusterIntegrationTest.java |  248 ++
 .../integration/tests/TlsIntegrationTest.java      |   70 +-
 .../UpsertTableSegmentUploadIntegrationTest.java   |  218 +-
 .../tests/UrlAuthRealtimeIntegrationTest.java      |  236 ++
 .../ControllerLeaderLocatorIntegrationTest.java    |    8 +-
 .../src/test/resources/url-auth-token-prefixed.txt |    1 +
 .../src/test/resources/url-auth-token.txt          |    1 +
 .../org/apache/pinot/minion/BaseMinionStarter.java |   36 +-
 .../pinot/minion/MinionAdminApiApplication.java    |   13 +-
 .../org/apache/pinot/minion/MinionContext.java     |   11 +-
 .../minion/api/resources/HealthCheckResource.java  |   75 +
 .../api/resources/PinotMinionAppConfigs.java       |   11 +-
 .../minion/taskfactory/TaskFactoryRegistry.java    |    4 +-
 .../apache/pinot/perf/BenchmarkBloomFilter.java    |  154 ++
 .../perf/BenchmarkColumnValueSegmentPruner.java    |  220 ++
 .../apache/pinot/perf/BenchmarkCombineGroupBy.java |   74 +-
 .../apache/pinot/perf/BenchmarkIndexedTable.java   |    2 +-
 .../perf/BenchmarkNativeAndLuceneBasedLike.java    |    2 +-
 .../perf/BenchmarkNativeVsLuceneTextIndex.java     |  217 ++
 .../org/apache/pinot/perf/BenchmarkQueries.java    |   25 +-
 .../pinot/perf/BenchmarkScanDocIdIterators.java    |    6 +
 .../batch/common/SegmentGenerationTaskRunner.java  |   17 +-
 .../pinot-batch-ingestion-spark/pom.xml            |    1 +
 .../standalone/SegmentGenerationJobRunner.java     |   37 +-
 .../standalone/SegmentGenerationJobRunnerTest.java |  187 +-
 .../v0_deprecated/pinot-hadoop/pom.xml             |   20 +-
 .../hadoop/job/HadoopSegmentPreprocessingJob.java  |    2 +-
 .../preprocess/DataPreprocessingHelperTest.java    |    4 +-
 .../ingestion/common/DefaultControllerRestApi.java |    4 +-
 .../pinot/ingestion/jobs/SegmentCreationJob.java   |    2 +-
 .../ingestion/jobs/SegmentPreprocessingJob.java    |    2 +-
 .../v0_deprecated/pinot-spark/pom.xml              |   24 +-
 .../plugin/provider/AzureEnvironmentProvider.java  |    5 +-
 pinot-plugins/pinot-file-system/pinot-adls/pom.xml |    4 +-
 .../pinot/plugin/filesystem/ADLSGen2PinotFS.java   |   83 +-
 .../org/apache/pinot/plugin/filesystem/GcsUri.java |   16 +-
 .../pinot/plugin/filesystem/TestGcsPinotFS.java    |   10 +-
 .../apache/pinot/plugin/filesystem/TestGcsUri.java |   20 +-
 pinot-plugins/pinot-file-system/pinot-s3/pom.xml   |    4 +-
 .../pinot-input-format/pinot-avro-base/pom.xml     |    4 +-
 .../inputformat/avro/AvroRecordExtractor.java      |   32 +
 .../avro/AvroRecordExtractorConfig.java            |   43 +
 .../plugin/inputformat/avro/AvroRecordReader.java  |    8 +-
 .../inputformat/avro/AvroRecordReaderConfig.java   |   36 +
 .../plugin/inputformat/avro/AvroSchemaUtil.java    |   58 +
 .../inputformat/avro/AvroRecordExtractorTest.java  |  150 +-
 .../inputformat/avro/AvroSchemaUtilTest.java       |   83 +
 .../inputformat/avro/KafkaAvroMessageDecoder.java  |   10 +-
 .../inputformat/avro/SimpleAvroMessageDecoder.java |   10 +-
 ...aConfluentSchemaRegistryAvroMessageDecoder.java |    5 +-
 .../plugin/inputformat/csv/CSVMessageDecoder.java  |  146 ++
 .../inputformat/csv/CSVMessageDecoderTest.java     |  157 ++
 .../inputformat/json/JSONMessageDecoder.java       |    6 +-
 .../BaseMultipleSegmentsConversionExecutor.java    |   19 +-
 .../tasks/BaseSingleSegmentConversionExecutor.java |    7 +-
 .../pinot/plugin/minion/tasks/MergeTaskUtils.java  |   38 +-
 .../minion/tasks/SegmentConversionUtils.java       |   19 +-
 .../mergerollup/MergeRollupTaskGenerator.java      |   45 +-
 .../minion/tasks/purge/PurgeTaskGenerator.java     |  153 ++
 .../RealtimeToOfflineSegmentsTaskGenerator.java    |   59 +-
 .../SegmentGenerationAndPushTaskExecutor.java      |    2 +-
 .../SegmentGenerationAndPushTaskGenerator.java     |   97 +-
 .../plugin/minion/tasks/MergeTaskUtilsTest.java    |   33 +
 .../mergerollup/MergeRollupTaskGeneratorTest.java  |   60 +-
 .../RealtimeToOfflineSegmentsTaskExecutorTest.java |   14 +-
 .../segmentuploader/SegmentUploaderDefault.java    |   10 +-
 .../filebased/FileBasedSegmentWriterTest.java      |  100 +-
 .../pinot-stream-ingestion/pinot-kafka-0.9/pom.xml |   86 +
 .../pinot-kafka-2.0/README.md                      |    2 +-
 .../plugin/stream/kafka20/KafkaMessageBatch.java   |   11 +-
 .../KafkaPartitionLevelConnectionHandler.java      |    2 +
 .../kafka20/KafkaPartitionLevelConsumer.java       |    6 +-
 .../kafka20/KafkaPartitionLevelStreamConfig.java   |   53 +-
 .../kafka20/MessageAndOffsetAndMetadata.java       |   42 +
 .../stream/kafka20/RowMetadataExtractor.java       |   33 +
 .../kafka20/KafkaPartitionLevelConsumerTest.java   |   88 +-
 .../KafkaPartitionLevelStreamConfigTest.java       |   45 +-
 .../stream/kafka/KafkaJSONMessageDecoderTest.java  |    6 +-
 .../pinot-stream-ingestion/pinot-kinesis/pom.xml   |   14 +-
 .../plugin/stream/kinesis/KinesisConsumer.java     |   18 +-
 .../stream/kinesis/server/KinesisDataProducer.java |  105 +-
 .../pinot-stream-ingestion/pinot-pulsar/pom.xml    |  156 +-
 .../plugin/stream/pulsar/PulsarConsumerTest.java   |  213 +-
 .../stream/pulsar/PulsarStandaloneCluster.java     |  132 --
 .../src/test/resources/standalone.properties       |  904 --------
 pinot-plugins/pom.xml                              |   22 +-
 pinot-query-planner/pom.xml                        |   92 +
 .../apache/calcite/jdbc/CalciteSchemaBuilder.java  |   52 +
 .../org/apache/pinot/query/QueryEnvironment.java   |  193 ++
 .../apache/pinot/query/catalog/PinotCatalog.java   |  122 +
 .../org/apache/pinot/query/catalog/PinotTable.java |   61 +
 .../apache/pinot/query/context/PlannerContext.java |   40 +
 .../query/parser/CalciteRexExpressionParser.java   |  212 ++
 .../pinot/query/parser/CalciteSqlParser.java       |  148 ++
 .../org/apache/pinot/query/parser/ParserUtils.java |  118 +
 .../apache/pinot/query/parser/QueryRewriter.java   |   46 +
 .../apache/pinot/query/planner/PlannerUtils.java   |   32 +
 .../org/apache/pinot/query/planner/QueryPlan.java  |   61 +
 .../apache/pinot/query/planner/StageMetadata.java  |   85 +
 .../query/planner/hints/PinotRelationalHints.java  |   34 +
 .../query/planner/logical/LogicalPlanner.java      |   63 +
 .../query/planner/logical/RelToStageConverter.java |  108 +
 .../pinot/query/planner/logical/RexExpression.java |  198 ++
 .../pinot/query/planner/logical/StagePlanner.java  |  135 ++
 .../partitioning/FieldSelectionKeySelector.java    |   47 +
 .../query/planner/partitioning/KeySelector.java    |   38 +
 .../pinot/query/planner/serde/ProtoProperties.java |   40 +
 .../query/planner/serde/ProtoSerializable.java     |   49 +
 .../planner/serde/ProtoSerializationUtils.java     |  248 ++
 .../query/planner/stage/AbstractStageNode.java     |   62 +
 .../pinot/query/planner/stage/FilterNode.java      |   42 +
 .../apache/pinot/query/planner/stage/JoinNode.java |   74 +
 .../query/planner/stage/MailboxReceiveNode.java    |   49 +
 .../pinot/query/planner/stage/MailboxSendNode.java |   64 +
 .../pinot/query/planner/stage/ProjectNode.java     |   43 +
 .../pinot/query/planner/stage/StageNode.java       |   40 +
 .../query/planner/stage/StageNodeSerDeUtils.java   |   67 +
 .../pinot/query/planner/stage/TableScanNode.java   |   48 +
 .../apache/pinot/query/routing/WorkerInstance.java |   56 +
 .../apache/pinot/query/routing/WorkerManager.java  |   96 +
 .../query/rules/PinotExchangeNodeInsertRule.java   |  102 +
 .../pinot/query/rules/PinotQueryRuleSets.java      |   93 +
 .../org/apache/pinot/query/type/TypeFactory.java   |   84 +
 .../org/apache/pinot/query/type/TypeSystem.java    |   30 +
 .../org/apache/pinot/query/validate/Validator.java |   36 +
 .../apache/pinot/query/QueryEnvironmentTest.java   |  103 +
 .../pinot/query/QueryEnvironmentTestBase.java      |   52 +
 .../pinot/query/QueryEnvironmentTestUtils.java     |  131 ++
 .../pinot/query/planner/stage/SerDeUtilsTest.java  |   87 +
 pinot-query-runtime/pom.xml                        |   83 +
 .../pinot/query/mailbox/GrpcMailboxService.java    |  101 +
 .../pinot/query/mailbox/GrpcReceivingMailbox.java  |   88 +
 .../pinot/query/mailbox/GrpcSendingMailbox.java    |   74 +
 .../pinot/query/mailbox/MailboxIdentifier.java     |   57 +
 .../apache/pinot/query/mailbox/MailboxService.java |   70 +
 .../pinot/query/mailbox/ReceivingMailbox.java      |   56 +
 .../apache/pinot/query/mailbox/SendingMailbox.java |   49 +
 .../query/mailbox/StringMailboxIdentifier.java     |  100 +
 .../java/org/apache/pinot/query/mailbox/Utils.java |   43 +
 .../query/mailbox/channel/ChannelManager.java      |   62 +
 .../query/mailbox/channel/GrpcMailboxServer.java   |   72 +
 .../channel/MailboxContentStreamObserver.java      |  114 +
 .../channel/MailboxStatusStreamObserver.java       |   88 +
 .../apache/pinot/query/runtime/QueryRunner.java    |  129 ++
 .../pinot/query/runtime/blocks/BaseDataBlock.java  |  697 ++++++
 .../query/runtime/blocks/ColumnarDataBlock.java    |   96 +
 .../query/runtime/blocks/DataBlockBuilder.java     |  406 ++++
 .../pinot/query/runtime/blocks/DataBlockUtils.java |  174 ++
 .../pinot/query/runtime/blocks/MetadataBlock.java  |   66 +
 .../pinot/query/runtime/blocks/RowDataBlock.java   |   90 +
 .../query/runtime/blocks/TransferableBlock.java    |   76 +
 .../runtime/executor/WorkerQueryExecutor.java      |  129 ++
 .../query/runtime/operator/HashJoinOperator.java   |  160 ++
 .../runtime/operator/MailboxReceiveOperator.java   |  130 ++
 .../runtime/operator/MailboxSendOperator.java      |  220 ++
 .../query/runtime/plan/DistributedStagePlan.java   |   76 +
 .../runtime/plan/serde/QueryPlanSerDeUtils.java    |  113 +
 .../query/runtime/utils/ServerRequestUtils.java    |  116 +
 .../apache/pinot/query/service/QueryConfig.java    |   37 +
 .../pinot/query/service/QueryDispatcher.java       |  160 ++
 .../apache/pinot/query/service/QueryServer.java    |  115 +
 .../apache/pinot/query/QueryServerEnclosure.java   |  192 ++
 .../query/mailbox/GrpcMailboxServiceTest.java      |   73 +
 .../query/mailbox/GrpcMailboxServiceTestBase.java  |   48 +
 .../pinot/query/runtime/QueryRunnerTest.java       |  166 ++
 .../pinot/query/runtime/blocks/DataBlockTest.java  |   80 +
 .../query/runtime/blocks/DataBlockTestUtils.java   |  181 ++
 .../pinot/query/service/QueryDispatcherTest.java   |   92 +
 .../pinot/query/service/QueryServerTest.java       |  182 ++
 .../local/data/manager/TableDataManager.java       |    4 +-
 .../local/data/manager/TableDataManagerConfig.java |   14 +-
 .../local/dedup/PartitionDedupMetadataManager.java |  156 ++
 .../local/dedup/TableDedupMetadataManager.java     |   51 +
 .../local/function/GroovyFunctionEvaluator.java    |   14 +-
 .../local/function/InbuiltFunctionEvaluator.java   |  111 +-
 .../immutable/ImmutableSegmentImpl.java            |   33 +-
 .../immutable/ImmutableSegmentLoader.java          |    2 +
 .../indexsegment/mutable/IntermediateSegment.java  |   23 +-
 .../indexsegment/mutable/MutableSegmentImpl.java   |  334 ++-
 .../RealtimeIndexOffHeapMemoryManager.java         |    4 +-
 .../pinot/segment/local/io/util/ValueReader.java   |    6 +
 .../writer/impl/BaseChunkSVForwardIndexWriter.java |    1 +
 .../local/io/writer/impl/DirectMemoryManager.java  |    2 +-
 .../local/io/writer/impl/MmapMemoryManager.java    |    2 +-
 .../impl/VarByteChunkSVForwardIndexWriter.java     |    7 +
 .../impl/VarByteChunkSVForwardIndexWriterV4.java   |    7 +
 .../local/io/writer/impl/VarByteChunkWriter.java   |    3 +
 .../converter/RealtimeSegmentConverter.java        |   14 +-
 .../converter/stats/MutableColumnStatistics.java   |    5 -
 .../stats/MutableNoDictionaryColStatistics.java    |    5 -
 .../local/realtime/impl/RealtimeSegmentConfig.java |   63 +-
 .../BigDecimalOffHeapMutableDictionary.java        |  257 +++
 .../BigDecimalOnHeapMutableDictionary.java         |  219 ++
 .../dictionary/BytesOffHeapMutableDictionary.java  |    7 +
 .../dictionary/BytesOnHeapMutableDictionary.java   |    7 +
 .../dictionary/DoubleOffHeapMutableDictionary.java |    6 +
 .../dictionary/DoubleOnHeapMutableDictionary.java  |    6 +
 .../dictionary/FloatOffHeapMutableDictionary.java  |    6 +
 .../dictionary/FloatOnHeapMutableDictionary.java   |    6 +
 .../dictionary/IntOffHeapMutableDictionary.java    |    6 +
 .../dictionary/IntOnHeapMutableDictionary.java     |    6 +
 .../dictionary/LongOffHeapMutableDictionary.java   |    6 +
 .../dictionary/LongOnHeapMutableDictionary.java    |    6 +
 .../impl/dictionary/MutableDictionaryFactory.java  |    5 +
 .../dictionary/StringOffHeapMutableDictionary.java |    6 +
 .../dictionary/StringOnHeapMutableDictionary.java  |    6 +
 .../forward/FixedByteSVMutableForwardIndex.java    |   12 +
 .../impl/forward/VarByteSVMutableForwardIndex.java |   12 +
 .../impl/invertedindex/NativeMutableTextIndex.java |  123 +
 .../invertedindex/RealtimeLuceneTextIndex.java     |    2 +-
 .../recordtransformer/ExpressionTransformer.java   |    2 +-
 .../recordtransformer/SanitizationTransformer.java |    2 +-
 .../creator/impl/DefaultIndexCreatorProvider.java  |   10 +-
 .../creator/impl/SegmentColumnarIndexCreator.java  |  176 +-
 .../creator/impl/SegmentDictionaryCreator.java     |   55 +
 .../impl/SegmentIndexCreationDriverImpl.java       |   12 +-
 .../fwd/SingleValueVarByteRawIndexCreator.java     |   10 +-
 .../impl/inv/BitmapInvertedIndexWriter.java        |   16 +-
 .../creator/impl/inv/RangeIndexCreator.java        |   18 +-
 .../impl/nullvalue/NullValueVectorCreator.java     |   30 +-
 .../BigDecimalColumnPreIndexStatsCollector.java    |  120 +
 .../stats/BytesColumnPredIndexStatsCollector.java  |    5 -
 .../stats/DoubleColumnPreIndexStatsCollector.java  |    5 -
 .../stats/FloatColumnPreIndexStatsCollector.java   |    5 -
 .../stats/IntColumnPreIndexStatsCollector.java     |    5 -
 .../stats/LongColumnPreIndexStatsCollector.java    |    5 -
 .../stats/SegmentPreIndexStatsCollectorImpl.java   |    4 +
 .../stats/StringColumnPreIndexStatsCollector.java  |    5 -
 .../creator/impl/text/NativeTextIndexCreator.java  |  182 ++
 .../index/column/PhysicalColumnIndexContainer.java |   23 +-
 .../converter/SegmentV1V2ToV3FormatConverter.java  |    3 +
 .../segment/index/loader/IndexLoadingConfig.java   |   54 +-
 .../defaultcolumn/DefaultColumnStatistics.java     |    6 -
 .../loader/invertedindex/TextIndexHandler.java     |    5 +-
 .../index/readers/BaseImmutableDictionary.java     |   28 +-
 .../index/readers/BigDecimalDictionary.java        |   96 +
 .../index/readers/BitSlicedRangeIndexReader.java   |   39 +-
 .../index/readers/BitmapInvertedIndexReader.java   |   15 +-
 .../segment/index/readers/BytesDictionary.java     |    7 +
 .../readers/ConstantValueBytesDictionary.java      |    7 +
 .../readers/ConstantValueDoubleDictionary.java     |    6 +
 .../readers/ConstantValueFloatDictionary.java      |    6 +
 .../index/readers/ConstantValueIntDictionary.java  |    6 +
 .../index/readers/ConstantValueLongDictionary.java |    6 +
 .../readers/ConstantValueStringDictionary.java     |    6 +
 .../index/readers/DefaultIndexReaderProvider.java  |   12 +-
 .../segment/index/readers/DocIdDictionary.java     |    6 +
 .../segment/index/readers/DoubleDictionary.java    |   11 +
 .../segment/index/readers/FloatDictionary.java     |   11 +
 .../local/segment/index/readers/IntDictionary.java |   11 +
 .../segment/index/readers/LongDictionary.java      |   11 +
 .../index/readers/OnHeapDoubleDictionary.java      |    6 +
 .../index/readers/OnHeapFloatDictionary.java       |    6 +
 .../segment/index/readers/OnHeapIntDictionary.java |    6 +
 .../index/readers/OnHeapLongDictionary.java        |    6 +
 .../index/readers/OnHeapStringDictionary.java      |    6 +
 .../index/readers/RangeIndexReaderImpl.java        |   41 +
 .../segment/index/readers/StringDictionary.java    |    6 +
 .../readers/bloom/GuavaBloomFilterReaderUtils.java |   28 +
 .../forward/VarByteChunkSVForwardIndexReader.java  |    9 +-
 .../VarByteChunkSVForwardIndexReaderV4.java        |    7 +
 .../readers/geospatial/ImmutableH3IndexReader.java |    2 +-
 .../index/readers/text/NativeTextIndexReader.java  |  119 +
 .../segment/readers/PinotSegmentColumnReader.java  |    2 +
 .../local/segment/store/TextIndexUtils.java        |   40 +-
 .../local/startree/OffHeapStarTreeNode.java        |   58 +-
 .../startree/v2/builder/BaseSingleTreeBuilder.java |   48 +-
 .../segment/local/upsert/PartialUpsertHandler.java |   67 +-
 .../upsert/PartitionUpsertMetadataManager.java     |   90 +-
 .../local/upsert/TableUpsertMetadataManager.java   |    6 +-
 .../local/utils/FixedIntArrayOffHeapIdMap.java     |    6 +
 .../apache/pinot/segment/local/utils/H3Utils.java  |   92 +
 .../pinot/segment/local/utils/HashUtils.java       |   16 +
 .../pinot/segment/local/utils/IngestionUtils.java  |   36 +-
 .../pinot/segment/local/utils/RecordInfo.java      |   46 +
 .../segment/local/utils/SegmentPushUtils.java      |   16 +-
 .../segment/local/utils/TableConfigUtils.java      |  254 ++-
 .../pinot/segment/local/utils/nativefst/FST.java   |    4 +-
 .../local/utils/tablestate/TableStateUtils.java    |   88 +
 .../dedup/PartitionDedupMetadataManagerTest.java   |  211 ++
 .../mutable/IntermediateSegmentTest.java           |   32 +-
 .../mutable/MutableSegmentDedupeTest.java          |  104 +
 ...MutableSegmentImplIngestionAggregationTest.java |  230 ++
 .../mutable/MutableSegmentImplTestUtils.java       |   36 +-
 .../MutableSegmentImplUpsertComparisonColTest.java |    5 +-
 .../mutable/MutableSegmentImplUpsertTest.java      |   13 +-
 .../impl/dictionary/MutableDictionaryTest.java     |   15 +-
 .../NativeAndLuceneMutableTextIndexTest.java       |  107 +
 .../NativeMutableTextIndexConcurrentTest.java      |  251 ++
 .../NativeMutableTextIndexReaderWriterTest.java    |   63 +
 .../ExpressionTransformerTest.java                 |   95 +-
 .../recordtransformer/RecordTransformerTest.java   |  150 +-
 .../local/segment/creator/DictionariesTest.java    |   74 +
 .../segment/creator/DictionaryOptimiserTest.java   |  178 ++
 .../impl/SegmentColumnarIndexCreatorTest.java      |    7 +-
 .../index/creator/BitSlicedIndexCreatorTest.java   |   18 +-
 .../index/creator/NativeTextIndexCreatorTest.java  |   89 +
 .../segment/index/creator/RawIndexCreatorTest.java |    2 +-
 .../SegmentGenerationWithFilterRecordsTest.java    |    3 +-
 .../index/creator/SegmentPartitionTest.java        |   20 +-
 .../forward/VarByteChunkSVForwardIndexTest.java    |   24 +
 .../index/loader/SegmentPreProcessorTest.java      |   12 +-
 .../index/readers/ImmutableDictionaryTest.java     |   55 +
 .../ImmutableDictionaryTypeConversionTest.java     |   44 +-
 .../upsert/PartitionUpsertMetadataManagerTest.java |  137 +-
 .../segment/local/utils/IngestionUtilsTest.java    |   90 +-
 .../segment/local/utils/TableConfigUtilsTest.java  |  456 +++-
 .../local/utils/nativefst/FSTSanityTest.java       |    2 +-
 .../mutablefst/MutableFSTConcurrentTest.java       |   74 +-
 .../resources/data/mixed_cardinality_data.avro     |  Bin 0 -> 553960 bytes
 .../src/test/resources/data/test_dedup_data.json   |   22 +
 ...t_upsert_schema.json => test_dedup_schema.json} |    0
 .../pinot/segment/spi/AggregationFunctionType.java |    3 +
 .../apache/pinot/segment/spi/SegmentMetadata.java  |    4 +
 .../org/apache/pinot/segment/spi/V1Constants.java  |    6 +
 .../spi/creator/ColumnIndexCreationInfo.java       |    4 -
 .../segment/spi/creator/ColumnStatistics.java      |    5 -
 .../segment/spi/creator/IndexCreationContext.java  |    8 +-
 .../spi/creator/SegmentGeneratorConfig.java        |   54 +
 .../creator/name/FixedSegmentNameGenerator.java    |    6 +-
 .../name/InputFileSegmentNameGenerator.java        |   56 +-
 .../name/NormalizedDateSegmentNameGenerator.java   |   36 +-
 .../creator/name/SimpleSegmentNameGenerator.java   |   30 +-
 .../segment/spi/evaluator/TransformEvaluator.java  |   13 +
 .../spi/index/creator/ForwardIndexCreator.java     |   10 +
 .../spi/index/metadata/ColumnMetadataImpl.java     |    5 +
 .../spi/index/metadata/SegmentMetadataImpl.java    |   29 +-
 .../spi/index/mutable/MutableForwardIndex.java     |   27 +
 .../pinot/segment/spi/index/reader/Dictionary.java |   41 +
 .../spi/index/reader/ForwardIndexReader.java       |   84 +
 .../segment/spi/index/reader/RangeIndexReader.java |   46 +
 .../segment/spi/store/SegmentDirectoryPaths.java   |   12 +
 .../name/FixedSegmentNameGeneratorTest.java        |   40 +
 .../name/InputFileSegmentNameGeneratorTest.java    |    3 +-
 .../NormalizedDateSegmentNameGeneratorTest.java    |   17 +-
 .../name/SimpleSegmentNameGeneratorTest.java       |    1 +
 pinot-server/pom.xml                               |    8 +
 .../pinot/server/api/resources/DebugResource.java  |   11 +-
 .../server/api/resources/MmapDebugResource.java    |   16 +-
 .../api/resources/PinotServerAppConfigs.java       |   11 +-
 .../server/api/resources/TableSizeResource.java    |   11 +-
 .../pinot/server/api/resources/TablesResource.java |   10 +-
 .../org/apache/pinot/server/conf/ServerConf.java   |   14 +
 .../pinot/server/starter/ServerInstance.java       |  107 +-
 .../server/starter/helix/AdminApiApplication.java  |   16 +-
 .../server/starter/helix/BaseServerStarter.java    |  181 +-
 .../starter/helix/HelixInstanceDataManager.java    |    7 +-
 .../helix/HelixInstanceDataManagerConfig.java      |   15 +-
 .../pinot/server/worker/WorkerQueryServer.java     |  102 +
 .../apache/pinot/server/api/BaseResourceTest.java  |    4 +-
 .../server/api/PinotServerAppConfigsTest.java      |    7 +-
 pinot-spi/pom.xml                                  |    4 +-
 .../org/apache/pinot/spi/auth/AuthContext.java     |   34 -
 .../org/apache/pinot/spi/auth/AuthProvider.java    |   35 +
 .../org/apache/pinot/spi/config/ConfigUtils.java   |   22 +-
 .../apache/pinot/spi/config/instance/Instance.java |   23 +
 .../config/instance/InstanceDataManagerConfig.java |    2 +-
 .../apache/pinot/spi/config/table/ColumnStats.java |   89 +
 .../apache/pinot/spi/config/table/DedupConfig.java |   44 +
 .../apache/pinot/spi/config/table/FieldConfig.java |    3 +
 .../pinot/spi/config/table/HashFunction.java       |   23 +
 .../pinot/spi/config/table/IndexingConfig.java     |   23 +
 .../apache/pinot/spi/config/table/QueryConfig.java |   23 +-
 .../spi/config/table/SegmentZKPropsConfig.java     |   44 +
 .../SegmentsValidationAndRetentionConfig.java      |    9 +
 .../apache/pinot/spi/config/table/TableConfig.java |   20 +-
 .../config/table/TimestampIndexGranularity.java    |    2 +-
 .../pinot/spi/config/table/UpsertConfig.java       |    4 -
 .../InstanceReplicaGroupPartitionConfig.java       |   10 +-
 .../config/table/ingestion/AggregationConfig.java  |   49 +
 .../table/ingestion/BatchIngestionConfig.java      |    6 +-
 .../config/table/ingestion/IngestionConfig.java    |   49 +-
 .../pinot/spi/config/task/AdhocTaskConfig.java     |   81 +
 .../apache/pinot/spi/config/user/AccessType.java   |   23 +
 .../pinot/spi/config/user/ComponentType.java       |   23 +
 .../org/apache/pinot/spi/config/user/RoleType.java |   23 +
 .../apache/pinot/spi/config/user/UserConfig.java   |  140 ++
 .../pinot/spi/data/DateTimeFormatPatternSpec.java  |   35 +
 .../apache/pinot/spi/data/DateTimeFormatSpec.java  |  103 +-
 .../java/org/apache/pinot/spi/data/FieldSpec.java  |   13 +
 .../java/org/apache/pinot/spi/data/Schema.java     |   11 +-
 .../spi/data/readers/RecordExtractorConfig.java    |    4 +
 .../spi/data/readers/RecordReaderFactory.java      |    9 +-
 .../apache/pinot/spi/env/PinotConfiguration.java   |    2 +-
 .../pinot/spi/ingestion/batch/BatchConfig.java     |    7 +
 .../spi/ingestion/batch/BatchConfigProperties.java |    2 +
 .../batch/spec/SegmentGenerationJobSpec.java       |    6 +
 .../segment/uploader/SegmentUploader.java          |   10 +-
 ...eporterMetricsRegistryRegistrationListener.java |   38 +
 .../MetricsRegistryRegistrationListener.java       |   29 +
 .../apache/pinot/spi/metrics/PinotMetricUtils.java |  233 ++
 .../org/apache/pinot/spi/plugin/PluginManager.java |    1 +
 .../org/apache/pinot/spi/stream/StreamConfig.java  |   58 +-
 .../pinot/spi/stream/StreamConfigProperties.java   |    2 +
 .../pinot/spi/stream/StreamDataProducer.java       |   72 +
 .../pinot/spi/stream/StreamMessageDecoder.java     |    1 +
 .../pinot/spi/trace/DefaultRequestContext.java     |  408 ++++
 .../pinot/spi/trace/InvocationRecording.java       |   41 +-
 .../org/apache/pinot/spi/trace/RequestContext.java |  163 ++
 .../org/apache/pinot/spi/trace/RequestScope.java   |   26 +
 .../java/org/apache/pinot/spi/trace/Tracer.java    |    8 +
 .../org/apache/pinot/spi/utils/ArrayCopyUtils.java |   74 +
 .../apache/pinot/spi/utils/BigDecimalUtils.java    |   21 +-
 .../apache/pinot/spi/utils/CommonConstants.java    |  106 +-
 .../pinot/spi/utils/IngestionConfigUtils.java      |   27 +-
 .../apache/pinot/spi/utils/InstanceTypeUtils.java  |   62 +
 .../java/org/apache/pinot/spi/utils/JsonUtils.java |   75 +-
 .../main/java/org/apache/pinot/spi/utils/Pair.java |   73 -
 .../pinot/spi/utils/RebalanceConfigConstants.java  |   60 +
 .../org/apache/pinot/spi/utils/StringUtil.java     |   56 +
 .../utils/builder/ControllerRequestURLBuilder.java |  462 ++++
 .../spi/utils/builder/TableConfigBuilder.java      |   17 +-
 .../pinot/spi/utils/builder/UserConfigBuilder.java |   70 +
 .../apache/pinot/spi/config/ConfigUtilsTest.java   |   49 +-
 .../pinot/spi/config/table/UpsertConfigTest.java   |    4 +-
 .../pinot/spi/config/task/AdhocTaskConfigTest.java |   43 +
 .../spi/data/DateTimeFormatPatternSpecTest.java    |   43 +
 .../pinot/spi/data/DateTimeFormatSpecTest.java     |   41 +
 .../data/readers/AbstractRecordExtractorTest.java  |   12 +-
 .../spi/data/readers/RecordReaderFactoryTest.java  |    4 +-
 .../pinot/spi/stream/StreamDataProducerTest.java   |   55 +
 .../pinot/spi/utils/BigDecimalUtilsTest.java       |   10 +-
 .../pinot/spi/utils/IngestionConfigUtilsTest.java  |   37 +-
 .../org/apache/pinot/spi/utils/JsonUtilsTest.java  |   16 +
 .../pinot/spi/utils/JsonUtilsTestSamplePojo.java   |   84 +
 pinot-tools/pom.xml                                |   20 +-
 .../org/apache/pinot/tools/AuthQuickstart.java     |    6 +-
 .../pinot/tools/BatchQuickstartWithMinion.java     |   49 -
 .../org/apache/pinot/tools/BootstrapTableTool.java |   16 +-
 .../org/apache/pinot/tools/EmptyQuickstart.java    |    7 +-
 .../org/apache/pinot/tools/GenericQuickstart.java  |    2 +-
 .../apache/pinot/tools/GitHubEventsQuickstart.java |    2 +-
 .../org/apache/pinot/tools/HybridQuickstart.java   |   11 +-
 .../org/apache/pinot/tools/JoinQuickStart.java     |    2 +-
 .../apache/pinot/tools/JsonIndexQuickStart.java    |    2 +-
 .../OfflineComplexTypeHandlingQuickStart.java      |    2 +-
 .../pinot/tools/PartialUpsertQuickStart.java       |    2 +-
 .../apache/pinot/tools/PinotTableRebalancer.java   |    2 +-
 .../java/org/apache/pinot/tools/Quickstart.java    |   12 +-
 .../RealtimeComplexTypeHandlingQuickStart.java     |    6 +-
 .../pinot/tools/RealtimeJsonIndexQuickStart.java   |    6 +-
 .../org/apache/pinot/tools/RealtimeQuickStart.java |    2 +-
 .../pinot/tools/TimestampIndexQuickstart.java      |    2 +-
 .../apache/pinot/tools/UpsertJsonQuickStart.java   |    7 +-
 .../org/apache/pinot/tools/UpsertQuickStart.java   |    2 +-
 .../pinot/tools/admin/PinotAdministrator.java      |    4 +
 .../admin/command/AbstractBaseAdminCommand.java    |   38 +-
 .../tools/admin/command/AddSchemaCommand.java      |   14 +-
 .../pinot/tools/admin/command/AddTableCommand.java |   24 +-
 .../tools/admin/command/AddTenantCommand.java      |   19 +-
 .../tools/admin/command/AnonymizeDataCommand.java  |   24 +-
 .../tools/admin/command/BootstrapTableCommand.java |   16 +-
 .../tools/admin/command/ChangeTableState.java      |   20 +-
 .../admin/command/DataImportDryRunCommand.java     |   96 +
 .../tools/admin/command/FileSystemCommand.java     |  111 +
 .../tools/admin/command/ImportDataCommand.java     |   19 +-
 .../command/LaunchDataIngestionJobCommand.java     |   11 +-
 .../admin/command/OperateClusterConfigCommand.java |   19 +-
 .../tools/admin/command/PostQueryCommand.java      |   45 +-
 .../tools/admin/command/QuickstartRunner.java      |   80 +-
 .../tools/admin/command/StartServerCommand.java    |   27 +-
 .../admin/command/StartServiceManagerCommand.java  |    2 +-
 .../tools/admin/command/UploadSegmentCommand.java  |   20 +-
 .../command/filesystem/BaseFileOperation.java      |   58 +
 .../tools/admin/command/filesystem/CopyFiles.java  |  113 +
 .../admin/command/filesystem/DeleteFiles.java      |   81 +
 .../tools/admin/command/filesystem/ListFiles.java  |   93 +
 .../tools/admin/command/filesystem/MoveFiles.java  |   93 +
 .../tools/admin/command/filesystem/Utils.java      |   45 +
 .../anonymizer/PinotDataAndQueryAnonymizer.java    |  956 ++++----
 .../pinot/tools/perf/PerfBenchmarkDriver.java      |   33 +-
 .../pinot/tools/perf/PerfBenchmarkDriverConf.java  |   22 +-
 .../org/apache/pinot/tools/perf/QueryRunner.java   |  124 +-
 .../resources/PinotServiceManagerHealthCheck.java  |   11 +-
 .../PinotServiceManagerInstanceResource.java       |   10 +-
 .../pinot/tools/streams/AirlineDataStream.java     |  112 +-
 .../tools/streams/AvroFileSourceGenerator.java     |  141 ++
 .../pinot/tools/streams/MeetupRsvpJsonStream.java  |   53 -
 .../pinot/tools/streams/MeetupRsvpStream.java      |  121 +-
 .../pinot/tools/streams/PinotRealtimeSource.java   |  190 ++
 .../tools/streams/PinotSourceDataGenerator.java    |   44 +
 .../tools/streams/PinotStreamRateLimiter.java      |   32 +
 .../pinot/tools/streams/RsvpSourceGenerator.java   |   98 +
 .../GithubPullRequestSourceGenerator.java          |  220 ++
 .../PullRequestMergedEventsStream.java             |  227 +-
 .../pinot/tools/utils/KafkaStarterUtils.java       |   12 +-
 .../apache/pinot/tools/utils/PinotConfigUtils.java |    3 +-
 .../src/main/resources/conf/pinot-minion.conf      |    5 +-
 .../resources/conf/sample_query_comparison.conf    |   30 -
 .../conf/sample_realtime_table_config.json         |   13 +-
 .../meetupRsvp_realtime_table_config.json          |   11 +-
 .../meetupRsvp_realtime_table_config.json          |   12 +-
 .../meetupRsvp_realtime_table_config.json          |   10 +-
 .../pinot/tools/TestDataAndQueryAnonymizer.java    |  112 +-
 .../tools/admin/command/TestQuickStartCommand.java |  159 +-
 .../tools/streams/PinotRealtimeSourceTest.java     |   65 +
 pinot-tools/src/test/resources/queries.raw         |    6 +-
 pom.xml                                            |  139 +-
 1379 files changed, 61169 insertions(+), 44457 deletions(-)
 create mode 100644 compatibility-verifier/sample-test-suite/config/FeatureTest3-schema.json
 rename compatibility-verifier/sample-test-suite/config/data/{RealtimeFeatureTest1-data-00.csv => FeatureTest2-data-realtime-00.csv} (100%)
 create mode 100644 compatibility-verifier/sample-test-suite/config/data/FeatureTest3-data-realtime-00.csv
 create mode 100644 compatibility-verifier/sample-test-suite/config/data/recordReaderConfig-FeatureTest3.json
 create mode 100644 compatibility-verifier/sample-test-suite/config/dataGenerator.py
 create mode 100644 compatibility-verifier/sample-test-suite/config/feature-test-3-realtime-stream-config.json
 create mode 100644 compatibility-verifier/sample-test-suite/config/feature-test-3-realtime.json
 create mode 100644 compatibility-verifier/sample-test-suite/config/queries/feature-test-3-sql-realtime.queries
 create mode 100644 compatibility-verifier/sample-test-suite/config/query-results/feature-test-3-sql-realtime.results
 create mode 100644 contrib/pinot-fmpp-maven-plugin/pom.xml
 create mode 100644 contrib/pinot-fmpp-maven-plugin/src/main/java/org/apache/pinot/fmpp/FMPPMojo.java
 create mode 100644 contrib/pinot-fmpp-maven-plugin/src/main/java/org/apache/pinot/fmpp/MavenDataLoader.java
 delete mode 100644 kubernetes/helm/pinot/charts/zookeeper-7.0.0.tgz
 delete mode 100644 kubernetes/helm/thirdeye/Chart.lock
 delete mode 100644 pinot-broker/src/main/java/org/apache/pinot/broker/api/RequestStatistics.java
 create mode 100644 pinot-broker/src/main/java/org/apache/pinot/broker/broker/ZkBasicAuthAccessControlFactory.java
 create mode 100644 pinot-broker/src/main/java/org/apache/pinot/broker/failuredetector/BaseExponentialBackoffRetryFailureDetector.java
 create mode 100644 pinot-broker/src/main/java/org/apache/pinot/broker/failuredetector/ConnectionFailureDetector.java
 create mode 100644 pinot-broker/src/main/java/org/apache/pinot/broker/failuredetector/FailureDetector.java
 create mode 100644 pinot-broker/src/main/java/org/apache/pinot/broker/failuredetector/FailureDetectorFactory.java
 create mode 100644 pinot-broker/src/main/java/org/apache/pinot/broker/failuredetector/NoOpFailureDetector.java
 create mode 100644 pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/BrokerRequestHandlerDelegate.java
 create mode 100644 pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/MultiStageBrokerRequestHandler.java
 create mode 100644 pinot-broker/src/main/java/org/apache/pinot/broker/routing/segmentpruner/MultiPartitionColumnsSegmentPruner.java
 delete mode 100644 pinot-broker/src/main/java/org/apache/pinot/broker/routing/segmentpruner/PartitionSegmentPruner.java
 create mode 100644 pinot-broker/src/main/java/org/apache/pinot/broker/routing/segmentpruner/SinglePartitionColumnSegmentPruner.java
 create mode 100644 pinot-broker/src/test/java/org/apache/pinot/broker/broker/helix/ClusterChangeMediatorTest.java
 create mode 100644 pinot-broker/src/test/java/org/apache/pinot/broker/failuredetector/ConnectionFailureDetectorTest.java
 delete mode 100644 pinot-broker/src/test/java/org/apache/pinot/broker/request/PqlAndCalciteSqlCompatibilityTest.java
 create mode 100644 pinot-broker/src/test/java/org/apache/pinot/broker/requesthandler/BaseBrokerRequestHandlerTest.java
 delete mode 100644 pinot-broker/src/test/java/org/apache/pinot/broker/requesthandler/DistinctCountRewriteTest.java
 delete mode 100644 pinot-broker/src/test/java/org/apache/pinot/broker/requesthandler/QueryLimitOverrideTest.java
 create mode 100644 pinot-broker/src/test/java/org/apache/pinot/broker/requesthandler/QueryOverrideTest.java
 create mode 100644 pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/BrokerCache.java
 create mode 100644 pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/BrokerCacheUpdaterPeriodic.java
 create mode 100644 pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/BrokerData.java
 create mode 100644 pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/ControllerBasedBrokerSelector.java
 create mode 100644 pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/UpdatableBrokerCache.java
 create mode 100644 pinot-clients/pinot-jdbc-client/src/main/java/org/apache/pinot/client/controller/PinotControllerTransportFactory.java
 delete mode 100644 pinot-common/src/main/antlr4/org/apache/pinot/pql/parsers/PQL2.g4
 create mode 100644 pinot-common/src/main/codegen/config.fmpp
 create mode 100644 pinot-common/src/main/codegen/includes/parserImpls.ftl
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/auth/AuthConfig.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/auth/AuthProviderUtils.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/auth/NullAuthProvider.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/auth/StaticTokenAuthProvider.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/auth/UrlAuthProvider.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/config/provider/AccessControlUserCache.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/function/scalar/ComparisonFunctions.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/function/scalar/ObjectFunctions.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/common/metrics/JmxReporterMetricsRegistryRegistrationListener.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/common/metrics/MetricsRegistryRegistrationListener.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/common/metrics/PinotMetricUtils.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/common/request/AggregationInfo.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/common/request/FilterOperator.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/common/request/FilterQuery.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/common/request/FilterQueryMap.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/common/request/GroupBy.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/common/request/HavingFilterQuery.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/common/request/HavingFilterQueryMap.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/common/request/QueryType.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/common/request/Selection.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/common/request/SelectionSort.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/request/context/predicate/TextContainsPredicate.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/common/request/transform/TransformExpressionTree.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/common/response/broker/AggregationResult.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/common/response/broker/GroupByResult.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/common/response/broker/SelectionResults.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/utils/BcryptUtils.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/common/utils/LLCUtils.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/common/utils/StringUtil.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/common/utils/config/AccessControlUserConfigUtils.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/common/utils/request/FilterQueryTree.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/parsers/CompilerConstants.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/parsers/QueryCompiler.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/parsers/utils/BrokerRequestComparisonUtils.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/parsers/utils/ParserUtils.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/PinotQuery2BrokerRequestConverter.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/Pql2AstListener.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/Pql2CompilationException.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/Pql2Compiler.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/AstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/BaseAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/BetweenPredicateAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/BinaryMathOpAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/BooleanOperatorAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/ComparisonPredicateAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/ExpressionParenthesisGroupAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/FilterKind.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/FloatingPointLiteralAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/FunctionCallAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/GroupByAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/IdentifierAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/InPredicateAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/IntegerLiteralAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/IsNullPredicateAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/LimitAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/LiteralAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/OptionAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/OptionsAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/OrderByAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/OrderByExpressionAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/OutputColumnAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/OutputColumnListAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/PredicateAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/PredicateListAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/PredicateParenthesisGroupAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/RegexpLikePredicateAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/SelectAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/StarColumnListAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/StarExpressionAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/StringLiteralAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/TableNameAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/TextMatchPredicateAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/TopAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/pql2/ast/WhereAstNode.java
 delete mode 100644 pinot-common/src/main/java/org/apache/pinot/pql/parsers/utils/Pair.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/sql/FilterKind.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/sql/parsers/PinotSqlType.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/sql/parsers/SqlNodeAndOptions.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/sql/parsers/dml/DataManipulationStatement.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/sql/parsers/dml/DataManipulationStatementParser.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/sql/parsers/dml/InsertIntoFile.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/sql/parsers/parser/SqlInsertFromFile.java
 create mode 100644 pinot-common/src/main/java/org/apache/pinot/sql/parsers/parser/UnparseUtils.java
 create mode 100644 pinot-common/src/main/proto/mailbox.proto
 create mode 100644 pinot-common/src/main/proto/plan.proto
 create mode 100644 pinot-common/src/main/proto/worker.proto
 create mode 100644 pinot-common/src/test/java/org/apache/pinot/common/function/scalar/DataTypeConversionFunctionsTest.java
 delete mode 100644 pinot-common/src/test/java/org/apache/pinot/common/request/transform/TransformExpressionTreeTest.java
 delete mode 100644 pinot-common/src/test/java/org/apache/pinot/pql/parsers/Pql2CompilerTest.java
 delete mode 100644 pinot-common/src/test/java/org/apache/pinot/request/BrokerRequestSerializationTest.java
 create mode 100644 pinot-common/src/test/java/org/apache/pinot/sql/parsers/dml/InsertIntoFileTest.java
 delete mode 100644 pinot-common/src/test/resources/pql_queries.list
 delete mode 100644 pinot-common/src/test/resources/sql_queries.list
 create mode 100644 pinot-connectors/pinot-spark-connector/src/main/scala/org/apache/pinot/connector/spark/connector/PinotGrpcServerDataFetcher.scala
 create mode 100644 pinot-connectors/prestodb-pinot-dependencies/pinot-java-client-jdk8/pom.xml
 create mode 120000 pinot-connectors/prestodb-pinot-dependencies/pinot-java-client-jdk8/src
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/api/access/ZkBasicAuthAccessControlFactory.java
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/api/exception/NoTaskMetadataException.java
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/api/exception/NoTaskScheduledException.java
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/api/exception/TaskAlreadyExistsException.java
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/api/exception/UnknownTaskTypeException.java
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/api/exception/UserAlreadyExistsException.java
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/ConfigSuccessResponse.java
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/PinotAccessControlUserRestletResource.java
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/PinotRealtimeTableResource.java
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/PinotUpsertRestletResource.java
 create mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/api/upload/SegmentValidationUtils.java
 delete mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/api/upload/SegmentValidator.java
 delete mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/helix/ControllerRequestURLBuilder.java
 delete mode 100644 pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/rebalance/RebalanceConfigConstants.java
 create mode 100644 pinot-controller/src/main/resources/app/components/User/AddUser.tsx
 create mode 100644 pinot-controller/src/main/resources/app/components/User/UpdateUser.tsx
 create mode 100644 pinot-controller/src/main/resources/app/pages/UserPage.tsx
 delete 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/PinotAccessControlUserRestletResourceTest.java
 create mode 100644 pinot-controller/src/test/java/org/apache/pinot/controller/api/PinotUpsertRestletResourceTest.java
 create mode 100644 pinot-controller/src/test/resources/memory_estimation/schema-for-upsert.json
 create mode 100644 pinot-controller/src/test/resources/memory_estimation/table-config-for-upsert.json
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/auth/ZkBasicAuthPrincipal.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/common/ExplainPlanRowData.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/common/ExplainPlanRows.java
 delete mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/combine/GroupByCombineOperator.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/filter/H3InclusionIndexFilterOperator.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/filter/TextContainsFilterOperator.java
 delete mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/query/AggregationGroupByOperator.java
 delete mode 100644 pinot-core/src/main/java/org/apache/pinot/core/plan/AggregationGroupByPlanNode.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstDoubleValueWithTimeAggregationFunction.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstFloatValueWithTimeAggregationFunction.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstIntValueWithTimeAggregationFunction.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstLongValueWithTimeAggregationFunction.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstStringValueWithTimeAggregationFunction.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstWithTimeAggregationFunction.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/HistogramAggregationFunction.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileSmartTDigestAggregationFunction.java
 delete mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/groupby/AggregationGroupByTrimmingService.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/utils/DoubleVectorOpUtils.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/raw/BaseRawBigDecimalSingleColumnDistinctExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/raw/RawBigDecimalSingleColumnDistinctOnlyExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/distinct/raw/RawBigDecimalSingleColumnDistinctOrderByExecutor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/executor/sql/SqlQueryExecutor.java
 delete mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/pruner/DataSchemaSegmentPruner.java
 delete mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/pruner/ValidSegmentPruner.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/reduce/BaseGapfillProcessor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/reduce/CountGapfillProcessor.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/reduce/GapfillProcessorFactory.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/reduce/SumAvgGapfillProcessor.java
 delete mode 100644 pinot-core/src/main/java/org/apache/pinot/core/query/request/context/utils/BrokerRequestToQueryContextConverter.java
 delete mode 100644 pinot-core/src/main/java/org/apache/pinot/core/requesthandler/PinotQueryParserFactory.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/transport/QueryResponse.java
 create mode 100644 pinot-core/src/main/java/org/apache/pinot/server/access/ZkBasicAuthAccessFactory.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/auth/ZkBasicAuthTest.java
 delete mode 100644 pinot-core/src/test/java/org/apache/pinot/core/query/aggregation/groupby/AggregationGroupByTrimmingServiceTest.java
 delete mode 100644 pinot-core/src/test/java/org/apache/pinot/core/query/aggregation/groupby/StringGroupKeyTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/queries/BigDecimalQueriesTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/queries/CastQueriesTest.java
 delete mode 100644 pinot-core/src/test/java/org/apache/pinot/queries/ExpectedQueryResult.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/queries/FirstWithTimeQueriesTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/queries/GapfillQueriesScalabilityTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/queries/HistogramQueriesTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/queries/InterSegmentGroupByMultiValueQueriesTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/queries/InterSegmentGroupBySingleValueQueriesTest.java
 delete mode 100644 pinot-core/src/test/java/org/apache/pinot/queries/InterSegmentOrderByMultiValueQueriesTest.java
 delete mode 100644 pinot-core/src/test/java/org/apache/pinot/queries/InterSegmentOrderBySingleValueQueriesTest.java
 delete mode 100644 pinot-core/src/test/java/org/apache/pinot/queries/InterSegmentResultTableMultiValueQueriesTest.java
 delete mode 100644 pinot-core/src/test/java/org/apache/pinot/queries/InterSegmentResultTableSingleValueQueriesTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/queries/NativeAndLuceneComparisonTest.java
 create mode 100644 pinot-core/src/test/java/org/apache/pinot/queries/RangeQueriesTest.java
 delete mode 100644 pinot-core/src/test/java/org/apache/pinot/queries/UrlFunctionGroupByTest.java
 rename pinot-core/src/test/resources/data/text_search_data/{pql_query1.txt => queries.txt} (100%)
 delete mode 100644 pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/BasicAuthRealtimeIntegrationTest.java
 delete mode 100644 pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/LuceneRealtimeClusterIntegrationTest.java
 create mode 100644 pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/PurgeMinionClusterIntegrationTest.java
 create mode 100644 pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/SegmentGenerationMinionClusterIntegrationTest.java
 create mode 100644 pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/TextIndicesRealtimeClusterIntegrationTest.java
 create mode 100644 pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/UrlAuthRealtimeIntegrationTest.java
 create mode 100644 pinot-integration-tests/src/test/resources/url-auth-token-prefixed.txt
 create mode 100644 pinot-integration-tests/src/test/resources/url-auth-token.txt
 create mode 100644 pinot-minion/src/main/java/org/apache/pinot/minion/api/resources/HealthCheckResource.java
 create mode 100644 pinot-perf/src/main/java/org/apache/pinot/perf/BenchmarkBloomFilter.java
 create mode 100644 pinot-perf/src/main/java/org/apache/pinot/perf/BenchmarkColumnValueSegmentPruner.java
 create mode 100644 pinot-perf/src/main/java/org/apache/pinot/perf/BenchmarkNativeVsLuceneTextIndex.java
 create mode 100644 pinot-plugins/pinot-input-format/pinot-avro-base/src/main/java/org/apache/pinot/plugin/inputformat/avro/AvroRecordExtractorConfig.java
 create mode 100644 pinot-plugins/pinot-input-format/pinot-avro-base/src/main/java/org/apache/pinot/plugin/inputformat/avro/AvroRecordReaderConfig.java
 create mode 100644 pinot-plugins/pinot-input-format/pinot-avro-base/src/test/java/org/apache/pinot/plugin/inputformat/avro/AvroSchemaUtilTest.java
 create mode 100644 pinot-plugins/pinot-input-format/pinot-csv/src/main/java/org/apache/pinot/plugin/inputformat/csv/CSVMessageDecoder.java
 create mode 100644 pinot-plugins/pinot-input-format/pinot-csv/src/test/java/org/apache/pinot/plugin/inputformat/csv/CSVMessageDecoderTest.java
 create mode 100644 pinot-plugins/pinot-minion-tasks/pinot-minion-builtin-tasks/src/main/java/org/apache/pinot/plugin/minion/tasks/purge/PurgeTaskGenerator.java
 create mode 100644 pinot-plugins/pinot-stream-ingestion/pinot-kafka-2.0/src/main/java/org/apache/pinot/plugin/stream/kafka20/MessageAndOffsetAndMetadata.java
 create mode 100644 pinot-plugins/pinot-stream-ingestion/pinot-kafka-2.0/src/main/java/org/apache/pinot/plugin/stream/kafka20/RowMetadataExtractor.java
 delete mode 100644 pinot-plugins/pinot-stream-ingestion/pinot-pulsar/src/test/java/org/apache/pinot/plugin/stream/pulsar/PulsarStandaloneCluster.java
 delete mode 100644 pinot-plugins/pinot-stream-ingestion/pinot-pulsar/src/test/resources/standalone.properties
 create mode 100644 pinot-query-planner/pom.xml
 create mode 100644 pinot-query-planner/src/main/java/org/apache/calcite/jdbc/CalciteSchemaBuilder.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/QueryEnvironment.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/catalog/PinotCatalog.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/catalog/PinotTable.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/context/PlannerContext.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/parser/CalciteRexExpressionParser.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/parser/CalciteSqlParser.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/parser/ParserUtils.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/parser/QueryRewriter.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/planner/PlannerUtils.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/planner/QueryPlan.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/planner/StageMetadata.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/planner/hints/PinotRelationalHints.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/planner/logical/LogicalPlanner.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/planner/logical/RelToStageConverter.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/planner/logical/RexExpression.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/planner/logical/StagePlanner.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/planner/partitioning/FieldSelectionKeySelector.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/planner/partitioning/KeySelector.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/planner/serde/ProtoProperties.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/planner/serde/ProtoSerializable.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/planner/serde/ProtoSerializationUtils.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/planner/stage/AbstractStageNode.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/planner/stage/FilterNode.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/planner/stage/JoinNode.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/planner/stage/MailboxReceiveNode.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/planner/stage/MailboxSendNode.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/planner/stage/ProjectNode.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/planner/stage/StageNode.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/planner/stage/StageNodeSerDeUtils.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/planner/stage/TableScanNode.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/routing/WorkerInstance.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/routing/WorkerManager.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/rules/PinotExchangeNodeInsertRule.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/rules/PinotQueryRuleSets.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/type/TypeFactory.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/type/TypeSystem.java
 create mode 100644 pinot-query-planner/src/main/java/org/apache/pinot/query/validate/Validator.java
 create mode 100644 pinot-query-planner/src/test/java/org/apache/pinot/query/QueryEnvironmentTest.java
 create mode 100644 pinot-query-planner/src/test/java/org/apache/pinot/query/QueryEnvironmentTestBase.java
 create mode 100644 pinot-query-planner/src/test/java/org/apache/pinot/query/QueryEnvironmentTestUtils.java
 create mode 100644 pinot-query-planner/src/test/java/org/apache/pinot/query/planner/stage/SerDeUtilsTest.java
 create mode 100644 pinot-query-runtime/pom.xml
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/mailbox/GrpcMailboxService.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/mailbox/GrpcReceivingMailbox.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/mailbox/GrpcSendingMailbox.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/mailbox/MailboxIdentifier.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/mailbox/MailboxService.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/mailbox/ReceivingMailbox.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/mailbox/SendingMailbox.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/mailbox/StringMailboxIdentifier.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/mailbox/Utils.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/mailbox/channel/ChannelManager.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/mailbox/channel/GrpcMailboxServer.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/mailbox/channel/MailboxContentStreamObserver.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/mailbox/channel/MailboxStatusStreamObserver.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/QueryRunner.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/blocks/BaseDataBlock.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/blocks/ColumnarDataBlock.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/blocks/DataBlockBuilder.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/blocks/DataBlockUtils.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/blocks/MetadataBlock.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/blocks/RowDataBlock.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/blocks/TransferableBlock.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/executor/WorkerQueryExecutor.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/operator/HashJoinOperator.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/operator/MailboxReceiveOperator.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/operator/MailboxSendOperator.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/plan/DistributedStagePlan.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/plan/serde/QueryPlanSerDeUtils.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/utils/ServerRequestUtils.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/service/QueryConfig.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/service/QueryDispatcher.java
 create mode 100644 pinot-query-runtime/src/main/java/org/apache/pinot/query/service/QueryServer.java
 create mode 100644 pinot-query-runtime/src/test/java/org/apache/pinot/query/QueryServerEnclosure.java
 create mode 100644 pinot-query-runtime/src/test/java/org/apache/pinot/query/mailbox/GrpcMailboxServiceTest.java
 create mode 100644 pinot-query-runtime/src/test/java/org/apache/pinot/query/mailbox/GrpcMailboxServiceTestBase.java
 create mode 100644 pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/QueryRunnerTest.java
 create mode 100644 pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/blocks/DataBlockTest.java
 create mode 100644 pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/blocks/DataBlockTestUtils.java
 create mode 100644 pinot-query-runtime/src/test/java/org/apache/pinot/query/service/QueryDispatcherTest.java
 create mode 100644 pinot-query-runtime/src/test/java/org/apache/pinot/query/service/QueryServerTest.java
 create mode 100644 pinot-segment-local/src/main/java/org/apache/pinot/segment/local/dedup/PartitionDedupMetadataManager.java
 create mode 100644 pinot-segment-local/src/main/java/org/apache/pinot/segment/local/dedup/TableDedupMetadataManager.java
 create mode 100644 pinot-segment-local/src/main/java/org/apache/pinot/segment/local/realtime/impl/dictionary/BigDecimalOffHeapMutableDictionary.java
 create mode 100644 pinot-segment-local/src/main/java/org/apache/pinot/segment/local/realtime/impl/dictionary/BigDecimalOnHeapMutableDictionary.java
 create mode 100644 pinot-segment-local/src/main/java/org/apache/pinot/segment/local/realtime/impl/invertedindex/NativeMutableTextIndex.java
 create mode 100644 pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/creator/impl/stats/BigDecimalColumnPreIndexStatsCollector.java
 create mode 100644 pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/creator/impl/text/NativeTextIndexCreator.java
 create mode 100644 pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/index/readers/BigDecimalDictionary.java
 create mode 100644 pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/index/readers/text/NativeTextIndexReader.java
 create mode 100644 pinot-segment-local/src/main/java/org/apache/pinot/segment/local/utils/RecordInfo.java
 create mode 100644 pinot-segment-local/src/main/java/org/apache/pinot/segment/local/utils/tablestate/TableStateUtils.java
 create mode 100644 pinot-segment-local/src/test/java/org/apache/pinot/segment/local/dedup/PartitionDedupMetadataManagerTest.java
 create mode 100644 pinot-segment-local/src/test/java/org/apache/pinot/segment/local/indexsegment/mutable/MutableSegmentDedupeTest.java
 create mode 100644 pinot-segment-local/src/test/java/org/apache/pinot/segment/local/indexsegment/mutable/MutableSegmentImplIngestionAggregationTest.java
 create mode 100644 pinot-segment-local/src/test/java/org/apache/pinot/segment/local/realtime/impl/invertedindex/NativeAndLuceneMutableTextIndexTest.java
 create mode 100644 pinot-segment-local/src/test/java/org/apache/pinot/segment/local/realtime/impl/invertedindex/NativeMutableTextIndexConcurrentTest.java
 create mode 100644 pinot-segment-local/src/test/java/org/apache/pinot/segment/local/realtime/impl/invertedindex/NativeMutableTextIndexReaderWriterTest.java
 create mode 100644 pinot-segment-local/src/test/java/org/apache/pinot/segment/local/segment/creator/DictionaryOptimiserTest.java
 create mode 100644 pinot-segment-local/src/test/java/org/apache/pinot/segment/local/segment/index/creator/NativeTextIndexCreatorTest.java
 create mode 100644 pinot-segment-local/src/test/resources/data/mixed_cardinality_data.avro
 create mode 100644 pinot-segment-local/src/test/resources/data/test_dedup_data.json
 copy pinot-segment-local/src/test/resources/data/{test_upsert_schema.json => test_dedup_schema.json} (100%)
 create mode 100644 pinot-segment-spi/src/test/java/org/apache/pinot/segment/spi/creator/name/FixedSegmentNameGeneratorTest.java
 create mode 100644 pinot-server/src/main/java/org/apache/pinot/server/worker/WorkerQueryServer.java
 delete mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/auth/AuthContext.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/auth/AuthProvider.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/config/table/ColumnStats.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/config/table/DedupConfig.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/config/table/HashFunction.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/config/table/SegmentZKPropsConfig.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/config/table/ingestion/AggregationConfig.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/config/task/AdhocTaskConfig.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/config/user/AccessType.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/config/user/ComponentType.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/config/user/RoleType.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/config/user/UserConfig.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/metrics/JmxReporterMetricsRegistryRegistrationListener.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/metrics/MetricsRegistryRegistrationListener.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/metrics/PinotMetricUtils.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/trace/DefaultRequestContext.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/trace/RequestContext.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/trace/RequestScope.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/utils/InstanceTypeUtils.java
 delete mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/utils/Pair.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/utils/RebalanceConfigConstants.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/utils/StringUtil.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/utils/builder/ControllerRequestURLBuilder.java
 create mode 100644 pinot-spi/src/main/java/org/apache/pinot/spi/utils/builder/UserConfigBuilder.java
 create mode 100644 pinot-spi/src/test/java/org/apache/pinot/spi/config/task/AdhocTaskConfigTest.java
 create mode 100644 pinot-spi/src/test/java/org/apache/pinot/spi/data/DateTimeFormatPatternSpecTest.java
 create mode 100644 pinot-spi/src/test/java/org/apache/pinot/spi/data/DateTimeFormatSpecTest.java
 create mode 100644 pinot-spi/src/test/java/org/apache/pinot/spi/stream/StreamDataProducerTest.java
 create mode 100644 pinot-spi/src/test/java/org/apache/pinot/spi/utils/JsonUtilsTestSamplePojo.java
 delete 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/admin/command/DataImportDryRunCommand.java
 create mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/FileSystemCommand.java
 create mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/filesystem/BaseFileOperation.java
 create mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/filesystem/CopyFiles.java
 create mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/filesystem/DeleteFiles.java
 create mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/filesystem/ListFiles.java
 create mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/filesystem/MoveFiles.java
 create mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/filesystem/Utils.java
 create mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/streams/AvroFileSourceGenerator.java
 delete mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/streams/MeetupRsvpJsonStream.java
 create mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/streams/PinotRealtimeSource.java
 create mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/streams/PinotSourceDataGenerator.java
 create mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/streams/PinotStreamRateLimiter.java
 create mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/streams/RsvpSourceGenerator.java
 create mode 100644 pinot-tools/src/main/java/org/apache/pinot/tools/streams/githubevents/GithubPullRequestSourceGenerator.java
 delete mode 100644 pinot-tools/src/main/resources/conf/sample_query_comparison.conf
 create mode 100644 pinot-tools/src/test/java/org/apache/pinot/tools/streams/PinotRealtimeSourceTest.java


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