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

xiangfu pushed a change to branch 
Add-queue-based-throttling-to-ThrottleOnCriticalHeapUsageExecutor
in repository https://gitbox.apache.org/repos/asf/pinot.git


    omit e46f38eb454 Add queue-based throttling to 
ThrottleOnCriticalHeapUsageExecutor
     add 2188ca2b81d Fix CAST evaluation with literal-only operands in MSQE 
(#16421)
     add f7b9a259844 [Query Resource Isolation] Additonal Sampling for Broker 
and Server (#16164)
     add ee474defe9b Bump org.apache.commons:commons-text from 1.13.1 to 1.14.0 
(#16427)
     add 313965a628b Bump com.google.errorprone:error_prone_annotations from 
2.40.0 to 2.41.0 (#16428)
     add 7fa52b8b4e1 Bump software.amazon.awssdk:bom from 2.32.7 to 2.32.8 
(#16429)
     add a2557515d92 Use Broker's accountant to sample in the request handler. 
(#16439)
     add 0bd90a1d448 Enhance and unify JSON index reader (#16436)
     add b1a98eeac83 Add auth for revert replace segment (#16434)
     add 3121f8fc56f Add state and table filtering support to task counts API 
(#16433)
     add 7ffd1e0cf25 Move logical tables related classes from 
pinot-query-planner to pinot-core (#16443)
     add 9e22441a20f Fixed loading the zookeeper browser page is failing 
(#16440)
     add 5232e28388d Add logs for segment status checker to be able to debug 
which segment is failing check (#16437)
     add b8c8efbf60d Bump software.amazon.awssdk:bom from 2.32.8 to 2.32.10 
(#16446)
     add 737029b6541 Bump io.grpc:grpc-bom from 1.73.0 to 1.74.0 (#16447)
     add b33a7863e4b Bump org.webjars:swagger-ui from 5.26.2 to 5.27.0 (#16448)
     add 86808548af8 Bump net.openhft:chronicle-bom from 2.27ea62 to 2.27ea64 
(#16449)
     add f9052de934c Enables auto reset of error segments by default (#15736)
     add 45389974f6f [timeseries] Adding timeseries language endpoint and UI 
integration (#16424)
     add 36ea7c0e26e Bump org.apache.commons:commons-compress from 1.27.1 to 
1.28.0 (#16465)
     add 8449763f9d1 Bump com.squareup.okio:okio-bom from 3.15.0 to 3.16.0 
(#16466)
     add 16eadb760f7 Bump net.openhft:chronicle-bom from 2.27ea64 to 2.27ea65 
(#16467)
     add 2314fe6e137 Bump software.amazon.awssdk:bom from 2.32.10 to 2.32.11 
(#16464)
     add 7cfef89d6f7 Incorporate parallelWhitelist and parallelBlacklist to the 
new Tenant Rebalance API (#16422)
     add f0e5eedadcf Reduce log volume added from #16437 (#16459)
     add e2f8077ae5f Fix var-length dictionary validation on BIG_DECIMAL 
(#16469)
     add 510275d39ae [Query Resource Isolation] Workload Scheduler (#16018)
     add b6f0319a984 Make VARIANT/UUID non reserved keyword (#16471)
     add 9c10407e445 Replace all usages of commons-collections with 
commons-collections4 (#16468)
     add 46ddb9a7d9d Minor cleanups in logical tables routing related code 
(#16460)
     add 4ace88c13fc mse: change SendStatsPredicate.Safe to only send when the 
cluster is homogeneous. (#16474)
     add 132f90a0b40 Bump software.amazon.awssdk:bom from 2.32.11 to 2.32.12 
(#16472)
     add d1926a6eda6 Bump org.apache.commons:commons-csv from 1.14.0 to 1.14.1 
(#16473)
     add 62c75763944 Fix unnesting of non-Map value collections. (#16387)
     add 1d534b41e3a Adding Match prefix phrase query lucene parser  (#16476)
     add 2cf81becffb Enhance REGEXP_LIKE to scan dictionary when dictionary is 
small (#16478)
     add 221441f8165 Fix field shadowing in SparkSegmentTarPushJobRunner 
(#16482)
     add 1a4a5309c5d Cleanup deprecated methods in 
ThreadResourceUsageAccountant (#16479)
     add e59aa47c352 Fix linter violation in SparkSegmentTarPushJobRunner and 
also apply fix for spark2 (#16488)
     add 4cd3296060b [timeseries][bugfix] Fixed timeseries API clashes in 
Controller (#16487)
     add 43ec5042143 Bump software.amazon.awssdk:bom from 2.32.12 to 2.32.13 
(#16483)
     add b6f0067e1c0 Bump org.apache.pulsar:pulsar-bom from 4.0.5 to 4.0.6 
(#16484)
     add 9e4bb2a80f8 Add TableNameExtractor class to improve SQL table name 
extraction (#16480)
     add a09d01faae9 Remove unnecessary methods and config for 
ThreadResourceUsageAccountant (#16490)
     add 0b0b35c8be3 Provide the correct comparison time for evaluating whether 
a segment should be considered in the SegmentStatusChecker (#16496)
     add c867974e902 Bump com.azure:azure-sdk-bom from 1.2.36 to 1.2.37 (#16501)
     add 7750e0397bc Bump software.amazon.awssdk:bom from 2.32.13 to 2.32.14 
(#16499)
     add 12a3d2938c0 Bump commons-cli:commons-cli from 1.9.0 to 1.10.0 (#16502)
     add 5ceec5d6b13 Bump net.minidev:json-smart from 2.5.2 to 2.6.0 (#16500)
     add 923e61d6fe7 Bump commons-net:commons-net from 3.11.1 to 3.12.0 (#16503)
     add 4abe567109d Bump com.google.cloud:libraries-bom from 26.64.0 to 
26.65.0 (#16504)
     add 4f46771711d Fixing typo CONFIG_OF_ZOOKEEPER_SERVER in the codebase 
(#16505)
     add e061d047b4e Support time zone in controller ui and add start/end time 
of segment in the summary page (#16489)
     add 1a5e0e5d3ab Fail task cleanup validation only upon active subtasks 
(#16493)
     add 123dbfe2b02 [refactor] Switching to RoutingManager for broker request 
handlers (#16442)
     add 1d03cd89e54 [timeseries] Enable table name driven broker selection for 
time series queries in Pinot Controller (#16509)
     add e961bdfc550 Bump software.amazon.awssdk:bom from 2.32.14 to 2.32.15 
(#16512)
     add c9cf6d094ba Bump immutables.version from 2.11.1 to 2.11.2 (#16513)
     add 575032cfd19 [Bug fix] Update logic that determines if a table is 
associated with a tenant (#16477)
     add 850b6ac2821 Add prune option for lineage operations (#16310)
     add 64a07ec3ee9 [Planner] Add ProjectRemove rule into PRUNE_RULES  (#16518)
     add 407d6f24ab7 Clear threadLocal maps after use for 
DictionaryBasedGroupKeyGenerator (#16454)
     add 77d6de9d42c Fix string parsing for value aggregator (#16519)
     add e50947a53f9 Add tests for OOM Termination of MSE queries. (#16514)
     add ad4a39f6ede Bump com.nimbusds:nimbus-jose-jwt from 10.4 to 10.4.1 
(#16522)
     add c4ea4ea7a3c Bump software.amazon.awssdk:bom from 2.32.15 to 2.32.16 
(#16523)
     add 021368c5374 Fix typo in semi-join distinct project optimization rule 
(#16520)
     add d5206cb7c40 Remove 
ResourceManagerAccountingTest.testWorkerThreadInterruption() (#16525)
     add 4b83b8bb26d Fix SSE subquery handling and clarify query start 
semantics (#16524)
     add 78dabced284 feat: Enhance Controller UI with comprehensive minion task 
stats and status filtering (#16521)
     add 4323a728872 Enhance StringFunctions.replace() (#16528)
     add 4ff0448bb74 fixing the bug in passive timeout handling (#16530)
     add 109d3917a89 Fix a flaky assert when testing OOM Cancellation of MSE 
Queries (#16533)
     add b12d7f2f351 Allow and Initialise Server Rate Limiter before server 
starts consuming (#16407)
     add 9f74fc7d148 Disable Calcite's AggregateUnionAggregate planner rule by 
default (#16515)
     add 24c23465bb8 Table rebalance changes for handling peer-download enabled 
tables (#16341)
     add 94adc1a6d5f Bump net.openhft:chronicle-bom from 2.27ea65 to 2.27ea66 
(#16546)
     add befd8dfc777 Bump org.jline:jline from 3.30.4 to 3.30.5 (#16548)
     add d5102647172 Bump org.webjars:swagger-ui from 5.27.0 to 5.27.1 (#16549)
     add 8d061eea14f rebalance ui flow fixes (#16545)
     add 584119fce06 Bump tmp, @typescript-eslint/eslint-plugin, 
@typescript-eslint/parser, eslint, eslint-config-airbnb, 
eslint-config-airbnb-typescript, eslint-config-react-app, prettier-eslint and 
prettier-eslint-cli (#16527)
     add 34bc3a65cb1 Persist QueryableDocIds on Disk for Upsert Tables (#16517)
     add ebd258c2446 Add Package Versions section to cluster manager UI (#16534)
     add 7bad810374f Pauseless supports size based thresholds. Remove the todo 
for the same (#16555)
     add d8704ed81b9 Add controller REST API to compile / validate MSE query 
(#16536)
     add 7d9d4f3110a Bump net.openhft:chronicle-bom from 2.27ea66 to 2.27ea68 
(#16557)
     add 3117df7b1c4 Bump org.assertj:assertj-bom from 3.27.3 to 3.27.4 (#16558)
     add ff217a1a1bb Bump software.amazon.awssdk:bom from 2.32.16 to 2.32.18 
(#16559)
     add 5b70d6fc3bc Parse booleans for optimizeMaxInitialResultHolder once 
(#16561)
     add 642bf00501e Enhance ValueAggregator (#16552)
     add 662be934a56 [Enhancement] Support refresh AWS credentials (#16553)
     add fd7a5ab2242 Making LIKE predicate case in-sensitive. (#16568)
     add a1e39b59b65 Fixing grpc maxInboundMessageSize usage in the GRPC 
ChannelManager (#16567)
     add 29f91c6234d Add string type support to MIN/MAX aggregation functions 
(#16497)
     add aa1cd28d52b Bump net.openhft:chronicle-bom from 2.27ea68 to 2.27ea70 
(#16574)
     add 6fb347e6d3d Bump software.amazon.awssdk:bom from 2.32.18 to 2.32.19 
(#16573)
     add 3c6d5b11b7c [multistage] Push Collation from Exchange to Lite Mode 
Sort (#16551)
     add 08b76f1aa50 Udf improvements (#16431)
     add e05678a9659 Bump net.openhft:chronicle-bom from 2.27ea70 to 2.27ea71 
(#16579)
     add 2e9fc652686 Bump software.amazon.awssdk:bom from 2.32.19 to 2.32.20 
(#16578)
     add 7f55d4f1f63 [timeseries] Introducing POST /query/timeseries as a 
BrokerResponse compatible timeseries API (#16531)
     add b837df10291 [timeseries][ui] Add configurable max series limit for 
timeseries chart visualization (#16580)
     add 7f1c9fde6af Add cluster level configuration for max num subtasks 
(#16571)
     add cb718b88875 Bypass storage quota check for segment refresh with 
smaller size even if the table is over quota (#16535)
     add 136139d533a Bump immutables.version from 2.11.2 to 2.11.3 (#16586)
     add b06721a2242 Bump net.openhft:chronicle-bom from 2.27ea71 to 2.27ea72 
(#16587)
     add dec9d042e24 Bump software.amazon.awssdk:bom from 2.32.20 to 2.32.21 
(#16588)
     add 1dc13206c52 Enhance LeafOperator (#16582)
     add 6b438091b4d Extract trimSize calculation logic to QueryContext (#16526)
     add 5bc318eacff Misc bugfix/cleanup for thread accountant (#16532)
     add 0163ddf715e broker: register LifecycleServiceStatusCallback before 
Helix matchers to fail fast when broker is marked down; avoid blocking on heavy 
IdealState/ExternalView convergence (#16590)
     add 436beaae47c Controller UI: Fix subtask filter crash; add Minion Task 
page status filters (#16591)
     add 2a2048a0ee3 check pauseless comsumption when multi-topic ingest 
(#16507)
     add 625330e6fd7 Add distinct UNION set operator (#16570)
     add 058f7aae2f9 Pass QueryContext to ProjectionOperator (#16589)
     add a9bf0cc886f Fix logger for pauseless (#16593)
     add 1cc901f49b0 [MSE] Enriched join operator (#16123)
     add 224174c917a Bump eclipse.jetty.version from 9.4.57.v20241219 to 
9.4.58.v20250814 (#16596)
     add 2c422335139 Bump com.nimbusds:nimbus-jose-jwt from 10.4.1 to 10.4.2 
(#16598)
     add 671022e2498 Bump software.amazon.awssdk:bom from 2.32.21 to 2.32.22 
(#16599)
     add 2119b7dcc8d Bump org.jetbrains.kotlin:kotlin-bom from 2.2.0 to 2.2.10 
(#16600)
     add d9e731782af broker: per-table routing build lock and request 
gating\n\n- Add per-table locks for buildRouting to allow concurrent builds 
across tables\n- Track per-table routing build start time; ignore requests 
older than build start (gate removed per latest change)\n- Skip redundant 
builds if an earlier concurrent build was already started\n- Clean up 
locks/timestamps on removeRouting\n- Add unit test BuildRoutingDelayTest for 
delay/skip logic (#16585)
     add 3d44c91e3c0 Refactor SetOperator and child classes for cleaner 
abstraction (#16602)
     add 6f2b8f99a7c Bump com.google.j2objc:j2objc-annotations from 3.0.0 to 
3.1 (#16612)
     add 88190cc740c Enforce UTF8 when decoding byte[] to string in ValueReader 
(#16608)
     add eec756e989d [Auto reset 1/3]Auto reset offset during ingestion lag 
(#16492)
     add 7965e042eb8 Refactor set operator tests to use 
BlockListMultiStageOperator instead of mocks (#16601)
     add 014cdd6728d change consuming segment offset and age from int to long 
(#16614)
     add 3512df7f994 Bump software.amazon.awssdk:bom from 2.32.22 to 2.32.23 
(#16611)
     add 1eb2e78e43c Handle timestamp string to long casts in scalar cast 
function (#16606)
     add f7f054f3506 [Plannner] Support tracing of planner rule productions 
(#16581)
     add 3349df12a82 [SSE] Trim group when orderBy key is same as groupBy key, 
sort-aggregate and pair-wise merge (#16308)
     add e78c8369044 Change BasePeriodicTask to use a lock object for start / 
stop rather than synchronizing the methods (#16613)
     add 555e5769ed0 Add distinctCountSmartULL aggregation (set→ULL smart 
promotion) (#16605)
     add 44dd108be8b Add a rebalance option to disable the summary (#16615)
     add 285a18b8442 broker/server: add ignoreMissingSegments query option with 
broker config; skip SERVER_SEGMENT_MISSING errors when enabled; add SSE/MSE 
wiring and unit tests (#16556)
     add 962f45cd79e Controller UI: add TASK_ERROR to subtask status filter 
(#16609)
     add 72bf3bf26fa Remove TaskType from ThreadExecutionContext (#16633)
     add 2c901d75612 Revert "broker: per-table routing build lock and request 
gating (#16585)" (#16639)
     add cf1e3dec758 Revert "Remove TaskType from ThreadExecutionContext 
(#16633)" (#16640)
     add 269c9c91b05 Bump software.amazon.awssdk:bom from 2.32.23 to 2.32.25 
(#16637)
     add 09f8876e1ff Bump com.google.cloud:libraries-bom from 26.65.0 to 
26.66.0 (#16638)
     add 46a1f0ed6a1 Keep value of necessary columns only in 
ComplexTypeTranformer (#16624)
     add 5b151f77356 [multistage] Fix Bug in Physical Optimizer for SetOp 
Heterogenous Dists (#16627)
     add 982c1d5cea5 Bump com.dynatrace.hash4j:hash4j from 0.25.0 to 0.26.0 
(#16645)
     add ff736212dd8 Bump software.amazon.awssdk:bom from 2.32.25 to 2.32.26 
(#16644)
     add 325054d28d4 Reduce log for PerQueryCPUMemResourceUsageAccountant 
(#16642)
     add b24f2a6e2b5 Add initial configs, classes and stubs for audit logging 
support. Disabled by default (#16616)
     add 57996423a54 Improve OOM log about entering CPU/normal mode (#16647)
     add 71a4ede0b51 [release-1.4.0] Updating LICENSE-binary file (#16648)
     add 24aef1df4e4 Fix query cancellation on op-chain not scheduled (#16625)
     add c6fea33d07a Propose MSE Grpc Channel Authorization (#16475)
     add 07886438450 Add copilot-instructions.md (#16652)
     add e614995e2c5 Bump io.grpc:grpc-bom from 1.74.0 to 1.75.0 (#16655)
     add 6a6365a3023 Bump net.openhft:chronicle-bom from 2.27ea72 to 2.27ea73 
(#16654)
     add 9977d78cb5d Bump software.amazon.awssdk:bom from 2.32.26 to 2.32.27 
(#16653)
     add 76f2b7f32f8 [audit] Add audit logging configuration support with 
cluster config listener (#16649)
     add 0cd787f9f15 Gracefully handle bad segment time data during ingestion 
if continueOnError is true (#16462)
     add b00dbfec1b8 [bugfix] Fixing the TableType val passed for unavailable 
segments in physical optimizer (#16660)
     add 283b5f720e2 Fix broker request id generator to avoid generating same 
id (#16661)
     add fecac1b8757 Bump software.amazon.awssdk:bom from 2.32.27 to 2.32.28 
(#16667)
     add 7135c9fc509 Bump net.openhft:chronicle-bom from 2.27ea73 to 2.27ea74 
(#16668)
     add 633c90d43be Fix LeafOperator thread accountant (#16651)
     add d3c322dcc56 roundDecimal() fails for null FLOAT values (#15377)
     add c49eac24933 Bump com.uber:h3 from 4.1.1 to 4.3.0 (#16669)
     add 8eb40796057 Move time-series constants into CommonConstants (#16673)
     add 868e2c9e7ce Add broker metrics to count segments that are not zone 
failure tolerant (#16334)
     add 98ea698debd Fix upgrade compatibility issue with type casts in SSE 
(#16682)
     add 85fbe1653ab Improve segment build auto retry logics (#16663)
     add 274fe480617 Revert "Bump com.uber:h3 from 4.1.1 to 4.3.0 (#16669)" 
(#16680)
     add 2ee3ce931cc Bump software.amazon.awssdk:bom from 2.32.28 to 2.32.29 
(#16685)
     add 777936a28e5 Bump io.dropwizard.metrics:metrics-bom from 4.2.33 to 
4.2.34 (#16686)
     add fae135e33f5 Be sure block serialization can be interrupted (#16595)
     add ab09ff318c6 Enhance validation for multi-value columns in aggregate 
grouping (#16577)
     add 4b15e83f26b Disable Flaky Tests (#16554)
     add 54ee6360ca2 Disable idle mailboxes by default (#16691)
     add f2153a1382b Handle null values in JsonExtractScalarTransformFunction 
with default value support (#16683)
     add d5ce73b0c6c Fix a basic null handling issue in MSE (#16658)
     add d6f3ec3758f [refactor] Refactor TableCache to interface with 
ZkTableCache implementation (#16646)
     add 1f92dd6d3c3 Implement comprehensive queue-based throttling for 
ThrottleOnCriticalHeapUsageExecutor

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   (e46f38eb454)
            \
             N -- N -- N   
refs/heads/Add-queue-based-throttling-to-ThrottleOnCriticalHeapUsageExecutor 
(1f92dd6d3c3)

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/copilot-instructions.md                    |    22 +
 LICENSE-binary                                     |   631 +-
 licenses-binary/LICENSE-isc.txt                    |     8 +
 licenses-binary/LICENSE-lgpl-2.1.txt               |   169 +
 ...ENSE-reactive-streams.txt => LICENSE-mit-0.txt} |     2 +-
 .../broker/api/resources/PinotBrokerDebug.java     |    12 +-
 .../broker/api/resources/PinotClientRequest.java   |    36 +-
 .../broker/broker/helix/BaseBrokerStarter.java     |    38 +-
 .../broker/broker/helix/HelixBrokerStarter.java    |     4 +-
 .../requesthandler/BaseBrokerRequestHandler.java   |    15 +-
 .../BaseSingleStageBrokerRequestHandler.java       |    54 +-
 .../requesthandler/BrokerRequestHandler.java       |     3 +-
 .../BrokerRequestHandlerDelegate.java              |     7 +-
 .../requesthandler/BrokerRequestIdGenerator.java   |    28 +-
 .../requesthandler/GrpcBrokerRequestHandler.java   |    22 +-
 .../MultiStageBrokerRequestHandler.java            |    56 +-
 .../SingleConnectionBrokerRequestHandler.java      |    15 +-
 .../requesthandler/TimeSeriesRequestHandler.java   |    86 +-
 .../pinot/broker/routing/BrokerRoutingManager.java |    24 +-
 .../instanceselector/BalancedInstanceSelector.java |     5 +-
 .../instanceselector/BaseInstanceSelector.java     |    22 +-
 ...eCandidate.java => InstanceSelectorConfig.java} |    49 +-
 .../instanceselector/InstanceSelectorFactory.java  |    20 +-
 .../MultiStageReplicaGroupSelector.java            |     5 +-
 .../ReplicaGroupInstanceSelector.java              |     5 +-
 .../StrictReplicaGroupInstanceSelector.java        |     5 +-
 .../routing/timeboundary/TimeBoundaryManager.java  |     2 +-
 .../broker/HelixBrokerStarterHostnamePortTest.java |    10 +-
 .../broker/broker/HelixBrokerStarterTest.java      |     4 +-
 .../BaseSingleStageBrokerRequestHandlerTest.java   |     8 +-
 .../LiteralOnlyBrokerRequestTest.java              |    15 +-
 .../instanceselector/InstanceSelectorTest.java     |    35 +-
 .../MultiStageReplicaGroupSelectorTest.java        |     2 +-
 .../timeboundary/TimeBoundaryManagerTest.java      |     2 +-
 .../java/org/apache/pinot/client/Connection.java   |    23 +-
 .../apache/pinot/client/TableNameExtractor.java    |   292 +
 .../pinot/client/TableNameExtractorTest.java       |   796 +
 pinot-common/pom.xml                               |     5 +
 pinot-common/src/main/codegen/config.fmpp          |    21 +-
 .../org/apache/pinot/common/audit/AuditConfig.java |    93 +
 .../pinot/common/audit/AuditConfigManager.java     |   165 +
 .../org/apache/pinot/common/audit/AuditEvent.java  |   172 +
 .../apache/pinot/common/audit/AuditLogFilter.java  |    40 +-
 .../org/apache/pinot/common/audit/AuditLogger.java |    64 +
 .../pinot/common/audit/AuditRequestProcessor.java  |   181 +
 .../org/apache/pinot/common/config/GrpcConfig.java |    13 +-
 .../pinot/common/config/provider/TableCache.java   |   616 +-
 .../{TableCache.java => ZkTableCache.java}         |    30 +-
 .../org/apache/pinot/common/datatable/StatMap.java |     1 +
 .../apache/pinot/common/function/FunctionInfo.java |     8 +
 .../scalar/DataTypeConversionFunctions.java        |    80 +-
 .../common/function/scalar/InternalFunctions.java  |     4 +-
 .../scalar/array/ArrayLengthScalarFunction.java    |     6 +
 .../scalar/regexp/RegexpLikeConstFunctions.java    |     2 +-
 .../scalar/regexp/RegexpLikeVarFunctions.java      |     2 +-
 .../function/scalar/string/StringFunctions.java    |    30 +-
 .../apache/pinot/common/metrics/BrokerMeter.java   |     6 +
 .../apache/pinot/common/metrics/ServerGauge.java   |     2 +
 .../apache/pinot/common/metrics/ServerMeter.java   |     5 +-
 .../request/context/RequestContextUtils.java       |     4 +-
 .../response/PinotBrokerTimeSeriesResponse.java    |    61 +
 .../restlet/resources/SystemResourceInfo.java      |     7 +-
 .../common/utils/FileUploadDownloadClient.java     |    30 +-
 .../apache/pinot/common/utils/PinotAppConfigs.java |    13 +-
 .../common/utils/config/QueryOptionsUtils.java     |    25 +-
 .../parsers/rewriter/CastTypeAliasRewriter.java    |    86 +
 .../sql/parsers/rewriter/QueryRewriterFactory.java |     3 +-
 pinot-common/src/main/proto/plan.proto             |    30 +
 .../pinot/common/audit/AuditConfigManagerTest.java |   147 +
 .../common/audit/AuditRequestProcessorTest.java    |   243 +
 .../function/AggregationFunctionTypeTest.java      |     2 +
 .../common/utils/config/QueryOptionsUtilsTest.java |    13 +
 .../pinot/sql/parsers/CalciteSqlCompilerTest.java  |     4 +-
 .../pinot/sql/parsers/CalciteSqlParserTest.java    |    56 +-
 .../parsers/rewriter/QueryRewriterFactoryTest.java |     6 +-
 .../common/reader/PinotServerDataFetcher.scala     |    10 +-
 pinot-controller/pom.xml                           |     4 +
 .../pinot/controller/BaseControllerStarter.java    |    15 +
 .../apache/pinot/controller/ControllerConf.java    |    26 +-
 .../api/ControllerAdminApiApplication.java         |     2 +
 .../PinotControllerTimeseriesResource.java         |    58 +
 .../api/resources/PinotQueryResource.java          |    84 +-
 .../PinotSegmentUploadDownloadRestletResource.java |     8 +-
 .../api/resources/PinotTableInstances.java         |     2 +-
 .../api/resources/PinotTableRestletResource.java   |    14 +-
 .../api/resources/PinotTaskRestletResource.java    |    38 +-
 .../api/resources/PinotTenantRestletResource.java  |    36 +-
 .../api/upload/SegmentValidationUtils.java         |     6 +-
 .../controller/helix/SegmentStatusChecker.java     |    34 +-
 .../helix/core/PinotHelixResourceManager.java      |     3 +-
 .../assignment/segment/SegmentAssignmentUtils.java |     2 +-
 .../core/minion/PinotHelixTaskResourceManager.java |   117 +-
 .../helix/core/minion/PinotTaskManager.java        |    60 +-
 .../helix/core/minion/TaskSchedulingContext.java   |     6 +
 .../core/minion/generator/BaseTaskGenerator.java   |    80 +
 .../core/minion/generator/PinotTaskGenerator.java  |    14 +
 .../realtime/BlockingSegmentCompletionFSM.java     |     5 +-
 .../realtime/PauselessSegmentCompletionFSM.java    |     4 +-
 .../realtime/PinotLLCRealtimeSegmentManager.java   |    91 +-
 .../core/rebalance/DefaultRebalancePreChecker.java |    60 +-
 .../helix/core/rebalance/RebalanceConfig.java      |    67 +-
 .../core/rebalance/RebalanceSummaryResult.java     |    18 +-
 .../helix/core/rebalance/TableRebalancer.java      |   304 +-
 .../rebalance/tenant/DefaultTenantRebalancer.java  |   242 +-
 .../rebalance/tenant/TenantRebalanceResult.java    |    16 +-
 .../core/rebalance/tenant/TenantRebalancer.java    |    34 +-
 .../helix/core/retention/RetentionManager.java     |     5 +-
 .../pinot/controller/util/BrokerServiceHelper.java |     2 +-
 .../controller/util/ServerQueryInfoFetcher.java    |    17 +-
 .../controller/validation/StorageQuotaChecker.java |    31 +-
 pinot-controller/src/main/resources/.eslintrc      |     8 +-
 pinot-controller/src/main/resources/app/App.tsx    |    55 +-
 .../src/main/resources/app/app_state.ts            |     5 +-
 .../app/components/ConsumingSegmentsTable.tsx      |     2 +-
 .../main/resources/app/components/CustomButton.tsx |     2 +-
 .../main/resources/app/components/CustomDialog.tsx |     2 +-
 .../resources/app/components/CustomMultiSelect.tsx |     2 +-
 .../app/components/CustomNotification.tsx          |     4 +-
 .../src/main/resources/app/components/Header.tsx   |    34 +-
 .../app/components/Homepage/ClusterConfig.tsx      |     2 +-
 .../app/components/Homepage/InstanceTable.tsx      |     2 +-
 .../Homepage/Operations/AddDeleteComponent.tsx     |     2 +-
 .../Homepage/Operations/AddIndexingComponent.tsx   |     2 +-
 .../Homepage/Operations/AddIngestionComponent.tsx  |     2 +-
 .../Homepage/Operations/AddOfflineTableOp.tsx      |     2 +-
 .../Operations/AddOfflineTenantComponent.tsx       |     2 +-
 .../Homepage/Operations/AddPartionComponent.tsx    |     2 +-
 .../Homepage/Operations/AddQueryComponent.tsx      |     2 +-
 .../Operations/AddRealTimeIngestionComponent.tsx   |     2 +-
 .../Operations/AddRealTimePartionComponent.tsx     |     2 +-
 .../Homepage/Operations/AddRealtimeTableOp.tsx     |     2 +-
 .../components/Homepage/Operations/AddSchemaOp.tsx |    16 +-
 .../Homepage/Operations/AddStorageComponent.tsx    |     2 +-
 .../Homepage/Operations/AddTableComponent.tsx      |     4 +-
 .../Homepage/Operations/AddTenantComponent.tsx     |     2 +-
 .../Homepage/Operations/EditConfigOp.tsx           |     2 +-
 .../components/Homepage/Operations/EditTagsOp.tsx  |     2 +-
 .../Homepage/Operations/MultiIndexingComponent.tsx |     2 +-
 .../Homepage/Operations/MultiMetricComponent.tsx   |     2 +-
 .../Operations/MultipleSelectComponent.tsx         |     2 +-
 .../RebalanceServer/RebalanceResponse.tsx          |    26 +-
 .../RebalanceServerConfigurationOption.tsx         |     2 +-
 .../RebalanceServerConfigurationOptionDouble.tsx   |     2 +-
 .../RebalanceServerConfigurationOptionInteger.tsx  |     2 +-
 .../RebalanceServerConfigurationOptionLabel.tsx    |     2 +-
 .../RebalanceServerConfigurationOptionSelect.tsx   |     2 +-
 ...alanceServerConfigurationOptionToggleSwitch.tsx |     2 +-
 .../RebalanceServerDialogHeader.tsx                |     2 +-
 .../RebalanceServer/RebalanceServerOptions.ts      |     2 +-
 .../RebalanceServerPreChecksResponse.tsx           |     2 +-
 .../RebalanceServerRebalanceSummaryResponse.tsx    |     2 +-
 .../RebalanceServerResponseCard.tsx                |     2 +-
 .../RebalanceServerSectionResponse.tsx             |     2 +-
 .../RebalanceServer/RebalanceServerSection.tsx     |     2 +-
 .../Operations/RebalanceServerStatusOp.tsx         |    62 +-
 .../Homepage/Operations/RebalanceServerTableOp.tsx |   171 +-
 .../Operations/RebalanceServerTenantOp.tsx         |     4 +-
 .../Homepage/Operations/ReloadStatusOp.tsx         |    17 +-
 .../Homepage/Operations/SchemaComponent.tsx        |     2 +-
 .../Homepage/Operations/SchemaNameComponent.tsx    |     2 +-
 .../{ClusterConfig.tsx => PackageVersions.tsx}     |    24 +-
 .../app/components/Homepage/useTaskTypesTable.tsx  |     2 +-
 .../src/main/resources/app/components/Layout.tsx   |     3 +-
 .../Notification/NotificationContext.tsx           |     2 +-
 .../Notification/NotificationContextProvider.tsx   |     4 +-
 .../app/components/Query/MetricStatsTable.tsx      |     1 -
 .../app/components/Query/TimeseriesChart.tsx       |    18 +-
 .../app/components/Query/TimeseriesQueryPage.tsx   |   121 +-
 .../components/Query/VisualizeQueryStageStats.tsx  |     2 +-
 .../main/resources/app/components/SearchBar.tsx    |     2 +-
 .../resources/app/components/SimpleAccordion.tsx   |     2 +-
 .../main/resources/app/components/StatusFilter.tsx |     2 +-
 .../src/main/resources/app/components/TabPanel.tsx |     2 +-
 .../src/main/resources/app/components/Table.tsx    |     2 +-
 .../main/resources/app/components/TableToolbar.tsx |     2 +-
 .../resources/app/components/TaskStatusFilter.tsx  |   248 +
 .../resources/app/components/TimezoneSelector.tsx  |   169 +
 .../main/resources/app/components/User/AddUser.tsx |     2 +-
 .../resources/app/components/User/UpdateUser.tsx   |     2 +-
 .../app/components/Zookeeper/TreeDirectory.tsx     |     2 +-
 .../resources/app/components/auth/AuthProvider.tsx |     4 +-
 .../resources/app/components/useMinionMetaData.tsx |     2 +-
 .../app/components/useScheduleAdhocModal.tsx       |     2 +-
 .../resources/app/components/useTaskListing.tsx    |    59 +-
 .../resources/app/contexts/TimezoneContext.tsx     |    66 +
 pinot-controller/src/main/resources/app/index.tsx  |     2 +-
 .../src/main/resources/app/interfaces/types.d.ts   |     4 +
 .../src/main/resources/app/pages/HomePage.tsx      |    10 +-
 .../resources/app/pages/InstanceListingPage.tsx    |    12 +-
 .../src/main/resources/app/pages/LoginPage.tsx     |     2 +-
 .../main/resources/app/pages/MinionTaskManager.tsx |     2 +-
 .../src/main/resources/app/pages/Query.tsx         |    16 +-
 .../main/resources/app/pages/SegmentDetails.tsx    |   115 +-
 .../src/main/resources/app/pages/SubTaskDetail.tsx |    33 +-
 .../src/main/resources/app/pages/TaskDetail.tsx    |    83 +-
 .../src/main/resources/app/pages/TaskQueue.tsx     |     2 +-
 .../main/resources/app/pages/TaskQueueTable.tsx    |    13 +-
 .../src/main/resources/app/pages/TenantDetails.tsx |     2 +-
 .../src/main/resources/app/pages/ZookeeperPage.tsx |     2 +-
 .../src/main/resources/app/requests/index.ts       |    17 +-
 pinot-controller/src/main/resources/app/router.tsx |     2 +-
 .../src/main/resources/app/utils/ChartConstants.ts |     4 +-
 .../main/resources/app/utils/PinotMethodUtils.ts   |    89 +-
 .../src/main/resources/app/utils/TimezoneUtils.ts  |   610 +
 .../src/main/resources/app/utils/Utils.tsx         |     5 +-
 .../src/main/resources/package-lock.json           | 27465 ++++++++++++-------
 pinot-controller/src/main/resources/package.json   |    17 +-
 .../resources/PinotTaskRestletResourceTest.java    |     1 -
 .../pinot/controller/helix/TableCacheTest.java     |     3 +-
 .../minion/PinotHelixTaskResourceManagerTest.java  |   405 +-
 .../core/minion/PinotTaskManagerStatelessTest.java |   278 +-
 .../PinotLLCRealtimeSegmentManagerTest.java        |   148 +
 .../core/rebalance/DataLossRiskAssessorTest.java   |   523 +
 .../TableRebalancerClusterStatelessTest.java       |   137 +-
 .../helix/core/rebalance/TableRebalancerTest.java  |   159 +-
 .../rebalance/tenant/TenantRebalancerTest.java     |    75 +-
 .../controller/util/BrokerServiceHelperTest.java   |     2 +-
 .../validation/StorageQuotaCheckerTest.java        |    17 +-
 .../HeapUsagePublishingAccountantFactory.java      |     7 +-
 .../PerQueryCPUMemAccountantFactory.java           |   293 +-
 .../pinot/core/accounting/QueryAggregator.java     |    14 +-
 .../pinot/core/accounting/ResourceAggregator.java  |    50 +-
 .../accounting/ResourceUsageAccountantFactory.java |    87 +-
 .../pinot/core/accounting/WorkloadAggregator.java  |     1 +
 .../apache/pinot/core/common/MinionConstants.java  |    15 +-
 .../core/common/datablock/DataBlockBuilder.java    |   440 +-
 .../core/data/manager/BaseTableDataManager.java    |     2 +-
 .../realtime/RealtimeConsumptionRateManager.java   |    10 +-
 .../realtime/RealtimeSegmentDataManager.java       |     5 +-
 .../pinot/core/data/table/SortedRecordTable.java   |   185 +
 .../pinot/core/data/table/SortedRecords.java       |    12 +-
 .../pinot/core/data/table/SortedRecordsMerger.java |   138 +
 .../apache/pinot/core/data/table/TableResizer.java |    38 +-
 .../pinot/core/operator/ProjectionOperator.java    |    19 +-
 .../core/operator/ProjectionOperatorUtils.java     |    11 +-
 .../blocks/results/AggregationResultsBlock.java    |     3 +
 .../blocks/results/GroupByResultsBlock.java        |     7 +-
 .../operator/combine/GroupByCombineOperator.java   |    27 +-
 .../SequentialSortedGroupByCombineOperator.java    |   219 +
 ...ator.java => SortedGroupByCombineOperator.java} |   192 +-
 .../ExpressionScanDocIdIterator.java               |    13 +-
 .../operator/docidsets/ExpressionDocIdSet.java     |     7 +-
 .../operator/filter/ExpressionFilterOperator.java  |     6 +-
 .../core/operator/filter/FilterOperatorUtils.java  |    36 +-
 ...seDictIdBasedRegexpLikePredicateEvaluator.java} |    24 +-
 .../FSTBasedRegexpPredicateEvaluatorFactory.java   |     2 +-
 .../IFSTBasedRegexpPredicateEvaluatorFactory.java  |     2 +-
 .../RegexpLikePredicateEvaluatorFactory.java       |    70 +-
 .../operator/query/FilteredGroupByOperator.java    |    61 +-
 .../pinot/core/operator/query/GroupByOperator.java |    69 +-
 .../query/NonScanBasedAggregationOperator.java     |    63 +-
 .../operator/query/SelectionOrderByOperator.java   |     3 +-
 .../transform/function/CastTransformFunction.java  |    14 +-
 .../JsonExtractScalarTransformFunction.java        |    60 +-
 .../function/RoundDecimalTransformFunction.java    |    24 +-
 .../pinot/core/periodictask/BasePeriodicTask.java  |    87 +-
 .../pinot/core/plan/AggregationPlanNode.java       |     3 +-
 .../apache/pinot/core/plan/CombinePlanNode.java    |     9 +
 .../apache/pinot/core/plan/ProjectPlanNode.java    |     2 +-
 .../core/plan/maker/InstancePlanMakerImplV2.java   |     4 +
 .../function/AggregationFunctionFactory.java       |     6 +
 .../function/AggregationFunctionUtils.java         |     2 +
 ...stinctCountSmartSketchAggregationFunction.java} |   628 +-
 .../DistinctCountSmartHLLAggregationFunction.java  |   643 +-
 .../DistinctCountSmartULLAggregationFunction.java  |   496 +
 .../DistinctCountULLAggregationFunction.java       |    10 +-
 .../function/MaxStringAggregationFunction.java     |   164 +
 .../function/MinStringAggregationFunction.java     |   163 +
 .../groupby/AggregationGroupByResult.java          |     7 +
 .../groupby/DefaultGroupByExecutor.java            |    10 +-
 .../groupby/DictionaryBasedGroupKeyGenerator.java  |    64 +-
 .../query/aggregation/groupby/GroupByExecutor.java |     4 +-
 .../aggregation/groupby/GroupKeyGenerator.java     |     7 +-
 .../query/executor/ServerQueryExecutorV1Impl.java  |     6 +-
 .../core/query/reduce/BrokerReduceService.java     |     8 +
 .../core/query/reduce/StreamingReduceService.java  |     8 +
 .../core/query/request/context/QueryContext.java   |    98 +-
 .../query/scheduler/QuerySchedulerFactory.java     |     5 +
 .../core/query/scheduler/WorkloadScheduler.java    |   116 +
 .../core/query/utils/OrderByComparatorFactory.java |   104 +
 .../ImplicitHybridTableRouteInfo.java              |    47 +-
 .../routing}/ImplicitHybridTableRouteProvider.java |    20 +-
 .../pinot/core/routing}/LogicalTableRouteInfo.java |    40 +-
 .../core/routing}/LogicalTableRouteProvider.java   |    11 +-
 .../core/routing}/PhysicalTableRouteProvider.java  |    15 +-
 .../apache/pinot/core/routing/RoutingManager.java  |     1 +
 .../apache/pinot/core/routing/RoutingTable.java    |     6 +-
 .../{ServerRouteInfo.java => SegmentsToQuery.java} |     9 +-
 .../{transport => routing}/TableRouteInfo.java     |    64 +-
 .../pinot/core/routing}/TableRouteProvider.java    |     7 +-
 .../timeboundary/MinTimeBoundaryStrategy.java      |     3 +-
 .../{ => timeboundary}/TimeBoundaryInfo.java       |     2 +-
 .../timeboundary/TimeBoundaryStrategy.java         |     3 +-
 .../timeboundary/TimeBoundaryStrategyService.java  |     2 +-
 .../segment/processing/mapper/SegmentMapper.java   |     2 +-
 .../startree/plan/StarTreeProjectPlanNode.java     |     2 +-
 .../pinot/core/transport/BaseTableRouteInfo.java   |    64 -
 .../apache/pinot/core/transport/QueryRouter.java   |     8 +-
 .../apache/pinot/core/udf/UdfExampleBuilder.java   |     4 +
 .../org/apache/pinot/core/util/GroupByUtils.java   |    33 +-
 .../accounting/ResourceManagerAccountingTest.java  |    55 +-
 .../core/accounting/TestResourceAccountant.java    |    16 +-
 .../pinot/core/accounting/TestThreadMXBean.java    |    18 +-
 .../pinot/core/data/manager/TableIndexingTest.java |     3 +-
 .../pinot/core/data/table/TableResizerTest.java    |     6 +-
 .../core/geospatial/transform/GeoFunctionTest.java |     4 +-
 .../combine/SortedGroupByCombineOperatorsTest.java |   505 +
 .../function/BaseTransformFunctionTest.java        |     4 +-
 .../function/ClpTransformFunctionsTest.java        |     4 +-
 .../function/DateTruncTransformFunctionTest.java   |     4 +-
 .../DistinctFromTransformFunctionTest.java         |     4 +-
 .../JsonExtractScalarTransformFunctionTest.java    |   136 +
 .../NullHandlingTransformFunctionTest.java         |     4 +-
 .../DefaultAggregationExecutorTest.java            |     3 +-
 .../function/AggregationFunctionFactoryTest.java   |    12 +
 .../function/MaxStringAggregationFunctionTest.java |   312 +
 .../function/MinStringAggregationFunctionTest.java |   306 +
 .../DictionaryBasedGroupKeyGeneratorTest.java      |    27 +-
 .../executor/QueryExecutorExceptionsTest.java      |    25 +
 .../core/query/reduce/BrokerReduceServiceTest.java |    44 +
 .../query/reduce/StreamingReduceServiceTest.java   |    54 +
 .../query/scheduler/QuerySchedulerFactoryTest.java |     5 +
 .../pinot/core/routing}/BaseTableRouteTest.java    |    20 +-
 ...HybridTableRouteProviderCalculateRouteTest.java |    24 +-
 ...tHybridTableRouteProviderGetTableRouteTest.java |     3 +-
 ...ogicalTableRouteProviderCalculateRouteTest.java |     8 +-
 .../LogicalTableRouteProviderGetRouteTest.java     |     3 +-
 .../core/routing}/MockRoutingManagerFactory.java   |    15 +-
 .../timeboundary/MinTimeBoundaryStrategyTest.java  |     3 +-
 .../TimeBoundaryStrategyServiceTest.java           |     2 +-
 .../pinot/core/startree/v2/MaxStarTreeV2Test.java  |     6 +-
 .../pinot/core/startree/v2/MinStarTreeV2Test.java  |     6 +-
 .../startree/v2/SumPrecisionStarTreeV2Test.java    |     2 +-
 .../pinot/core/startree/v2/SumStarTreeV2Test.java  |     6 +-
 .../pinot/core/transport/QueryRoutingTest.java     |    12 +-
 .../pinot/queries/BaseFunnelCountQueriesTest.java  |    15 +-
 .../pinot/queries/DistinctCountQueriesTest.java    |    44 +
 .../apache/pinot/queries/FastHllQueriesTest.java   |    12 +-
 .../apache/pinot/queries/HistogramQueriesTest.java |    18 +-
 .../pinot/queries/SerializedBytesQueriesTest.java  |    42 +-
 .../pinot/queries/StatisticalQueriesTest.java      |    38 +-
 .../pinot/queries/TextSearchQueriesTest.java       |    54 +-
 .../src/test/resources/TableIndexingTest.csv       |     4 +-
 .../pinot/integration/tests/ClusterTest.java       |    29 +-
 .../tests/ErrorCodesIntegrationTest.java           |     2 +-
 .../tests/ExplainIntegrationTestTrait.java         |    19 +-
 .../tests/GroupByTrimmingIntegrationTest.java      |    17 +-
 ...mingSegmentToBeMovedSummaryIntegrationTest.java |     2 +-
 .../tests/MultiStageEngineIntegrationTest.java     |    74 +-
 .../tests/NullHandlingIntegrationTest.java         |    80 +-
 .../tests/OfflineClusterIntegrationTest.java       |    19 +
 ...flineClusterMemBasedBrokerQueryKillingTest.java |    21 +-
 ...flineClusterMemBasedServerQueryKillingTest.java |   219 +-
 ...fflineClusterServerCPUTimeQueryKillingTest.java |    17 +-
 .../tests/ServerStarterIntegrationTest.java        |     2 +-
 .../tests/TenantRebalanceIntegrationTest.java      |    35 -
 .../tests/TimeSeriesAuthIntegrationTest.java       |     1 +
 .../tests/TimeSeriesIntegrationTest.java           |   163 +-
 ...hTwoOfflineOneRealtimeTableIntegrationTest.java |     4 +-
 .../pinot/integration/tests/udf/AvroSink.java      |     5 +-
 .../src/test/resources/log4j2-test.xml             |    21 +-
 .../src/test/resources/log4j2.xml                  |    36 -
 ...rayConcatDouble.yaml => arrayconcatdouble.yaml} |     0
 ...rayElementAtInt.yaml => arrayelementatint.yaml} |     0
 .../{arrayMax.yaml => arraymax.yaml}               |     0
 .../{isFalse.yaml => isfalse.yaml}                 |     0
 .../{toDateTime.yaml => todatetime.yaml}           |     0
 .../java/org/apache/pinot/minion/MinionConf.java   |     2 +-
 .../org/apache/pinot/minion/MinionStarter.java     |     2 +-
 ...BenchmarkAggregateGroupByOrderByQueriesSSE.java |   262 +-
 .../BenchmarkPairwiseCombineOrderByGroupBy.java    |   338 +
 .../pinot/perf/BenchmarkWorkloadBudgetManager.java |     2 +-
 .../org/apache/pinot/perf/RawIndexBenchmark.java   |     4 +-
 .../batch/spark/SparkSegmentTarPushJobRunner.java  |    10 +-
 .../batch/spark3/SparkSegmentTarPushJobRunner.java |    10 +-
 .../apache/pinot/plugin/filesystem/S3PinotFS.java  |   208 +-
 .../minion/tasks/SegmentConversionUtils.java       |    14 +-
 .../minion/tasks/purge/PurgeTaskExecutor.java      |    11 +-
 .../minion/tasks/purge/PurgeTaskGenerator.java     |    15 +-
 .../RefreshSegmentTaskGenerator.java               |    13 +-
 .../SegmentGenerationAndPushTaskGenerator.java     |    14 +-
 .../UpsertCompactionTaskGenerator.java             |    16 +-
 .../UpsertCompactMergeTaskGenerator.java           |     5 +-
 .../UpsertCompactionTaskGeneratorTest.java         |     2 +-
 .../kafka20/KafkaStreamMetadataProvider.java       |     6 +
 .../kafka30/KafkaStreamMetadataProvider.java       |     7 +
 pinot-query-planner/pom.xml                        |     7 +-
 .../rel/logical/PinotLogicalEnrichedJoin.java      |   248 +
 .../PinotAggregateExchangeNodeInsertRule.java      |     3 +
 .../calcite/rel/rules/PinotEnrichedJoinRule.java   |   396 +
 .../rel/rules/PinotEvaluateLiteralRule.java        |    13 +-
 .../calcite/rel/rules/PinotQueryRuleSets.java      |     6 +-
 ....java => PinotSemiJoinDistinctProjectRule.java} |    12 +-
 .../pinot/calcite/sql/fun/PinotOperatorTable.java  |    40 +-
 .../org/apache/pinot/query/QueryEnvironment.java   |    33 +-
 .../query/context/RuleTimingPlannerListener.java   |   114 +
 .../planner/explain/ExplainNodeSimplifier.java     |     6 +
 .../explain/PhysicalExplainPlanVisitor.java        |     9 +
 .../query/planner/explain/PlanNodeMerger.java      |    33 +
 .../query/planner/explain/PlanNodeSorter.java      |     6 +
 .../planner/logical/EquivalentStagesFinder.java    |    16 +
 .../query/planner/logical/PlanFragmenter.java      |     6 +
 .../planner/logical/PlanNodeToRelConverter.java    |    38 +
 .../planner/logical/RelToPlanNodeConverter.java    |    89 +
 .../query/planner/logical/RexExpressionUtils.java  |    25 +-
 .../query/planner/logical/SubPlanFragmenter.java   |     6 +
 .../planner/physical/DispatchablePlanFragment.java |     2 +-
 .../planner/physical/DispatchablePlanMetadata.java |     4 +-
 .../planner/physical/DispatchablePlanVisitor.java  |    11 +-
 .../planner/physical/v2/RelToPRelConverter.java    |     4 +
 .../planner/physical/v2/TableScanMetadata.java     |     2 +-
 .../planner/physical/v2/nodes/PhysicalJoin.java    |    26 +-
 .../opt/rules/LeafStageWorkerAssignmentRule.java   |    10 +-
 .../v2/opt/rules/LiteModeSortInsertRule.java       |    15 +-
 .../v2/opt/rules/WorkerExchangeAssignmentRule.java |    76 +-
 .../plannode/DefaultPostOrderTraversalVisitor.java |     5 +
 .../query/planner/plannode/EnrichedJoinNode.java   |   160 +
 .../query/planner/plannode/PlanNodeVisitor.java    |     9 +
 .../query/planner/serde/PlanNodeDeserializer.java  |    42 +
 .../query/planner/serde/PlanNodeSerializer.java    |    39 +
 .../validation/ArrayToMvValidationVisitor.java     |    27 +-
 .../apache/pinot/query/routing/StageMetadata.java  |     2 +-
 .../apache/pinot/query/routing/WorkerManager.java  |    18 +-
 .../rel/rules/PinotEnrichedJoinRuleTest.java       |   638 +
 .../pinot/query/QueryEnvironmentTestBase.java      |     3 +-
 .../pinot/query/QueryPlannerRuleOptionsTest.java   |    60 +
 .../logical/RelToPlanNodeConverterTest.java        |    73 +
 .../src/test/resources/queries/JoinPlans.json      |   162 +-
 .../resources/queries/LiteralEvaluationPlans.json  |    32 +-
 .../resources/queries/PhysicalOptimizerPlans.json  |    43 +-
 .../src/test/resources/queries/SetOpPlans.json     |    15 +-
 .../AuthorizationInterceptor.java}                 |    29 +-
 .../QueryAccessControl.java}                       |    24 +-
 .../query/access/QueryAccessControlFactory.java    |    68 +
 .../apache/pinot/query/mailbox/MailboxService.java |    35 +-
 .../query/mailbox/channel/ChannelManager.java      |    51 +-
 .../query/mailbox/channel/GrpcMailboxServer.java   |    15 +-
 .../query/runtime/InStageStatsTreeBuilder.java     |     6 +
 .../apache/pinot/query/runtime/QueryRunner.java    |    82 +-
 .../runtime/executor/OpChainSchedulerService.java  |    86 +-
 .../query/runtime/operator/BaseJoinOperator.java   |    31 +-
 .../runtime/operator/EnrichedHashJoinOperator.java |   417 +
 .../query/runtime/operator/HashJoinOperator.java   |    22 +-
 .../pinot/query/runtime/operator/LeafOperator.java |   605 +-
 .../runtime/operator/MailboxSendOperator.java      |     2 +-
 .../query/runtime/operator/MultiStageOperator.java |     4 +-
 .../operator/{ => set}/IntersectAllOperator.java   |     5 +-
 .../operator/{ => set}/IntersectOperator.java      |     5 +-
 .../operator/{ => set}/MinusAllOperator.java       |     5 +-
 .../runtime/operator/{ => set}/MinusOperator.java  |     5 +-
 .../operator/set/RightRowSetBasedSetOperator.java  |   104 +
 .../runtime/operator/{ => set}/SetOperator.java    |   103 +-
 .../UnionAllOperator.java}                         |    26 +-
 .../runtime/operator/{ => set}/UnionOperator.java  |    93 +-
 .../runtime/plan/OpChainExecutionContext.java      |    19 +-
 .../query/runtime/plan/PlanNodeToOpChain.java      |    50 +-
 .../plan/pipeline/PipelineBreakerExecutor.java     |    13 +-
 .../plan/server/ServerPlanRequestUtils.java        |     4 +-
 .../plan/server/ServerPlanRequestVisitor.java      |    66 +
 .../runtime/timeseries/LeafTimeSeriesOperator.java |     2 +-
 .../query/service/dispatch/QueryDispatcher.java    |   182 +-
 .../timeseries/TimeSeriesDispatchObserver.java     |    15 +-
 .../pinot/query/service/server/QueryServer.java    |    40 +-
 .../executor/OpChainSchedulerServiceTest.java      |   104 +-
 .../operator/EnrichedHashJoinOperatorTest.java     |   652 +
 .../runtime/operator/IntersectOperatorTest.java    |   118 -
 .../query/runtime/operator/LeafOperatorTest.java   |   103 +-
 .../runtime/operator/MailboxSendOperatorTest.java  |     4 +-
 .../query/runtime/operator/MinusOperatorTest.java  |   120 -
 .../runtime/operator/MultiStageAccountingTest.java |     3 +-
 .../MultistageResourceUsageAccountingTest.java     |     3 +-
 .../query/runtime/operator/OperatorTestUtil.java   |    37 +-
 .../query/runtime/operator/UnionOperatorTest.java  |    91 -
 .../{ => set}/IntersectAllOperatorTest.java        |    76 +-
 .../operator/set/IntersectOperatorTest.java        |   151 +
 .../operator/{ => set}/MinusAllOperatorTest.java   |    77 +-
 .../runtime/operator/set/MinusOperatorTest.java    |   154 +
 .../runtime/operator/set/UnionAllOperatorTest.java |   117 +
 .../runtime/operator/set/UnionOperatorTest.java    |   116 +
 .../queries/PerQueryCPUMemAccountantTest.java      |    43 -
 .../runtime/queries/ResourceBasedQueriesTest.java  |    21 +-
 ...ryServerTest.java => QueryServerAuthzTest.java} |   153 +-
 .../query/service/server/QueryServerTest.java      |     2 +-
 .../src/test/resources/queries/EnrichedJoin.json   |    93 +
 .../src/test/resources/queries/SetOps.json         |    51 -
 .../src/test/resources/queries/SetOpsH2.json       |    85 +
 .../src/test/resources/queries/SetOpsNonH2.json    |   172 +
 .../local/aggregator/AvgValueAggregator.java       |    15 +-
 .../local/aggregator/CountValueAggregator.java     |    10 +-
 .../DistinctCountBitmapValueAggregator.java        |     7 +
 .../DistinctCountCPCSketchValueAggregator.java     |    26 +-
 .../DistinctCountHLLPlusValueAggregator.java       |    11 +-
 .../DistinctCountHLLValueAggregator.java           |    11 +-
 .../DistinctCountThetaSketchValueAggregator.java   |     7 +
 .../DistinctCountULLValueAggregator.java           |    11 +-
 .../IntegerTupleSketchValueAggregator.java         |    13 +-
 .../local/aggregator/MaxValueAggregator.java       |    19 +-
 .../aggregator/MinMaxRangeValueAggregator.java     |    16 +-
 .../local/aggregator/MinValueAggregator.java       |    19 +-
 .../aggregator/PercentileEstValueAggregator.java   |    23 +-
 .../PercentileTDigestValueAggregator.java          |    11 +-
 .../aggregator/SumPrecisionValueAggregator.java    |    11 +-
 .../local/aggregator/SumValueAggregator.java       |    19 +-
 .../segment/local/aggregator/ValueAggregator.java  |    11 +-
 .../local/aggregator/ValueAggregatorFactory.java   |    24 +-
 .../local/aggregator/ValueAggregatorUtils.java     |    18 +-
 .../immutable/ImmutableSegmentImpl.java            |    72 +-
 .../indexsegment/mutable/MutableSegmentImpl.java   |   117 +-
 .../pinot/segment/local/io/util/ValueReader.java   |     3 +-
 .../realtime/impl/json/MutableJsonIndexImpl.java   |   405 +-
 .../recordtransformer/ComplexTypeTransformer.java  |    69 +-
 .../local/segment/creator/TransformPipeline.java   |    15 +-
 .../creator/impl/SegmentColumnarIndexCreator.java  |   127 +-
 .../index/dictionary/DictionaryIndexType.java      |     6 +-
 .../index/readers/BitmapInvertedIndexReader.java   |     1 -
 .../readers/json/ImmutableJsonIndexReader.java     |   345 +-
 .../lucene/parsers/PrefixPhraseQueryParser.java    |   298 +
 .../startree/v2/builder/BaseSingleTreeBuilder.java |    17 +-
 .../upsert/BasePartitionUpsertMetadataManager.java |    76 +-
 .../upsert/merger/PartialUpsertColumnarMerger.java |     2 +-
 .../local/utils/ConsistentDataPushUtils.java       |     5 +-
 .../segment/local/utils/LuceneTextIndexUtils.java  |    23 +-
 .../segment/local/utils/TableConfigUtils.java      |    43 +-
 .../DistinctCountCPCSketchValueAggregatorTest.java |     6 +
 .../DistinctCountULLValueAggregatorTest.java       |     6 +
 .../IntegerTupleSketchValueAggregatorTest.java     |     7 +
 .../local/aggregator/ValueAggregatorTest.java      |    62 +
 ...MutableSegmentImplIngestionAggregationTest.java |   322 +-
 .../ComplexTypeTransformerTest.java                |    45 +
 .../segment/creator/TransformPipelineTest.java     |   341 +
 .../local/segment/index/ColumnMetadataTest.java    |    33 +
 .../FixedByteValueReaderWriterTest.java            |    36 +
 .../BasePartitionUpsertMetadataManagerTest.java    |   396 +-
 ...ertMetadataManagerForConsistentDeletesTest.java |     3 +-
 ...rrentMapPartitionUpsertMetadataManagerTest.java |     7 +-
 .../local/utils/LuceneTextIndexUtilsTest.java      |   133 +
 .../segment/local/utils/TableConfigUtilsTest.java  |   127 +-
 .../pinot/segment/spi/AggregationFunctionType.java |     4 +
 .../org/apache/pinot/segment/spi/V1Constants.java  |     1 +
 .../spi/creator/SegmentGeneratorConfig.java        |     2 +-
 .../pinot/server/api/resources/TablesResource.java |    10 +-
 .../server/predownload/PredownloadScheduler.java   |     2 +-
 .../server/starter/helix/BaseServerStarter.java    |    16 +-
 .../server/starter/helix/HelixServerStarter.java   |     4 +-
 .../server/starter/helix/SendStatsPredicate.java   |    29 +-
 .../accounting/ThreadResourceUsageAccountant.java  |    46 +-
 .../accounting/ThreadResourceUsageProvider.java    |    13 +-
 .../accounting/WorkloadBudgetManager.java          |    64 +-
 .../apache/pinot/spi/exception/QueryErrorCode.java |     1 +
 .../ThrottleOnCriticalHeapUsageExecutor.java       |   131 +-
 .../apache/pinot/spi/query/QueryThreadContext.java |    37 +-
 .../spi/recordtransformer/RecordTransformer.java   |    11 +
 .../org/apache/pinot/spi/stream/StreamConfig.java  |    62 +-
 .../pinot/spi/stream/StreamConfigProperties.java   |    19 +
 .../pinot/spi/stream/StreamMetadataProvider.java   |     6 +
 .../java/org/apache/pinot/spi/trace/Tracing.java   |    79 +-
 .../apache/pinot/spi/utils/BigDecimalUtils.java    |     8 +-
 .../apache/pinot/spi/utils/CommonConstants.java    |   121 +-
 .../pinot/spi/utils/IngestionConfigUtils.java      |     2 +-
 .../java/org/apache/pinot/spi/utils/JsonUtils.java |     5 +
 .../apache/pinot/spi/utils/ResourceUsageUtils.java |    27 +-
 .../utils/builder/ControllerRequestURLBuilder.java |     2 +-
 .../spi}/accounting/WorkloadBudgetManagerTest.java |    32 +-
 .../ThrottleOnCriticalHeapUsageExecutorTest.java   |    37 +-
 .../tsdb/planner/TimeSeriesPlanConstants.java      |    58 -
 .../tsdb/planner/TimeSeriesQueryEnvironment.java   |    29 +-
 .../tsdb/planner/physical/TableScanVisitor.java    |     4 +-
 .../pinot/tsdb/spi/TimeSeriesLogicalPlanner.java   |    24 +
 .../tools/admin/command/StartBrokerCommand.java    |     2 +-
 .../tools/admin/command/StartMinionCommand.java    |     2 +-
 .../tools/admin/command/StartServerCommand.java    |     2 +-
 .../pinot/tools/perf/PerfBenchmarkDriver.java      |     6 +-
 .../pinot/tools/service/PinotServiceManager.java   |    16 +-
 .../apache/pinot/tools/utils/PinotConfigUtils.java |     6 +-
 pinot-tools/src/main/resources/conf/log4j2.xml     |    13 +
 pinot-tools/src/main/resources/log4j2.xml          |    13 +
 .../org/apache/pinot/udf/test/UdfReporter.java     |   232 +-
 .../apache/pinot/udf/test/UdfTestFramework.java    |    23 +-
 .../scenarios/IntermediateUdfTestScenario.java     |     2 +-
 pom.xml                                            |    48 +-
 580 files changed, 40558 insertions(+), 18093 deletions(-)
 create mode 100644 .github/copilot-instructions.md
 create mode 100644 licenses-binary/LICENSE-isc.txt
 create mode 100644 licenses-binary/LICENSE-lgpl-2.1.txt
 copy licenses-binary/{LICENSE-reactive-streams.txt => LICENSE-mit-0.txt} (96%)
 copy 
pinot-broker/src/main/java/org/apache/pinot/broker/routing/instanceselector/{SegmentInstanceCandidate.java
 => InstanceSelectorConfig.java} (50%)
 create mode 100644 
pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/TableNameExtractor.java
 create mode 100644 
pinot-clients/pinot-java-client/src/test/java/org/apache/pinot/client/TableNameExtractorTest.java
 create mode 100644 
pinot-common/src/main/java/org/apache/pinot/common/audit/AuditConfig.java
 create mode 100644 
pinot-common/src/main/java/org/apache/pinot/common/audit/AuditConfigManager.java
 create mode 100644 
pinot-common/src/main/java/org/apache/pinot/common/audit/AuditEvent.java
 copy 
pinot-server/src/main/java/org/apache/pinot/server/api/resources/ShutDownFilter.java
 => 
pinot-common/src/main/java/org/apache/pinot/common/audit/AuditLogFilter.java 
(53%)
 create mode 100644 
pinot-common/src/main/java/org/apache/pinot/common/audit/AuditLogger.java
 create mode 100644 
pinot-common/src/main/java/org/apache/pinot/common/audit/AuditRequestProcessor.java
 copy 
pinot-common/src/main/java/org/apache/pinot/common/config/provider/{TableCache.java
 => ZkTableCache.java} (96%)
 create mode 100644 
pinot-common/src/main/java/org/apache/pinot/sql/parsers/rewriter/CastTypeAliasRewriter.java
 create mode 100644 
pinot-common/src/test/java/org/apache/pinot/common/audit/AuditConfigManagerTest.java
 create mode 100644 
pinot-common/src/test/java/org/apache/pinot/common/audit/AuditRequestProcessorTest.java
 create mode 100644 
pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/PinotControllerTimeseriesResource.java
 copy 
pinot-controller/src/main/resources/app/components/Homepage/{ClusterConfig.tsx 
=> PackageVersions.tsx} (71%)
 create mode 100644 
pinot-controller/src/main/resources/app/components/TaskStatusFilter.tsx
 create mode 100644 
pinot-controller/src/main/resources/app/components/TimezoneSelector.tsx
 create mode 100644 
pinot-controller/src/main/resources/app/contexts/TimezoneContext.tsx
 create mode 100644 
pinot-controller/src/main/resources/app/utils/TimezoneUtils.ts
 create mode 100644 
pinot-controller/src/test/java/org/apache/pinot/controller/helix/core/rebalance/DataLossRiskAssessorTest.java
 create mode 100644 
pinot-core/src/main/java/org/apache/pinot/core/data/table/SortedRecordTable.java
 copy 
pinot-common/src/main/java/org/apache/pinot/common/exception/SchemaBackwardIncompatibleException.java
 => 
pinot-core/src/main/java/org/apache/pinot/core/data/table/SortedRecords.java 
(80%)
 create mode 100644 
pinot-core/src/main/java/org/apache/pinot/core/data/table/SortedRecordsMerger.java
 create mode 100644 
pinot-core/src/main/java/org/apache/pinot/core/operator/combine/SequentialSortedGroupByCombineOperator.java
 copy 
pinot-core/src/main/java/org/apache/pinot/core/operator/combine/{GroupByCombineOperator.java
 => SortedGroupByCombineOperator.java} (52%)
 copy 
pinot-core/src/main/java/org/apache/pinot/core/operator/filter/predicate/{BasePredicateEvaluator.java
 => BaseDictIdBasedRegexpLikePredicateEvaluator.java} (66%)
 copy 
pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/{DistinctCountSmartHLLAggregationFunction.java
 => BaseDistinctCountSmartSketchAggregationFunction.java} (52%)
 create mode 100644 
pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctCountSmartULLAggregationFunction.java
 create mode 100644 
pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/MaxStringAggregationFunction.java
 create mode 100644 
pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/MinStringAggregationFunction.java
 create mode 100644 
pinot-core/src/main/java/org/apache/pinot/core/query/scheduler/WorkloadScheduler.java
 rename pinot-core/src/main/java/org/apache/pinot/core/{transport => 
routing}/ImplicitHybridTableRouteInfo.java (83%)
 rename {pinot-query-planner/src/main/java/org/apache/pinot/query/routing/table 
=> 
pinot-core/src/main/java/org/apache/pinot/core/routing}/ImplicitHybridTableRouteProvider.java
 (90%)
 rename {pinot-query-planner/src/main/java/org/apache/pinot/query/routing/table 
=> 
pinot-core/src/main/java/org/apache/pinot/core/routing}/LogicalTableRouteInfo.java
 (88%)
 rename {pinot-query-planner/src/main/java/org/apache/pinot/query/routing/table 
=> 
pinot-core/src/main/java/org/apache/pinot/core/routing}/LogicalTableRouteProvider.java
 (94%)
 rename {pinot-query-planner/src/main/java/org/apache/pinot/query/routing/table 
=> 
pinot-core/src/main/java/org/apache/pinot/core/routing}/PhysicalTableRouteProvider.java
 (88%)
 rename 
pinot-core/src/main/java/org/apache/pinot/core/routing/{ServerRouteInfo.java => 
SegmentsToQuery.java} (85%)
 rename pinot-core/src/main/java/org/apache/pinot/core/{transport => 
routing}/TableRouteInfo.java (77%)
 rename {pinot-query-planner/src/main/java/org/apache/pinot/query/routing/table 
=> 
pinot-core/src/main/java/org/apache/pinot/core/routing}/TableRouteProvider.java 
(91%)
 rename {pinot-query-planner/src/main/java/org/apache/pinot/query => 
pinot-core/src/main/java/org/apache/pinot/core/routing}/timeboundary/MinTimeBoundaryStrategy.java
 (97%)
 rename pinot-core/src/main/java/org/apache/pinot/core/routing/{ => 
timeboundary}/TimeBoundaryInfo.java (96%)
 rename {pinot-query-planner/src/main/java/org/apache/pinot/query => 
pinot-core/src/main/java/org/apache/pinot/core/routing}/timeboundary/TimeBoundaryStrategy.java
 (95%)
 rename {pinot-query-planner/src/main/java/org/apache/pinot/query => 
pinot-core/src/main/java/org/apache/pinot/core/routing}/timeboundary/TimeBoundaryStrategyService.java
 (97%)
 delete mode 100644 
pinot-core/src/main/java/org/apache/pinot/core/transport/BaseTableRouteInfo.java
 create mode 100644 
pinot-core/src/test/java/org/apache/pinot/core/operator/combine/SortedGroupByCombineOperatorsTest.java
 create mode 100644 
pinot-core/src/test/java/org/apache/pinot/core/query/aggregation/function/MaxStringAggregationFunctionTest.java
 create mode 100644 
pinot-core/src/test/java/org/apache/pinot/core/query/aggregation/function/MinStringAggregationFunctionTest.java
 rename {pinot-query-planner/src/test/java/org/apache/pinot/query/routing/table 
=> 
pinot-core/src/test/java/org/apache/pinot/core/routing}/BaseTableRouteTest.java 
(95%)
 rename {pinot-query-planner/src/test/java/org/apache/pinot/query/routing/table 
=> 
pinot-core/src/test/java/org/apache/pinot/core/routing}/ImplicitHybridTableRouteProviderCalculateRouteTest.java
 (95%)
 rename {pinot-query-planner/src/test/java/org/apache/pinot/query/routing/table 
=> 
pinot-core/src/test/java/org/apache/pinot/core/routing}/ImplicitHybridTableRouteProviderGetTableRouteTest.java
 (99%)
 rename {pinot-query-planner/src/test/java/org/apache/pinot/query/routing/table 
=> 
pinot-core/src/test/java/org/apache/pinot/core/routing}/LogicalTableRouteProviderCalculateRouteTest.java
 (95%)
 rename {pinot-query-planner/src/test/java/org/apache/pinot/query/routing/table 
=> 
pinot-core/src/test/java/org/apache/pinot/core/routing}/LogicalTableRouteProviderGetRouteTest.java
 (99%)
 rename {pinot-query-planner/src/test/java/org/apache/pinot/query/testutils => 
pinot-core/src/test/java/org/apache/pinot/core/routing}/MockRoutingManagerFactory.java
 (95%)
 rename {pinot-query-planner/src/test/java/org/apache/pinot/query => 
pinot-core/src/test/java/org/apache/pinot/core/routing}/timeboundary/MinTimeBoundaryStrategyTest.java
 (98%)
 rename {pinot-query-planner/src/test/java/org/apache/pinot/query => 
pinot-core/src/test/java/org/apache/pinot/core/routing}/timeboundary/TimeBoundaryStrategyServiceTest.java
 (96%)
 copy pinot-segment-local/src/test/resources/log4j2.xml => 
pinot-integration-tests/src/test/resources/log4j2-test.xml (74%)
 delete mode 100644 pinot-integration-tests/src/test/resources/log4j2.xml
 rename 
pinot-integration-tests/src/test/resources/udf-test-results/{arrayConcatDouble.yaml
 => arrayconcatdouble.yaml} (100%)
 rename 
pinot-integration-tests/src/test/resources/udf-test-results/{arrayElementAtInt.yaml
 => arrayelementatint.yaml} (100%)
 rename 
pinot-integration-tests/src/test/resources/udf-test-results/{arrayMax.yaml => 
arraymax.yaml} (100%)
 rename 
pinot-integration-tests/src/test/resources/udf-test-results/{isFalse.yaml => 
isfalse.yaml} (100%)
 rename 
pinot-integration-tests/src/test/resources/udf-test-results/{toDateTime.yaml => 
todatetime.yaml} (100%)
 copy pinot-core/src/test/java/org/apache/pinot/queries/BaseQueriesTest.java => 
pinot-perf/src/main/java/org/apache/pinot/perf/BenchmarkAggregateGroupByOrderByQueriesSSE.java
 (60%)
 create mode 100644 
pinot-perf/src/main/java/org/apache/pinot/perf/BenchmarkPairwiseCombineOrderByGroupBy.java
 create mode 100644 
pinot-query-planner/src/main/java/org/apache/pinot/calcite/rel/logical/PinotLogicalEnrichedJoin.java
 create mode 100644 
pinot-query-planner/src/main/java/org/apache/pinot/calcite/rel/rules/PinotEnrichedJoinRule.java
 rename 
pinot-query-planner/src/main/java/org/apache/pinot/calcite/rel/rules/{PinotSeminJoinDistinctProjectRule.java
 => PinotSemiJoinDistinctProjectRule.java} (85%)
 create mode 100644 
pinot-query-planner/src/main/java/org/apache/pinot/query/planner/plannode/EnrichedJoinNode.java
 create mode 100644 
pinot-query-planner/src/test/java/org/apache/pinot/calcite/rel/rules/PinotEnrichedJoinRuleTest.java
 copy 
pinot-query-runtime/src/main/java/org/apache/pinot/query/{mailbox/channel/MailboxServerInterceptor.java
 => access/AuthorizationInterceptor.java} (57%)
 copy 
pinot-query-runtime/src/main/java/org/apache/pinot/query/{mailbox/channel/ChannelUtils.java
 => access/QueryAccessControl.java} (57%)
 create mode 100644 
pinot-query-runtime/src/main/java/org/apache/pinot/query/access/QueryAccessControlFactory.java
 create mode 100644 
pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/operator/EnrichedHashJoinOperator.java
 rename 
pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/operator/{ => 
set}/IntersectAllOperator.java (90%)
 rename 
pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/operator/{ => 
set}/IntersectOperator.java (90%)
 copy 
pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/operator/{ => 
set}/MinusAllOperator.java (90%)
 rename 
pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/operator/{ => 
set}/MinusOperator.java (91%)
 create mode 100644 
pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/operator/set/RightRowSetBasedSetOperator.java
 rename 
pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/operator/{ => 
set}/SetOperator.java (57%)
 rename 
pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/operator/{MinusAllOperator.java
 => set/UnionAllOperator.java} (66%)
 rename 
pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/operator/{ => 
set}/UnionOperator.java (52%)
 create mode 100644 
pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/operator/EnrichedHashJoinOperatorTest.java
 delete mode 100644 
pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/operator/IntersectOperatorTest.java
 delete mode 100644 
pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/operator/MinusOperatorTest.java
 delete mode 100644 
pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/operator/UnionOperatorTest.java
 rename 
pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/operator/{ => 
set}/IntersectAllOperatorTest.java (60%)
 create mode 100644 
pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/operator/set/IntersectOperatorTest.java
 rename 
pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/operator/{ => 
set}/MinusAllOperatorTest.java (60%)
 create mode 100644 
pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/operator/set/MinusOperatorTest.java
 create mode 100644 
pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/operator/set/UnionAllOperatorTest.java
 create mode 100644 
pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/operator/set/UnionOperatorTest.java
 copy 
pinot-query-runtime/src/test/java/org/apache/pinot/query/service/server/{QueryServerTest.java
 => QueryServerAuthzTest.java} (55%)
 create mode 100644 
pinot-query-runtime/src/test/resources/queries/EnrichedJoin.json
 delete mode 100644 pinot-query-runtime/src/test/resources/queries/SetOps.json
 create mode 100644 pinot-query-runtime/src/test/resources/queries/SetOpsH2.json
 create mode 100644 
pinot-query-runtime/src/test/resources/queries/SetOpsNonH2.json
 copy 
pinot-common/src/main/java/org/apache/pinot/common/utils/regex/MatcherFactory.java
 => 
pinot-segment-local/src/main/java/org/apache/pinot/segment/local/aggregator/ValueAggregatorUtils.java
 (58%)
 create mode 100644 
pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/index/text/lucene/parsers/PrefixPhraseQueryParser.java
 create mode 100644 
pinot-segment-local/src/test/java/org/apache/pinot/segment/local/aggregator/ValueAggregatorTest.java
 rename pinot-spi/src/main/java/org/apache/pinot/{core => 
spi}/accounting/WorkloadBudgetManager.java (72%)
 copy 
pinot-plugins/pinot-metrics/pinot-dropwizard/src/main/java/org/apache/pinot/plugin/metrics/dropwizard/DropwizardMetricsRegistryListener.java
 => pinot-spi/src/main/java/org/apache/pinot/spi/utils/ResourceUsageUtils.java 
(59%)
 rename {pinot-core/src/test/java/org/apache/pinot/core => 
pinot-spi/src/test/java/org/apache/pinot/spi}/accounting/WorkloadBudgetManagerTest.java
 (76%)
 delete mode 100644 
pinot-timeseries/pinot-timeseries-planner/src/main/java/org/apache/pinot/tsdb/planner/TimeSeriesPlanConstants.java


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to