You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by za...@apache.org on 2022/10/06 06:07:35 UTC

[druid] branch dependabot/maven/org.apache.calcite.avatica-avatica-core-1.22.0 updated (a0173012e9 -> a08f1152f9)

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

zachjsh pushed a change to branch dependabot/maven/org.apache.calcite.avatica-avatica-core-1.22.0
in repository https://gitbox.apache.org/repos/asf/druid.git


    from a0173012e9 * update licenses.yaml
     add 2045a1345c Fix NPE when applying a transform that outputs to __time (#12870)
     add 607b0b9310 Adding withName implementation to AggregatorFactory  (#12862)
     add 01d555e47b Adjust "in" filter null behavior to match "selector". (#12863)
     add 267b32c2e2 Set druid.processing.fifo to true by default (#12571)
     add 533c39f35a Fix rollup docs bullet formatting (#12876)
     add a7e89de610 fix JsonNode leaking from JSON flattener (#12873)
     add abd7a9748d Remove kafka lookup records when a record is tombstoned (#12819)
     add ebe783dbdc Correct minor format issue (#12882)
     add 2855fb6ff8 Change Kafka Lookup Extractor to not register consumer group (#12842)
     add ee41cc770f fix issue with SQL sum aggregator due to bug with DruidTypeSystem and AggregateRemoveRule (#12880)
     add 8ad8582dc8 Refactor DruidSchema & DruidTable (#12835)
     add 4706a4c572 Docker build for the revised ITs (#12707)
     add b4985ccd5e Suppress CVEs - Avatica, Postgres (#12884)
     add 38af5f7b57 NettyHttpClient: Cleaner state transitions for handlers. (#12889)
     add 2f2d8ded5a Introducing Storage connector Interface (#12874)
     add 3a3271eddc Introduce defaultOnDiskStorage config for Group By (#12833)
     add 836430019a Add EXTERNAL resource type. (#12896)
     add af700bba0c Fix hasBuiltInFilters for joins (#12894)
     add 5394838030 Enable conversion of join to filter by default (#12868)
     add f4e0909e92 fix bug with json_object expression not fully unwrapping inputs (#12893)
     add 4d65c08576 changes to run examples when CDPATH environment variable is set where cd command returns current dir… (#12877)
     add 41712b7a3a Refactor SqlLifecycle into statement classes (#12845)
     add b26ab678b9 Do no create filters on right side table columns while join to filter conversion (#12899)
     add 846345669d Error handling improvements for frame channels. (#12895)
     add 6c5a43106a SQL: Morph QueryMakerFactory into SqlEngine. (#12897)
     add 28836dfa71 Fix race in TaskQueue.notifyStatus. (#12901)
     add e42e025296 inject @Json ObjectMapper for to_json_string and parse_json expressions (#12900)
     add ec8bdeb9f6 Document missing property - druid.announcer.skipSegmentAnnouncementOnZk (#12891)
     add 3755f30bc4 Add export parameters for Java 11 (#12859)
     add adbebc174a Fix flaky tests in SeekableStreamSupervisorStateTest (#12875)
     add f665a0c077 Docs - Add links to Basic Tuning guide in process pages (#12741)
     add d3015d0f8e DruidQuery: Return a copy from withScanSignatureIfNeeded, as promised. (#12906)
     add f70f7b4b89 Bump postgresql from 42.3.3 to 42.4.1 (#12871)
     add a3a9c5f409 Fixing overlord issued too many redirects (#12908)
     add 752e42a312 fix running integration tests on macos aarch64 (#12913)
     add 536415b948 Stop leaking Avro objects from parser (#12828)
     add 770358dc34 Update tls-support.md (#12916)
     add 7fb1153bba add virtual columns to search query cache key (#12907)
     add eb902375a2 Light refactor of the heavily refactored statement classes (#12909)
     add 69fe1f04e5 document virtualColumns in native query documentation, fix some redirects (#12917)
     add f8097ccfaa basic docs for nested column query functions (#12922)
     add 3c129f6728 Add sql planning time metric (#12923)
     add a879d91a20 Remove misleading logging on router for JDBC queries (#12925)
     add 379df5f103 Kinesis docs and logs improvements (#12886)
     add 6fec1d4c95 Add useNativeQueryExplain in sql query context documentation (#12924) (#12934)
     add 289e43281e stricter behavior for parse_json, add try_parse_json, remove to_json (#12920)
     add 0c56b22a39 Update .spelling (#12940)
     add a1c4eab522 Update ORC to 1.7.6 (#12928)
     add f0fc45028e Update year in the notice file and the release process instructions (#12622)
     add d7d15ba51f Add druid-multi-stage-query extension. (#12918)
     add 31eda58e9a Fix misspelling in license.md (#12941)
     add 3b58a01c7c Correct spelling in messages and variable names. (#12932)
     add 0bc9f9f303 #12912 Fix KafkaEmitter not emitting queryType for a native query (#12915)
     add cfed036091 Add the new integration test framework (#12368)
     add f7c6316992 Setting useNativeQueryExplain to true (#12936)
     add c1a75fca3c Docs: fix doc footer (#12943)
     add 35aaaa9573 Fix serialization in TaskReportFileWriters. (#12938)
     add 02914c17b9 Tutorial on ingesting and querying Theta sketches (#12723)
     add 04ee7abeff Web console: Multi-stage query support (#12919)
     add 31db3beed8 Fixing json creator for s3 storage connector provider (#12948)
     add 599bdde02a Update asf-release-process-guide.md (#12966)
     add 82ad927087 tighten up array handling, fix bug with array_slice output type inference (#12914)
     add 8ee8786d3c add maxBytesInMemory and maxClientResponseBytes to SamplerConfig (#12947)
     add 9cc30ee120 Suppressing CVE-2022-25168 - hadoop-common-2.8.5.jar (#12970)
     add 31dc9004bd Auto-reload TLS certs for druid endpoints (#12933)
     add fd6cfcb8fb Web console: fix pagination, add error delimiters (#12969)
     add 7a1e1f88bb Remove experimental note from stable features (#12973)
     add ad62c0eb31 ignore licenses changes in check test script (#12964)
     add 4c61378ad1 fix broken link in web-console (#12976)
     add 72aba00e09 add json function support for paths with negative array indexes (#12972)
     add 275f834b2a Race in Task report/log streamer (#12931)
     add e476e75462 fix #12945 - type conversion exception occurs during the variance query (#12967)
     add acb09ff18b grab warnings from correct key + test (#12977)
     add 4bdf9815c1 fix issue with SQL planner and null array constants (#12971)
     add 21b73bde20 Update Curator to 5.3.0 (#12939)
     add 7e2371bbde KLL sketch (#12498)
     add 16f5ac5bd5 json_value adjustments (#12968)
     add 9843355ddd Throw parse exception for multi-valued numeric dims (#12953)
     add 618757352b Bump up the version to 25.0.0 (#12975)
     add 9fd8ab3c75 [Issue 10331] Fresh Docker install results in "Uh... I have no servers. Not assigning anything... (#12963)
     add 0460d8a502 Adjust SQL "cannot plan" error message. (#12903)
     add 9eb20e5e7c Remove dependency on jvm-attach. (#12989)
     add 414176fb97 Fix accounting of bytesAdded in ReadableByteChunksFrameChannel. (#12988)
     add f3c47cf68c Building druid-it-tools and running for travis in it.sh (#12957)
     add 2450b96ac8 FrameFile: Java 17 compatibility. (#12987)
     add 48ceab2153 Add Java 17 information to documentation. (#12990)
     add 054688528f don't show transform actions on * queries (#13005)
     add 5e850c6ea3 Make console e2e tests run in band so as to not hog task slots (#13004)
     add d73a011f70 Bump the version of Maven in the Dockerfile (#11994)
     add 85d2a6d879 Improve range partitioning docs. (#13016)
     add 0ae515bd3c Web console: don't crash if cookies are totally disabled (#13013)
     add 6805a7f9c2 Ease of hidding sensitive properties from /status/proper… (#12950)
     add 7d332c6f6a Suppress false CVEs (#13026)
     add 3d9aef225d compressed big decimal - module  (#10705)
     add 66545a0f3d Fix compiler error: The project was not built since its build path is incomplete. Cannot find the class file for org.slf4j.Logger. Fix the build path then try building this project (#13029)
     add d4233ef2a1 msq: add multi-stage-query docs (#12983)
     add 2cf449386f Web console: upgrade the console to use node 16 (#13017)
     add 2a039e7e6a Add CTA and fix typo (#13009)
     add 897689c03b remove mentions of DruidQueryRel from docs (#13033)
     add 1f69140623 Nested columns documentation (#12946)
     add ed26e2d634 Improve String Last/First Storage Efficiency (#12879)
     add a3a377e570 more consistent expression error messages (#12995)
     add ee22663dd3 Add interpolation to JsonConfigurator (#13023)
     add 7aa8d7f987 Add query/time metric for SQL queries from router (#12867)
     add 2f156b3610 Disallow timeseries queries with ETERNITY interval and non-ALL granularity (#12944)
     add f00f1f754d MSQ extension: Fix over-capacity write in ScanQueryFrameProcessor. (#13036)
     add 92789cfc4a default to no compare (#13041)
     add 7e20d70242 Fix web-console message in MSQ data loader (#12996)
     add 99fd22c79b fix bug in /status/properties filtering (#13045)
     add d57557d51d Improve doc and configuration of prometheus emitter (#13028)
     add 6438f4198d improve nested column serializer (#13051)
     add 48c99054d0 Update tutorial-kafka.md (#13056)
     add dced61645f prometheus-emitter supports sending metrics to pushgateway regularly … (#13034)
     add 5cc5f7b60c quote columns, datasources in auto complete if needed (#13060)
     add e29e7a8434 Add ARRAY_QUANTILE function. (#13061)
     add d978afc5b7 fix number of expected functions (#13050)
     add 4fc43670e5 adjust docs and images (#13067)
     add 4bde50e683 Bump the version of Druid docker image from 0.16.0-incubating to latest (#13058)
     add f60ec8e7ca Enable msq for docker by default (#13069)
     add 5ba0075c0c Expose HTTP Response headers from SqlResource (#13052)
     add eff7c64228 export com.sun.management.internal (#13068)
     add 80b97ac24d Create a copy of the shared JDBC context (#13049)
     add c00ad28ecc Cleaner JSON for various input sources and formats. (#13064)
     add 77925cdcdd Expressions: fixes for round-trips of floating point literals, Long.MIN_VALUE literals, Shuffle.visitAll. (#13037)
     add 08d6aca528 Web console: better detection for arrays containing objects (#13077)
     add fd6c05eee8 Avoid ClassCastException when getting values from `QueryContext` (#13022)
     add 54a2eb7dcc Compressed Big Decimal Cleanup and Extension (#13048)
     add a8fd3a9077 Provide service specific log4j overrides in containerized deployments (#13020)
     add f4ec50bf7a fix JsonParserIteratorTest (#13083)
     add 5733360dfd Update Snappy to 1.1.8.4. (#13081)
     add aa9b0900d4 Move web-console dependency declaration from druid-server to druid-distribution (#12501)
     add 1311e85f65 Faster fix for dangling tasks upon supervisor termination (#13072)
     add c153c2a712 Initialize NullValueHandlingConfig for failed tests  (#13078)
     add c32bf0df65 Docs - README.md community channels removal + link (#12843)
     add 078b50ebe1 link to error docs (#13094)
     add b8dd822f32 Some improvements about Docker (#13059)
     add 68262e43f8 Docs – README.md update around documentation contributions (#12850)
     add 2218c8d23c Documentation: Update spatial indexing example (#12555)
     add 5ece870634 split up NestedDataColumnSerializer into separate files (#13096)
     add 2493eb17bf Doc fixes around msq (#13090)
     add 9b53b0184f Allocate numCorePartitions using only used segments (#13070)
     add c62a822121 support kafka lookups (#13098)
     add d4967c38f8 Various documentation updates. (#13107)
     add da30c8070a kafka consumer: custom serializer can't be configured after it's instantiation (#12960) (#13097)
     add b366a6c5a4 Add clarification around docker environment #8926 (#13084)
     add d9b2968edb Docs: Clarify the situation with SELECT. (#13109)
     add de8f229bed Web console: correctly escape path based flatten specs (#13105)
     add 2e729170cc Kill task: Don't include markAsUnused unless set. (#13104)
     add bb0b810b1d fix html tags in docs (#13117)
     add 8ce03eb094 Convert the Druid planner to use statement handlers (#12905)
     add a0e0fbe1b3 nested column serializer performance improvement for sparse columns (#13101)
     add 48638a5438 Getting extension list from pom (#13073)
     add a3391693eb Improve a MSQ planning error message (#13113)
     add b9edfe34a4 be consistent about referring to the web console by its name (#13118)
     add 455b074b36 Move JDK11 ITs to cron stage (#13075)
     add edc444a4bc fix quickstart (#13126)
     add 5ed5c83aab Clarified the behaviour of SQL COUNT(DISTINCT dim) on multi-value dimensions (#13128)
     add 0039409817 Add test framework to simulate segment loading and balancing (#13074)
     add 90d14f629a spatial-filters (#13124)
     add 331e6d707b Add KafkaConfigOverrides extension point (#13122)
     add 2f731f356e Update pull-deps docs with correct repo list. (#13134)
     add 7fa35839c0 fix: follow naming convention for msq task engine (#13127)
     add 12f12a13a9 fix: fix broken postgres link (#13135)
     add eb760c3d1d update log4j example (#13095)
     add f1d3728371 append to exisitng callout (#13130)
     add 044cab5094 Optimize CompressedBigDecimal compareTo() (#13086)
     add 728745a1d3 Add IT for MSQ task engine using the new IT framework (#12992)
     add 6c1dc6589e initialize all counters for stages with input (#13137)
     add a910764e41 better spec conversion with issues (#13136)
     add 306f612f86 Suppress Calcite CVE (#13119)
     add 0bfa81b7df Fix the Injector creation in HadoopTask (#13138)
     add e839660b6a Grab the thread name in a poisoned pool (#13143)
     add 1f1fced6d4 Add JsonInputFormat option to assume newline delimited JSON, improve parse exception handling for multiline JSON (#13089)
     add 28b9edc2a8 Add BIG_SUM SQL function (#13102)
     add c8f4d72fb1 Fix documentation bug about injective lookups (#13147)
     add 0d7bf66578 Add a note to the documentation about pre-built HLLSketches (#13088)
     add 548d810baa Correct nested columns example (#13150)
     add acafd0d1e0 Upgrade kafka version to 3.2.3 to fix CVE (#13142)
     add 61b34950e7 Fix assertion error in sql planning for latest aggregators (#13151)
     add ce5f55e5ce Fix over-replication caused by balancing when inventory is not updated yet (#13114)
     add ebfe1c0c90 Web console: fix DQT import (#13159)
     add 92d2633ae6 Update ClusterByStatisticsCollectorImpl to use bytes instead of keys (#12998)
     add 4bfae1deee Docs: fix doc search (#13164)
     add 7fa53ff4b3 Exclude calcite from dependabot (#13160)
     add b07f01d645 Set useMaxMemoryEstimates=false by default (#13178)
     add e3f9a0ed44 Lazy initialization of segment killers, movers and archivers (#13170)
     add eff7edb603 update core Apache Kafka dependencies to 3.3.1 (#13176)
     add 41e51b21c3 Make http options the default configurations (#13092)
     add 0edceead80 msq: update known issue about GROUPING SETS and COUNT DISTINCT (#13185)
     add a08f1152f9 Merge remote-tracking branch 'apache/master' into dependabot/maven/org.apache.calcite.avatica-avatica-core-1.22.0

No new revisions were added by this update.

Summary of changes:
 .github/dependabot.yml                             |     7 +-
 .idea/inspectionProfiles/Druid.xml                 |    19 +-
 .lgtm.yml                                          |     2 +-
 .travis.yml                                        |    96 +-
 NOTICE                                             |     2 +-
 README.md                                          |    33 +-
 benchmarks/pom.xml                                 |     2 +-
 .../DruidSchemaInternRowSignatureBenchmark.java    |    20 +-
 .../benchmark/GroupByTypeInterfaceBenchmark.java   |     5 +-
 .../druid/benchmark/IPv4AddressBenchmark.java      |     3 +-
 .../druid/benchmark/query/GroupByBenchmark.java    |     5 +-
 .../apache/druid/benchmark/query/SqlBenchmark.java |    14 +-
 .../benchmark/query/SqlExpressionBenchmark.java    |    12 +-
 .../benchmark/query/SqlNestedDataBenchmark.java    |    13 +-
 .../benchmark/query/SqlVsNativeBenchmark.java      |     9 +-
 check_test_suite.py                                |     2 +-
 check_test_suite_test.py                           |     1 +
 cloud/aws-common/pom.xml                           |     2 +-
 cloud/gcp-common/pom.xml                           |     2 +-
 codestyle/spotbugs-exclude.xml                     |     7 +
 core/pom.xml                                       |    15 +-
 .../org/apache/druid/collections/StupidPool.java   |     5 +-
 .../org/apache/druid/common/utils/IdUtils.java     |     4 +-
 .../data/input/impl/CloudObjectInputSource.java    |     5 +
 .../druid/data/input/impl/FlatTextInputFormat.java |     6 +
 .../druid/data/input/impl/HttpInputSource.java     |     3 +
 .../input/impl/InputEntityIteratingReader.java     |     4 +-
 .../druid/data/input/impl/JsonInputFormat.java     |    79 +-
 .../druid/data/input/impl/JsonNodeReader.java      |   182 +
 .../druid/data/input/impl/LocalInputSource.java    |     4 +
 .../druid/data/input/impl/NestedInputFormat.java   |     2 +
 .../druid/data/input/impl/RegexInputFormat.java    |     3 +
 .../org/apache/druid/guice/JsonConfigurator.java   |    14 +-
 .../main/java/org/apache/druid/guice/PolyBind.java |    19 +-
 .../druid/guice/annotations/NativeQuery.java       |    40 +
 .../druid/java/util/common/ByteBufferUtils.java    |     3 -
 .../org/apache/druid/java/util/common/Either.java  |     4 +-
 .../apache/druid/java/util/common/FileUtils.java   |    64 +-
 .../java/util/common/MappedByteBufferHandler.java  |     9 +-
 .../util/common/parsers/JSONFlattenerMaker.java    |    37 +-
 .../java/util/common/parsers/ObjectFlatteners.java |     2 +-
 .../apache/druid/java/util/emitter/core/Event.java |     4 +-
 .../druid/java/util/emitter/core/EventMap.java     |   109 +
 .../java/util/emitter/core/EventMapSerializer.java |    40 +
 .../java/util/emitter/service/AlertEvent.java      |     6 +-
 .../util/emitter/service/ServiceMetricEvent.java   |    45 +-
 .../java/util/http/client/NettyHttpClient.java     |    97 +-
 .../util/http/client/pool/ResourceContainer.java   |     1 -
 .../java/util/http/client/pool/ResourcePool.java   |     6 -
 .../org/apache/druid/math/expr/ApplyFunction.java  |    82 +-
 .../apache/druid/math/expr/BinaryOperatorExpr.java |    12 +-
 .../org/apache/druid/math/expr/ConstantExpr.java   |    56 +-
 .../java/org/apache/druid/math/expr/Evals.java     |    15 +-
 .../main/java/org/apache/druid/math/expr/Expr.java |     2 +-
 .../java/org/apache/druid/math/expr/ExprEval.java  |   282 +-
 .../apache/druid/math/expr/ExprListenerImpl.java   |     3 +-
 .../org/apache/druid/math/expr/ExprMacroTable.java |     4 +-
 .../math/expr/ExpressionProcessingException.java   |    36 +
 .../druid/math/expr/ExpressionTypeFactory.java     |     2 +-
 .../math/expr/ExpressionValidationException.java   |    36 +
 .../java/org/apache/druid/math/expr/Function.java  |   317 +-
 .../org/apache/druid/math/expr/FunctionalExpr.java |     2 +-
 .../org/apache/druid/math/expr/NamedFunction.java  |   175 +
 .../java/org/apache/druid/math/expr/Parser.java    |     8 +
 .../apache/druid/math/expr/UnaryOperatorExpr.java  |     5 +
 .../expr/vector/CastToStringVectorProcessor.java   |    12 +-
 .../druid/math/expr/vector/VectorProcessors.java   |     8 +-
 .../metadata/MetadataStorageConnectorConfig.java   |     2 +
 .../metadata/MetadataStorageTablesConfig.java      |     2 +
 .../apache/druid/query/cache/CacheKeyBuilder.java  |    43 +-
 .../apache/druid/segment/column/ColumnType.java    |    61 +-
 .../org/apache/druid/segment/column/ValueType.java |    31 +-
 .../org/apache/druid/storage/StorageConnector.java |   107 +
 .../druid/storage/StorageConnectorModule.java      |    45 +
 .../druid/storage/StorageConnectorProvider.java    |    28 +
 .../storage/local/LocalFileStorageConnector.java   |   124 +
 .../local/LocalFileStorageConnectorProvider.java   |    59 +
 .../org/apache/druid/tasklogs/NoopTaskLogs.java    |     4 +-
 .../org/apache/druid/tasklogs/TaskLogStreamer.java |     9 +-
 .../java/org/apache/druid/utils/Throwables.java    |     4 +-
 .../java/org/apache/druid/common/EitherTest.java   |     5 +-
 .../input/impl/CloudObjectInputSourceTest.java     |     8 +-
 .../data/input/impl/HttpInputSourceConfigTest.java |     1 -
 .../input/impl/InputEntityIteratingReaderTest.java |     2 +-
 .../druid/data/input/impl/JsonInputFormatTest.java |    12 +-
 .../druid/data/input/impl/JsonLineReaderTest.java  |    16 +-
 .../druid/data/input/impl/JsonNodeReaderTest.java  |   475 +
 .../druid/data/input/impl/JsonReaderTest.java      |    28 +-
 .../PrefetchableTextFilesFirehoseFactoryTest.java  |     3 +
 .../apache/druid/guice/JsonConfiguratorTest.java   |    74 +
 .../java/org/apache/druid/guice/PolyBindTest.java  |     8 +-
 .../druid/java/util/common/FileUtilsTest.java      |    32 +
 .../common/parsers/JSONFlattenerMakerTest.java     |   172 +
 .../util/common/parsers/ObjectFlattenersTest.java  |     4 +
 .../druid/java/util/emitter/core/IntEvent.java     |     4 +-
 .../emitter/service/ServiceMetricEventTest.java    |     1 +
 .../druid/java/util/emitter/service/UnitEvent.java |    15 +-
 .../java/util/http/client/FriendlyServersTest.java |     3 +
 .../apache/druid/java/util/metrics/GcNameTest.java |    33 -
 .../java/util/metrics/StubServiceEmitter.java      |    20 +-
 .../apache/druid/math/expr/ApplyFunctionTest.java  |    57 +-
 .../org/apache/druid/math/expr/ExprEvalTest.java   |    11 +-
 .../org/apache/druid/math/expr/FunctionTest.java   |   102 +-
 .../org/apache/druid/math/expr/ParserTest.java     |    60 +-
 .../druid/storage/StorageConnectorModuleTest.java  |    66 +
 .../local/LocalFileStorageConnectorTest.java       |   126 +
 core/src/test/resources/list.json                  |     5 +
 dev/intellij-setup.md                              |     6 +-
 dev/license.md                                     |     2 +-
 distribution/asf-release-process-guide.md          |    82 +-
 .../bin/generate-license-dependency-reports.py     |     3 +-
 distribution/bin/web-console-dep-lister.py         |     2 +-
 distribution/docker/Dockerfile                     |    37 +-
 distribution/docker/README.md                      |    33 +-
 distribution/docker/druid.sh                       |    40 +-
 distribution/docker/environment                    |    13 +-
 distribution/pom.xml                               |    14 +-
 .../msq-ui-download-query-results.png              |   Bin 0 -> 62538 bytes
 .../multi-stage-query/tutorial-msq-convert.png     |   Bin 0 -> 80379 bytes
 docs/assets/multi-stage-query/ui-annotated.png     |   Bin 0 -> 227968 bytes
 docs/assets/multi-stage-query/ui-empty.png         |   Bin 0 -> 77306 bytes
 docs/assets/nested-combined-json.png               |   Bin 0 -> 272858 bytes
 docs/assets/nested-display-data-types.png          |   Bin 0 -> 254224 bytes
 docs/assets/nested-examine-schema.png              |   Bin 0 -> 251706 bytes
 docs/assets/nested-extract-as-type.png             |   Bin 0 -> 288918 bytes
 docs/assets/nested-extract-elements.png            |   Bin 0 -> 317905 bytes
 docs/assets/nested-group-aggregate.png             |   Bin 0 -> 249178 bytes
 docs/assets/nested-msq-ingestion-transform.png     |   Bin 0 -> 370419 bytes
 docs/assets/nested-msq-ingestion.png               |   Bin 0 -> 302033 bytes
 docs/assets/nested-parse-deserialize.png           |   Bin 0 -> 213791 bytes
 docs/assets/nested-retrieve-json.png               |   Bin 0 -> 295566 bytes
 docs/assets/nested-return-json.png                 |   Bin 0 -> 349144 bytes
 docs/assets/tutorial-query-01.png                  |   Bin 81402 -> 48774 bytes
 docs/assets/tutorial-query-02.png                  |   Bin 155423 -> 86083 bytes
 docs/assets/tutorial-query-03.png                  |   Bin 197392 -> 120017 bytes
 docs/assets/tutorial-query-035.png                 |   Bin 256043 -> 0 bytes
 docs/assets/tutorial-query-04.png                  |   Bin 250861 -> 135419 bytes
 docs/assets/tutorial-query-05.png                  |   Bin 51855 -> 153221 bytes
 docs/assets/tutorial-query-06.png                  |   Bin 208088 -> 138730 bytes
 docs/assets/tutorial-query-07.png                  |   Bin 260071 -> 149016 bytes
 docs/assets/tutorial-query-08.png                  |   Bin 297253 -> 0 bytes
 docs/assets/tutorial-quickstart-01.png             |   Bin 122497 -> 68216 bytes
 docs/assets/tutorial-quickstart-02.png             |   Bin 0 -> 115511 bytes
 docs/assets/tutorial-quickstart-03.png             |   Bin 0 -> 171269 bytes
 docs/assets/tutorial-quickstart-04.png             |   Bin 0 -> 129369 bytes
 docs/assets/tutorial-quickstart-05.png             |   Bin 0 -> 110367 bytes
 docs/assets/tutorial-theta-01.png                  |   Bin 0 -> 160923 bytes
 docs/assets/tutorial-theta-02.png                  |   Bin 0 -> 149124 bytes
 docs/assets/tutorial-theta-03.png                  |   Bin 0 -> 183232 bytes
 docs/assets/tutorial-theta-04.png                  |   Bin 0 -> 162593 bytes
 docs/assets/tutorial-theta-05.png                  |   Bin 0 -> 215624 bytes
 docs/assets/tutorial-theta-06.png                  |   Bin 0 -> 146114 bytes
 docs/assets/tutorial-theta-07.png                  |   Bin 0 -> 125992 bytes
 docs/assets/tutorial-theta-08.png                  |   Bin 0 -> 70597 bytes
 docs/assets/tutorial-theta-09.png                  |   Bin 0 -> 86495 bytes
 docs/assets/tutorial-theta-10.png                  |   Bin 0 -> 86440 bytes
 docs/assets/tutorial-theta-11.png                  |   Bin 0 -> 86126 bytes
 docs/configuration/index.md                        |   106 +-
 docs/configuration/logging.md                      |   123 +-
 docs/data-management/automatic-compaction.md       |   198 +
 docs/data-management/compaction.md                 |   227 +
 docs/data-management/delete.md                     |   103 +
 docs/data-management/index.md                      |    34 +
 docs/data-management/schema-changes.md             |    39 +
 docs/data-management/update.md                     |    76 +
 docs/design/architecture.md                        |     4 +-
 docs/design/broker.md                              |     2 +
 docs/design/coordinator.md                         |    10 +-
 docs/design/historical.md                          |    18 +-
 docs/design/indexer.md                             |     2 -
 docs/design/middlemanager.md                       |     2 +
 docs/design/overlord.md                            |     6 +-
 docs/design/peons.md                               |     2 +
 docs/design/processes.md                           |     2 +-
 docs/design/router.md                              |     8 +-
 docs/design/segments.md                            |     2 +-
 docs/development/build.md                          |     2 +-
 .../extensions-contrib/compressed-big-decimal.md   |   241 +
 .../extensions-contrib/kafka-emitter.md            |     2 +-
 docs/development/extensions-contrib/prometheus.md  |    70 +-
 .../extensions-core/approximate-histograms.md      |     8 +-
 .../extensions-core/datasketches-extension.md      |     1 +
 .../extensions-core/datasketches-hll.md            |     5 +
 .../extensions-core/datasketches-kll.md            |   138 +
 .../extensions-core/datasketches-quantiles.md      |     2 +-
 docs/development/extensions-core/druid-kerberos.md |     2 +-
 docs/development/extensions-core/druid-pac4j.md    |     2 +-
 .../extensions-core/kafka-extraction-namespace.md  |    60 +-
 .../development/extensions-core/kafka-ingestion.md |     4 +-
 .../extensions-core/kafka-supervisor-reference.md  |     2 +-
 .../extensions-core/kinesis-ingestion.md           |     2 -
 .../extensions-core/lookups-cached-global.md       |     3 -
 docs/development/extensions-core/postgresql.md     |     2 +-
 docs/development/extensions.md                     |     2 +
 docs/development/geo.md                            |   141 +-
 docs/development/modules.md                        |     4 +-
 docs/ingestion/automatic-compaction.md             |   198 -
 docs/ingestion/compaction.md                       |   227 -
 docs/ingestion/data-formats.md                     |    27 +-
 docs/ingestion/data-management.md                  |   130 -
 docs/ingestion/data-model.md                       |     2 +-
 docs/ingestion/faq.md                              |    30 +-
 docs/ingestion/index.md                            |    54 +-
 docs/ingestion/ingestion-spec.md                   |    16 +-
 docs/ingestion/native-batch-firehose.md            |     2 +-
 docs/ingestion/native-batch-input-source.md        |    18 +-
 docs/ingestion/native-batch-simple-task.md         |    15 +-
 docs/ingestion/native-batch.md                     |    30 +-
 docs/ingestion/partitioning.md                     |    21 +-
 docs/ingestion/rollup.md                           |     7 +-
 docs/ingestion/schema-design.md                    |    16 +-
 docs/ingestion/tasks.md                            |    30 +-
 docs/misc/math-expr.md                             |    35 +-
 docs/multi-stage-query/api.md                      |   622 +
 docs/multi-stage-query/concepts.md                 |   285 +
 docs/multi-stage-query/examples.md                 |   476 +
 docs/multi-stage-query/index.md                    |    74 +
 docs/multi-stage-query/known-issues.md             |    71 +
 docs/multi-stage-query/reference.md                |   258 +
 docs/multi-stage-query/security.md                 |    49 +
 docs/operations/api-reference.md                   |    10 +-
 docs/operations/auth-ldap.md                       |     2 +-
 docs/operations/basic-cluster-tuning.md            |     2 +-
 docs/operations/clean-metadata-store.md            |     2 +-
 docs/operations/druid-console.md                   |   145 -
 docs/operations/java.md                            |    29 +-
 docs/operations/kubernetes.md                      |     4 +-
 docs/operations/management-uis.md                  |    64 -
 docs/operations/metrics.md                         |     7 +
 docs/operations/pull-deps.md                       |     4 +-
 docs/operations/request-logging.md                 |     1 +
 docs/operations/rule-configuration.md              |     6 +-
 docs/operations/security-overview.md               |     4 +-
 docs/operations/security-user-auth.md              |    40 +-
 docs/operations/segment-optimization.md            |    10 +-
 docs/operations/tls-support.md                     |     4 +-
 docs/operations/web-console.md                     |   176 +
 docs/querying/dimensionspecs.md                    |     2 -
 docs/querying/filters.md                           |    15 +-
 docs/querying/groupbyquery.md                      |     1 +
 docs/querying/lookups.md                           |    12 +-
 docs/querying/nested-columns.md                    |   597 +
 docs/querying/query-context.md                     |     1 +
 docs/querying/querying.md                          |     2 +-
 docs/querying/searchquery.md                       |     1 +
 docs/querying/sql-aggregations.md                  |     4 +-
 docs/querying/sql-data-types.md                    |    53 +-
 docs/querying/sql-functions.md                     |    67 +
 docs/querying/sql-json-functions.md                |    72 +
 docs/querying/sql-query-context.md                 |     2 +-
 docs/querying/sql-translation.md                   |   154 +-
 docs/querying/timeseriesquery.md                   |     1 +
 docs/querying/topnquery.md                         |     1 +
 docs/querying/virtual-columns.md                   |   111 +-
 docs/tutorials/docker.md                           |    22 +-
 docs/tutorials/index.md                            |   310 +-
 docs/tutorials/tutorial-batch-native.md            |   155 +
 docs/tutorials/tutorial-batch.md                   |    12 +-
 docs/tutorials/tutorial-compaction.md              |     6 +-
 docs/tutorials/tutorial-kafka.md                   |     7 +-
 docs/tutorials/tutorial-msq-convert-spec.md        |   172 +
 docs/tutorials/tutorial-msq-extern.md              |   147 +
 docs/tutorials/tutorial-query.md                   |    30 +-
 docs/tutorials/tutorial-retention.md               |     4 +-
 docs/tutorials/tutorial-sketches-theta.md          |   327 +
 examples/bin/greet                                 |    32 +
 examples/bin/run-druid                             |     4 +-
 examples/bin/run-java                              |    13 +-
 examples/bin/run-zk                                |     4 +-
 examples/bin/supervise                             |    21 +-
 .../cluster/_common/common.runtime.properties      |     4 +-
 .../master/coordinator-overlord/runtime.properties |     2 +-
 .../large/_common/common.runtime.properties        |     4 +-
 .../large/coordinator-overlord/runtime.properties  |     2 +-
 .../medium/_common/common.runtime.properties       |     4 +-
 .../medium/coordinator-overlord/runtime.properties |     2 +-
 .../_common/common.runtime.properties              |     4 +-
 .../coordinator-overlord/runtime.properties        |     2 +-
 .../_common/common.runtime.properties              |     4 +-
 .../coordinator-overlord/runtime.properties        |     2 +-
 .../small/_common/common.runtime.properties        |     4 +-
 .../small/coordinator-overlord/runtime.properties  |     2 +-
 .../xlarge/_common/common.runtime.properties       |     4 +-
 .../xlarge/coordinator-overlord/runtime.properties |     2 +-
 examples/conf/supervise/single-server/large.conf   |     1 +
 examples/conf/supervise/single-server/medium.conf  |     1 +
 .../supervise/single-server/micro-quickstart.conf  |     1 +
 .../supervise/single-server/nano-quickstart.conf   |     1 +
 examples/conf/supervise/single-server/small.conf   |     1 +
 examples/conf/supervise/single-server/xlarge.conf  |     1 +
 extendedset/pom.xml                                |     2 +-
 extensions-contrib/aliyun-oss-extensions/pom.xml   |     2 +-
 .../apache/druid/storage/aliyun/OssTaskLogs.java   |    59 +-
 .../data/input/aliyun/OssInputSourceTest.java      |    10 +-
 .../storage/aliyun/OssStorageDruidModuleTest.java  |    12 +-
 .../druid/storage/aliyun/OssTaskLogsTest.java      |   165 +-
 extensions-contrib/ambari-metrics-emitter/pom.xml  |     2 +-
 extensions-contrib/cassandra-storage/pom.xml       |     2 +-
 extensions-contrib/cloudfiles-extensions/pom.xml   |     2 +-
 extensions-contrib/compressed-bigdecimal/pom.xml   |   156 +
 .../ArrayCompressedBigDecimal.java                 |   185 +
 .../ByteBufferCompressedBigDecimal.java            |   127 +
 .../compressedbigdecimal/CompressedBigDecimal.java |   424 +
 .../CompressedBigDecimalAggregateCombiner.java     |    99 +
 .../CompressedBigDecimalAggregator.java            |   106 +
 .../CompressedBigDecimalAggregatorFactory.java     |   337 +
 .../CompressedBigDecimalBufferAggregator.java      |   128 +
 .../CompressedBigDecimalColumn.java                |   134 +
 .../CompressedBigDecimalColumnPartSupplier.java    |    89 +
 .../CompressedBigDecimalJsonSerializer.java        |    44 +
 .../CompressedBigDecimalLongColumnSerializer.java  |   122 +
 .../CompressedBigDecimalMetricSerde.java           |   100 +
 .../CompressedBigDecimalModule.java                |    68 +
 .../CompressedBigDecimalObjectStrategy.java        |    94 +
 .../CompressedBigDecimalSqlAggregator.java         |   206 +
 .../compressedbigdecimal/ObjBiIntConsumer.java     |    40 +
 .../apache/druid/compressedbigdecimal/Utils.java   |   206 +
 .../org.apache.druid.initialization.DruidModule    |    16 +
 .../AggregatorCombinerFactoryTest.java             |   203 +
 .../ArrayCompressedBigDecimalTest.java             |   591 +
 .../CompressedBigDecimalAggregatorGroupByTest.java |   163 +
 ...mpressedBigDecimalAggregatorTimeseriesTest.java |   167 +
 .../CompressedBigDecimalSqlAggregatorTest.java     |   264 +
 .../src/test/resources/bd_test_aggregators.json    |     9 +
 .../src/test/resources/bd_test_data.csv            |     6 +
 .../src/test/resources/bd_test_data_parser.json    |    31 +
 .../src/test/resources/bd_test_groupby_query.json  |    33 +
 .../test/resources/bd_test_timeseries_query.json   |    25 +
 .../src/test/resources/bd_test_zero_data.csv       |     1 +
 extensions-contrib/distinctcount/pom.xml           |     2 +-
 .../DistinctCountAggregatorFactory.java            |     6 +
 .../DistinctCountGroupByQueryTest.java             |    13 +
 extensions-contrib/dropwizard-emitter/pom.xml      |     2 +-
 extensions-contrib/gce-extensions/pom.xml          |     2 +-
 extensions-contrib/graphite-emitter/pom.xml        |     2 +-
 extensions-contrib/influx-extensions/pom.xml       |     2 +-
 extensions-contrib/influxdb-emitter/pom.xml        |     2 +-
 extensions-contrib/kafka-emitter/pom.xml           |     7 +-
 .../apache/druid/emitter/kafka/KafkaEmitter.java   |    27 +-
 .../materialized-view-maintenance/pom.xml          |     2 +-
 .../materialized-view-selection/pom.xml            |     2 +-
 .../materializedview/MaterializedViewQuery.java    |    46 +-
 .../MaterializedViewQueryTest.java                 |    35 +
 extensions-contrib/momentsketch/pom.xml            |     2 +-
 .../aggregator/MomentSketchAggregatorFactory.java  |     6 +
 .../MomentSketchMergeAggregatorFactory.java        |     6 +
 .../MomentSketchAggregatorFactoryTest.java         |    17 +
 extensions-contrib/moving-average-query/pom.xml    |     2 +-
 .../movingaverage/AveragerFactoryWrapper.java      |    26 +
 .../averagers/AveragerFactoryWrapperTest.java      |    38 +
 extensions-contrib/opentelemetry-emitter/pom.xml   |     2 +-
 .../opentelemetry/OpenTelemetryEmitterTest.java    |     6 +-
 extensions-contrib/opentsdb-emitter/pom.xml        |     2 +-
 extensions-contrib/prometheus-emitter/pom.xml      |     2 +-
 .../apache/druid/emitter/prometheus/Metrics.java   |     6 +-
 .../emitter/prometheus/PrometheusEmitter.java      |    12 +
 .../prometheus/PrometheusEmitterConfig.java        |    29 +-
 .../emitter/prometheus/PrometheusEmitterTest.java  |    74 +-
 extensions-contrib/redis-cache/pom.xml             |     2 +-
 .../sqlserver-metadata-storage/pom.xml             |     2 +-
 extensions-contrib/statsd-emitter/pom.xml          |     2 +-
 extensions-contrib/tdigestsketch/pom.xml           |     2 +-
 .../TDigestSketchAggregatorFactory.java            |     6 +
 .../TDigestSketchAggregatorFactoryTest.java        |     8 +
 .../sql/TDigestSketchSqlAggregatorTest.java        |    20 +-
 extensions-contrib/thrift-extensions/pom.xml       |     2 +-
 extensions-contrib/time-min-max/pom.xml            |     2 +-
 .../aggregation/TimestampMaxAggregatorFactory.java |     6 +
 .../aggregation/TimestampMinAggregatorFactory.java |     6 +
 .../TimestampMinMaxAggregatorFactoryTest.java      |    12 +
 extensions-contrib/virtual-columns/pom.xml         |     2 +-
 extensions-core/avro-extensions/pom.xml            |     2 +-
 .../druid/data/input/avro/AvroFlattenerMaker.java  |    18 +-
 .../druid/data/input/avro/AvroOCFInputFormat.java  |     7 +-
 .../data/input/AvroStreamInputRowParserTest.java   |    43 +-
 .../data/input/avro/AvroFlattenerMakerTest.java    |    45 +-
 extensions-core/azure-extensions/pom.xml           |     2 +-
 .../apache/druid/storage/azure/AzureTaskLogs.java  |    60 +-
 .../storage/azure/AzureStorageDruidModuleTest.java |     6 +-
 .../druid/storage/azure/AzureTaskLogsTest.java     |    26 +-
 extensions-core/datasketches/pom.xml               |     2 +-
 .../hll/HllSketchBuildAggregatorFactory.java       |     7 +
 .../hll/HllSketchMergeAggregatorFactory.java       |     6 +
 .../kll/KllDoublesSketchAggregatorFactory.java     |   234 +
 .../kll/KllDoublesSketchBuildAggregator.java       |    40 +
 .../kll/KllDoublesSketchBuildBufferAggregator.java |    50 +
 ...llDoublesSketchBuildBufferAggregatorHelper.java |    55 +
 .../kll/KllDoublesSketchBuildVectorAggregator.java |   104 +
 .../kll/KllDoublesSketchComplexMetricSerde.java    |   112 +
 .../kll/KllDoublesSketchJsonSerializer.java        |    39 +
 .../kll/KllDoublesSketchMergeAggregator.java       |    50 +
 .../KllDoublesSketchMergeAggregatorFactory.java    |    77 +
 .../kll/KllDoublesSketchMergeBufferAggregator.java |    43 +
 ...llDoublesSketchMergeBufferAggregatorHelper.java |    57 +
 .../kll/KllDoublesSketchMergeVectorAggregator.java |   105 +
 .../kll/KllDoublesSketchObjectStrategy.java        |    63 +
 .../kll/KllDoublesSketchOperations.java            |    59 +
 .../kll/KllDoublesSketchToCDFPostAggregator.java   |   160 +
 .../KllDoublesSketchToHistogramPostAggregator.java |   221 +
 .../KllDoublesSketchToQuantilePostAggregator.java  |   144 +
 .../KllDoublesSketchToQuantilesPostAggregator.java |   158 +
 .../kll/KllDoublesSketchToRankPostAggregator.java  |   144 +
 .../KllDoublesSketchToStringPostAggregator.java    |   134 +
 .../kll/KllFloatsSketchAggregatorFactory.java      |   234 +
 .../kll/KllFloatsSketchBuildAggregator.java        |    40 +
 .../kll/KllFloatsSketchBuildBufferAggregator.java  |    50 +
 ...KllFloatsSketchBuildBufferAggregatorHelper.java |    55 +
 .../kll/KllFloatsSketchBuildVectorAggregator.java  |   104 +
 .../kll/KllFloatsSketchComplexMetricSerde.java     |   112 +
 .../kll/KllFloatsSketchJsonSerializer.java         |    39 +
 .../kll/KllFloatsSketchMergeAggregator.java        |    50 +
 .../kll/KllFloatsSketchMergeAggregatorFactory.java |    77 +
 .../kll/KllFloatsSketchMergeBufferAggregator.java  |    43 +
 ...KllFloatsSketchMergeBufferAggregatorHelper.java |    57 +
 .../kll/KllFloatsSketchMergeVectorAggregator.java  |   105 +
 .../kll/KllFloatsSketchObjectStrategy.java         |    63 +
 .../kll/KllFloatsSketchOperations.java             |    59 +
 .../kll/KllFloatsSketchToCDFPostAggregator.java    |   160 +
 .../KllFloatsSketchToHistogramPostAggregator.java  |   221 +
 .../KllFloatsSketchToQuantilePostAggregator.java   |   144 +
 .../KllFloatsSketchToQuantilesPostAggregator.java  |   158 +
 .../kll/KllFloatsSketchToRankPostAggregator.java   |   144 +
 .../kll/KllFloatsSketchToStringPostAggregator.java |   134 +
 .../kll/KllSketchAggregatorFactory.java            |   279 +
 .../datasketches/kll/KllSketchBuildAggregator.java |    62 +
 .../kll/KllSketchBuildBufferAggregator.java        |    89 +
 .../kll/KllSketchBuildBufferAggregatorHelper.java  |   109 +
 .../datasketches/kll/KllSketchMergeAggregator.java |    62 +
 .../kll/KllSketchMergeAggregatorFactory.java       |    70 +
 .../kll/KllSketchMergeBufferAggregator.java        |    86 +
 .../kll/KllSketchMergeBufferAggregatorHelper.java  |   113 +
 .../datasketches/kll/KllSketchModule.java          |   104 +
 .../datasketches/kll/KllSketchNoOpAggregator.java  |    60 +
 .../kll/KllSketchNoOpBufferAggregator.java         |   104 +
 .../aggregation/datasketches/kll/package-info.java |    23 +
 .../quantiles/DoublesSketchAggregatorFactory.java  |     6 +
 .../DoublesSketchMergeAggregatorFactory.java       |     6 +
 .../theta/SketchMergeAggregatorFactory.java        |    13 +
 .../oldapi/OldSketchBuildAggregatorFactory.java    |     7 +
 .../oldapi/OldSketchMergeAggregatorFactory.java    |     8 +
 .../ArrayOfDoublesSketchAggregatorFactory.java     |    26 +-
 .../org.apache.druid.initialization.DruidModule    |     1 +
 .../hll/HllSketchAggregatorFactoryTest.java        |    17 +
 .../hll/HllSketchMergeAggregatorFactoryTest.java   |     8 +
 .../hll/sql/HllSketchSqlAggregatorTest.java        |    15 +-
 .../datasketches/kll/GenerateTestData.java         |   101 +
 .../kll/KllDoublesSketchAggregatorFactoryTest.java |   156 +
 .../kll/KllDoublesSketchAggregatorTest.java        |   632 +
 .../KllDoublesSketchComplexMetricSerdeTest.java    |    95 +
 ...KllDoublesSketchMergeAggregatorFactoryTest.java |    63 +
 .../KllDoublesSketchToCDFPostAggregatorTest.java   |   184 +
 ...DoublesSketchToHistogramPostAggregatorTest.java |   220 +
 ...lDoublesSketchToQuantilePostAggregatorTest.java |    73 +
 ...DoublesSketchToQuantilesPostAggregatorTest.java |   186 +
 .../KllDoublesSketchToRankPostAggregatorTest.java  |   159 +
 ...KllDoublesSketchToStringPostAggregatorTest.java |    89 +
 .../kll/KllFloatsSketchAggregatorFactoryTest.java  |   156 +
 .../kll/KllFloatsSketchAggregatorTest.java         |   632 +
 .../kll/KllFloatsSketchComplexMetricSerdeTest.java |    95 +
 .../KllFloatsSketchMergeAggregatorFactoryTest.java |    63 +
 .../KllFloatsSketchToCDFPostAggregatorTest.java    |   184 +
 ...lFloatsSketchToHistogramPostAggregatorTest.java |   220 +
 ...llFloatsSketchToQuantilePostAggregatorTest.java |    73 +
 ...lFloatsSketchToQuantilesPostAggregatorTest.java |   186 +
 .../KllFloatsSketchToRankPostAggregatorTest.java   |   159 +
 .../KllFloatsSketchToStringPostAggregatorTest.java |    89 +
 .../DoublesSketchAggregatorFactoryTest.java        |    13 +
 .../DoublesSketchMergeAggregatorFactoryTest.java   |    12 +
 .../sql/DoublesSketchSqlAggregatorTest.java        |    20 +-
 .../theta/SketchAggregatorFactoryTest.java         |     7 +
 .../theta/oldapi/OldApiSketchAggregationTest.java  |    17 +
 .../theta/sql/ThetaSketchSqlAggregatorTest.java    |    12 +-
 .../ArrayOfDoublesSketchAggregatorFactoryTest.java |     8 +
 .../kll/kll_doubles_sketch_build_data.tsv          |   400 +
 .../test/resources/kll/kll_doubles_sketch_data.tsv |    20 +
 .../resources/kll/kll_floats_sketch_build_data.tsv |   400 +
 .../test/resources/kll/kll_floats_sketch_data.tsv  |    20 +
 extensions-core/druid-aws-rds-extensions/pom.xml   |     2 +-
 extensions-core/druid-basic-security/pom.xml       |     2 +-
 .../druid/security/basic/CommonCacheNotifier.java  |     2 +-
 ...natorPollingBasicAuthenticatorCacheManager.java |     2 +-
 ...orBasicAuthenticatorMetadataStorageUpdater.java |     2 +-
 ...rdinatorPollingBasicAuthorizerCacheManager.java |     4 +-
 ...natorBasicAuthorizerMetadataStorageUpdater.java |     2 +-
 extensions-core/druid-bloom-filter/pom.xml         |     2 +-
 .../bloom/BloomFilterAggregatorFactory.java        |     6 +
 .../bloom/BloomFilterMergeAggregatorFactory.java   |     6 +
 .../query/expressions/BloomFilterExpressions.java  |    27 +-
 .../bloom/BloomFilterAggregatorFactoryTest.java    |    21 +
 .../expressions/BloomFilterExpressionsTest.java    |     6 +-
 .../query/filter/sql/BloomDimFilterSqlTest.java    |    17 +-
 extensions-core/druid-kerberos/pom.xml             |     2 +-
 extensions-core/druid-pac4j/pom.xml                |     2 +-
 extensions-core/druid-ranger-security/pom.xml      |     2 +-
 extensions-core/ec2-extensions/pom.xml             |     2 +-
 extensions-core/google-extensions/pom.xml          |     2 +-
 .../druid/storage/google/GoogleTaskLogs.java       |    48 +-
 .../google/GoogleCloudStorageInputSourceTest.java  |     8 +-
 .../google/GoogleStorageDruidModuleTest.java       |     4 +-
 .../druid/storage/google/GoogleTaskLogsTest.java   |    14 +-
 extensions-core/hdfs-storage/pom.xml               |     2 +-
 .../druid/storage/hdfs/tasklog/HdfsTaskLogs.java   |    40 +-
 .../indexing/common/tasklogs/HdfsTaskLogsTest.java |     2 +-
 .../storage/hdfs/HdfsStorageDruidModuleTest.java   |     4 +-
 extensions-core/histogram/pom.xml                  |     2 +-
 .../ApproximateHistogramAggregatorFactory.java     |    14 +
 ...proximateHistogramFoldingAggregatorFactory.java |    14 +
 .../FixedBucketsHistogramAggregatorFactory.java    |    14 +
 .../ApproximateHistogramAggregatorTest.java        |    16 +
 ...ximateHistogramFoldingVectorAggregatorTest.java |     8 +
 .../FixedBucketsHistogramBufferAggregatorTest.java |    16 +
 ...dBucketsHistogramQuantileSqlAggregatorTest.java |    12 +-
 .../histogram/sql/QuantileSqlAggregatorTest.java   |    12 +-
 extensions-core/kafka-extraction-namespace/pom.xml |     2 +-
 .../query/lookup/KafkaLookupExtractorFactory.java  |    30 +-
 .../lookup/KafkaLookupExtractorFactoryTest.java    |    16 +
 .../query/lookup/TestKafkaExtractionCluster.java   |    72 +
 extensions-core/kafka-indexing-service/pom.xml     |     2 +-
 .../druid/indexing/kafka/KafkaIndexTask.java       |     6 +-
 .../indexing/kafka/KafkaIndexTaskIOConfig.java     |    23 +-
 .../druid/indexing/kafka/KafkaRecordSupplier.java  |    39 +-
 .../druid/indexing/kafka/KafkaSamplerSpec.java     |     2 +-
 .../indexing/kafka/supervisor/KafkaSupervisor.java |     9 +-
 .../kafka/supervisor/KafkaSupervisorIOConfig.java  |    14 +-
 .../input/kafkainput/KafkaInputFormatTest.java     |    15 +-
 .../druid/indexing/kafka/KafkaIOConfigTest.java    |     1 +
 .../druid/indexing/kafka/KafkaIndexTaskTest.java   |   136 +-
 .../indexing/kafka/KafkaRecordSupplierTest.java    |   118 +-
 .../druid/indexing/kafka/KafkaSamplerSpecTest.java |    14 +-
 .../supervisor/KafkaSupervisorIOConfigTest.java    |     1 +
 .../kafka/supervisor/KafkaSupervisorTest.java      |    14 +-
 extensions-core/kinesis-indexing-service/pom.xml   |     2 +-
 .../indexing/kinesis/KinesisRecordSupplier.java    |     7 +-
 .../indexing/kinesis/KinesisSamplerSpecTest.java   |     7 +-
 .../kinesis/supervisor/KinesisSupervisorTest.java  |     5 +-
 extensions-core/kubernetes-extensions/pom.xml      |     2 +-
 extensions-core/lookups-cached-global/pom.xml      |     2 +-
 extensions-core/lookups-cached-single/pom.xml      |     2 +-
 extensions-core/multi-stage-query/README.md        |   141 +
 extensions-core/multi-stage-query/pom.xml          |   299 +
 .../org/apache/druid/guice/annotations/MSQ.java    |    40 +
 .../apache/druid/msq/counters/ChannelCounters.java |   274 +
 .../apache/druid/msq/counters/CounterNames.java    |   142 +
 .../druid/msq/counters/CounterSnapshots.java       |    75 +
 .../msq/counters/CounterSnapshotsSerializer.java   |    55 +
 .../druid/msq/counters/CounterSnapshotsTree.java   |   104 +
 .../apache/druid/msq/counters/CounterTracker.java  |    74 +
 .../apache/druid/msq/counters/QueryCounter.java    |    32 +
 .../druid/msq/counters/QueryCounterSnapshot.java   |    31 +
 .../SuperSorterProgressTrackerCounter.java         |    71 +
 .../apache/druid/msq/counters/WarningCounters.java |    94 +
 .../java/org/apache/druid/msq/exec/Controller.java |   125 +
 .../apache/druid/msq/exec/ControllerClient.java    |    81 +
 .../apache/druid/msq/exec/ControllerContext.java   |    82 +
 .../org/apache/druid/msq/exec/ControllerImpl.java  |  2171 ++
 .../msq/exec/ExceptionWrappingWorkerClient.java    |   145 +
 .../java/org/apache/druid/msq/exec/Limits.java     |    61 +
 .../java/org/apache/druid/msq/exec/MSQTasks.java   |   216 +
 .../org/apache/druid/msq/exec/QueryValidator.java  |    77 +
 .../druid/msq/exec/TaskDataSegmentProvider.java    |   115 +
 .../java/org/apache/druid/msq/exec/Worker.java     |   108 +
 .../org/apache/druid/msq/exec/WorkerClient.java    |    84 +
 .../org/apache/druid/msq/exec/WorkerContext.java   |    76 +
 .../java/org/apache/druid/msq/exec/WorkerImpl.java |  1249 +
 .../apache/druid/msq/exec/WorkerManagerClient.java |    57 +
 .../druid/msq/exec/WorkerMemoryParameters.java     |   294 +
 .../druid/msq/guice/MSQDurableStorageModule.java   |    86 +
 .../msq/guice/MSQExternalDataSourceModule.java     |    52 +
 .../apache/druid/msq/guice/MSQIndexingModule.java  |   201 +
 .../druid/msq/guice/MSQServiceClientModule.java    |    86 +
 .../org/apache/druid/msq/guice/MSQSqlModule.java   |    80 +
 .../apache/druid/msq/guice/MultiStageQuery.java    |    34 +
 .../org/apache/druid/msq/guice/SqlTaskModule.java  |    53 +
 .../apache/druid/msq/indexing/ColumnMapping.java   |    82 +
 .../apache/druid/msq/indexing/ColumnMappings.java  |   144 +
 .../druid/msq/indexing/ControllerChatHandler.java  |   194 +
 .../msq/indexing/CountableInputSourceReader.java   |    58 +
 .../msq/indexing/CountingOutputChannelFactory.java |    64 +
 .../msq/indexing/CountingReadableFrameChannel.java |    75 +
 .../msq/indexing/CountingWritableFrameChannel.java |    71 +
 .../msq/indexing/DataSourceMSQDestination.java     |   163 +
 .../msq/indexing/IndexerControllerClient.java      |   182 +
 .../msq/indexing/IndexerControllerContext.java     |   123 +
 .../druid/msq/indexing/IndexerFrameContext.java    |   120 +
 .../druid/msq/indexing/IndexerWorkerClient.java    |   271 +
 .../druid/msq/indexing/IndexerWorkerContext.java   |   296 +
 .../msq/indexing/IndexerWorkerManagerClient.java   |    81 +
 .../druid/msq/indexing/InputChannelFactory.java    |    38 +
 .../druid/msq/indexing/InputChannelsImpl.java      |   211 +
 .../indexing/KeyStatisticsCollectionProcessor.java |   183 +
 .../druid/msq/indexing/MSQControllerTask.java      |   222 +
 .../apache/druid/msq/indexing/MSQDestination.java  |    33 +
 .../druid/msq/indexing/MSQPartitionAssignment.java |    96 +
 .../org/apache/druid/msq/indexing/MSQSpec.java     |   160 +
 .../org/apache/druid/msq/indexing/MSQTaskList.java |    71 +
 .../apache/druid/msq/indexing/MSQTuningConfig.java |   140 +
 .../apache/druid/msq/indexing/MSQWorkerTask.java   |   115 +
 .../druid/msq/indexing/MSQWorkerTaskLauncher.java  |   487 +
 .../indexing/SegmentGeneratorFrameProcessor.java   |   295 +
 .../SegmentGeneratorFrameProcessorFactory.java     |   373 +
 .../msq/indexing/TaskReportMSQDestination.java     |    45 +
 .../druid/msq/indexing/WorkerChatHandler.java      |   222 +
 .../druid/msq/indexing/error/BaseMSQFault.java     |   121 +
 .../error/BroadcastTablesTooLargeFault.java        |    72 +
 .../druid/msq/indexing/error/CanceledFault.java    |    41 +
 .../error/CannotParseExternalDataFault.java        |    35 +
 .../indexing/error/ColumnNameRestrictedFault.java  |    75 +
 .../error/ColumnTypeNotSupportedFault.java         |    89 +
 .../error/DurableStorageConfigurationFault.java    |    80 +
 .../msq/indexing/error/FaultsExceededChecker.java  |    92 +
 .../error/InsertCannotAllocateSegmentFault.java    |    82 +
 .../indexing/error/InsertCannotBeEmptyFault.java   |    72 +
 .../error/InsertCannotOrderByDescendingFault.java  |    72 +
 .../InsertCannotReplaceExistingSegmentFault.java   |    76 +
 .../indexing/error/InsertLockPreemptedFault.java   |    45 +
 .../msq/indexing/error/InsertTimeNullFault.java    |    42 +
 .../indexing/error/InsertTimeOutOfBoundsFault.java |    66 +
 .../msq/indexing/error/InvalidNullByteFault.java   |    71 +
 .../druid/msq/indexing/error/MSQErrorReport.java   |   200 +
 .../druid/msq/indexing/error/MSQException.java     |    51 +
 .../apache/druid/msq/indexing/error/MSQFault.java  |    49 +
 .../error/MSQWarningReportLimiterPublisher.java    |    96 +
 .../indexing/error/MSQWarningReportPublisher.java  |    35 +
 .../error/MSQWarningReportSimplePublisher.java     |    72 +
 .../druid/msq/indexing/error/MSQWarnings.java      |    36 +
 .../msq/indexing/error/NotEnoughMemoryFault.java   |   108 +
 .../msq/indexing/error/QueryNotSupportedFault.java |    41 +
 .../druid/msq/indexing/error/RowTooLargeFault.java |    69 +
 .../msq/indexing/error/TaskStartTimeoutFault.java  |    76 +
 .../msq/indexing/error/TooManyBucketsFault.java    |    77 +
 .../msq/indexing/error/TooManyColumnsFault.java    |    80 +
 .../msq/indexing/error/TooManyInputFilesFault.java |   102 +
 .../msq/indexing/error/TooManyPartitionsFault.java |    74 +
 .../msq/indexing/error/TooManyWarningsFault.java   |    80 +
 .../msq/indexing/error/TooManyWorkersFault.java    |    89 +
 .../druid/msq/indexing/error/UnknownFault.java     |    84 +
 .../msq/indexing/error/WorkerFailedFault.java      |    86 +
 .../msq/indexing/error/WorkerRpcFailedFault.java   |    69 +
 .../msq/indexing/report/MSQResultsReport.java      |    84 +
 .../druid/msq/indexing/report/MSQStagesReport.java |   248 +
 .../druid/msq/indexing/report/MSQStatusReport.java |   135 +
 .../druid/msq/indexing/report/MSQTaskReport.java   |    64 +
 .../msq/indexing/report/MSQTaskReportPayload.java  |    85 +
 .../org/apache/druid/msq/input/InputSlice.java     |    40 +
 .../apache/druid/msq/input/InputSliceReader.java   |    50 +
 .../org/apache/druid/msq/input/InputSlices.java    |    65 +
 .../java/org/apache/druid/msq/input/InputSpec.java |    30 +
 .../apache/druid/msq/input/InputSpecSlicer.java    |    50 +
 .../druid/msq/input/InputSpecSlicerFactory.java    |    36 +
 .../org/apache/druid/msq/input/InputSpecs.java     |    50 +
 .../druid/msq/input/MapInputSliceReader.java       |    70 +
 .../apache/druid/msq/input/MapInputSpecSlicer.java |    73 +
 .../org/apache/druid/msq/input/NilInputSlice.java  |    60 +
 .../druid/msq/input/NilInputSliceReader.java       |    55 +
 .../org/apache/druid/msq/input/NilInputSource.java |    90 +
 .../org/apache/druid/msq/input/ReadableInput.java  |   112 +
 .../org/apache/druid/msq/input/ReadableInputs.java |    92 +
 .../org/apache/druid/msq/input/SlicerUtils.java    |   129 +
 .../msq/input/external/ExternalInputSlice.java     |   111 +
 .../input/external/ExternalInputSliceReader.java   |   243 +
 .../msq/input/external/ExternalInputSpec.java      |   106 +
 .../input/external/ExternalInputSpecSlicer.java    |   166 +
 .../input/stage/CollectedReadablePartitions.java   |   126 +
 .../input/stage/CombinedReadablePartitions.java    |   111 +
 .../druid/msq/input/stage/InputChannels.java       |    42 +
 .../druid/msq/input/stage/ReadablePartition.java   |   118 +
 .../druid/msq/input/stage/ReadablePartitions.java  |   100 +
 .../druid/msq/input/stage/StageInputSlice.java     |    96 +
 .../msq/input/stage/StageInputSliceReader.java     |    96 +
 .../druid/msq/input/stage/StageInputSpec.java      |    75 +
 .../msq/input/stage/StageInputSpecSlicer.java      |    82 +
 .../msq/input/stage/StripedReadablePartitions.java |   132 +
 .../msq/input/table/RichSegmentDescriptor.java     |   119 +
 .../msq/input/table/SegmentWithDescriptor.java     |    78 +
 .../druid/msq/input/table/SegmentsInputSlice.java  |   103 +
 .../msq/input/table/SegmentsInputSliceReader.java  |   100 +
 .../druid/msq/input/table/TableInputSpec.java      |   130 +
 .../msq/input/table/TableInputSpecSlicer.java      |   196 +
 .../apache/druid/msq/kernel/ExtraInfoHolder.java   |    80 +
 .../org/apache/druid/msq/kernel/FrameContext.java  |    60 +
 .../druid/msq/kernel/FrameProcessorFactory.java    |   105 +
 .../druid/msq/kernel/MaxCountShuffleSpec.java      |   137 +
 .../druid/msq/kernel/NilExtraInfoHolder.java       |    40 +
 .../druid/msq/kernel/ProcessorsAndChannels.java    |    54 +
 .../apache/druid/msq/kernel/QueryDefinition.java   |   169 +
 .../druid/msq/kernel/QueryDefinitionBuilder.java   |    87 +
 .../org/apache/druid/msq/kernel/ShuffleSpec.java   |    72 +
 .../apache/druid/msq/kernel/StageDefinition.java   |   353 +
 .../druid/msq/kernel/StageDefinitionBuilder.java   |   126 +
 .../java/org/apache/druid/msq/kernel/StageId.java  |   115 +
 .../apache/druid/msq/kernel/StagePartition.java    |    86 +
 .../druid/msq/kernel/TargetSizeShuffleSpec.java    |   132 +
 .../org/apache/druid/msq/kernel/WorkOrder.java     |   143 +
 .../druid/msq/kernel/WorkerAssignmentStrategy.java |   119 +
 .../kernel/controller/ControllerQueryKernel.java   |   546 +
 .../kernel/controller/ControllerStagePhase.java    |   118 +
 .../kernel/controller/ControllerStageTracker.java  |   412 +
 .../druid/msq/kernel/controller/WorkerInputs.java  |   179 +
 .../druid/msq/kernel/worker/WorkerStageKernel.java |   217 +
 .../druid/msq/kernel/worker/WorkerStagePhase.java  |    87 +
 .../msq/querykit/BaseFrameProcessorFactory.java    |    72 +
 .../druid/msq/querykit/BaseLeafFrameProcessor.java |   216 +
 .../querykit/BaseLeafFrameProcessorFactory.java    |   306 +
 .../druid/msq/querykit/BroadcastJoinHelper.java    |   205 +
 .../druid/msq/querykit/DataSegmentProvider.java    |    37 +
 .../msq/querykit/DataSegmentTimelineView.java      |    49 +
 .../apache/druid/msq/querykit/DataSourcePlan.java  |   384 +
 .../druid/msq/querykit/InputNumberDataSource.java  |   116 +
 .../druid/msq/querykit/LazyResourceHolder.java     |    73 +
 .../apache/druid/msq/querykit/MultiQueryKit.java   |    68 +
 .../org/apache/druid/msq/querykit/QueryKit.java    |    52 +
 .../apache/druid/msq/querykit/QueryKitUtils.java   |   222 +
 .../druid/msq/querykit/ShuffleSpecFactories.java   |    51 +
 .../druid/msq/querykit/ShuffleSpecFactory.java     |    35 +
 .../querykit/common/OffsetLimitFrameProcessor.java |   168 +
 .../common/OffsetLimitFrameProcessorFactory.java   |   162 +
 .../groupby/GroupByPostShuffleFrameProcessor.java  |   324 +
 .../GroupByPostShuffleFrameProcessorFactory.java   |   131 +
 .../groupby/GroupByPreShuffleFrameProcessor.java   |   228 +
 .../GroupByPreShuffleFrameProcessorFactory.java    |    90 +
 .../msq/querykit/groupby/GroupByQueryKit.java      |   302 +
 .../msq/querykit/scan/ScanQueryFrameProcessor.java |   309 +
 .../scan/ScanQueryFrameProcessorFactory.java       |   106 +
 .../druid/msq/querykit/scan/ScanQueryKit.java      |   173 +
 .../druid/msq/rpc/CoordinatorServiceClient.java    |    40 +
 .../msq/rpc/CoordinatorServiceClientImpl.java      |    90 +
 .../shuffle/DurableStorageInputChannelFactory.java |   122 +
 .../DurableStorageOutputChannelFactory.java        |   142 +
 .../msq/shuffle/WorkerInputChannelFactory.java     |   101 +
 .../java/org/apache/druid/msq/sql/MSQMode.java     |    81 +
 .../apache/druid/msq/sql/MSQTaskQueryMaker.java    |   298 +
 .../org/apache/druid/msq/sql/MSQTaskSqlEngine.java |   294 +
 .../org/apache/druid/msq/sql/SqlTaskResource.java  |   337 +
 .../org/apache/druid/msq/sql/SqlTaskStatus.java    |   104 +
 .../statistics/ClusterByStatisticsCollector.java   |    97 +
 .../ClusterByStatisticsCollectorImpl.java          |   438 +
 .../statistics/ClusterByStatisticsSnapshot.java    |   133 +
 .../msq/statistics/DelegateOrMinKeyCollector.java  |   180 +
 .../DelegateOrMinKeyCollectorFactory.java          |   122 +
 .../DelegateOrMinKeyCollectorSnapshot.java         |    87 +
 .../druid/msq/statistics/DistinctKeyCollector.java |   315 +
 .../statistics/DistinctKeyCollectorFactory.java    |    87 +
 .../druid/msq/statistics/DistinctKeySnapshot.java  |    94 +
 .../apache/druid/msq/statistics/KeyCollector.java  |    83 +
 .../druid/msq/statistics/KeyCollectorFactory.java  |    46 +
 .../druid/msq/statistics/KeyCollectorSnapshot.java |    27 +
 .../KeyCollectorSnapshotDeserializerModule.java    |    34 +
 .../apache/druid/msq/statistics/KeyCollectors.java |    51 +
 .../statistics/QuantilesSketchKeyCollector.java    |   192 +
 .../QuantilesSketchKeyCollectorFactory.java        |   149 +
 .../QuantilesSketchKeyCollectorSnapshot.java       |    71 +
 .../msq/statistics/TooManyBucketsException.java    |    38 +
 .../druid/msq/util/DecoratedExecutorService.java   |   162 +
 .../druid/msq/util/DimensionSchemaUtils.java       |    70 +
 .../org/apache/druid/msq/util/IntervalUtils.java   |    64 +
 .../org/apache/druid/msq/util/MSQFutureUtils.java  |    70 +
 .../druid/msq/util/MultiStageQueryContext.java     |   237 +
 .../druid/msq/util/PassthroughAggregator.java      |    78 +
 .../msq/util/PassthroughAggregatorFactory.java     |   208 +
 .../org/apache/druid/msq/util/SequenceUtils.java   |    44 +
 .../apache/druid/msq/util/SupplierIterator.java    |    57 +
 .../org.apache.druid.initialization.DruidModule    |    21 +
 .../src/main/resources/log4j2.xml                  |    38 +
 .../apache/druid/msq/TestArrayStorageAdapter.java  |    56 +
 .../msq/counters/CountersSnapshotTreeTest.java     |    49 +
 .../org/apache/druid/msq/exec/MSQInsertTest.java   |   661 +
 .../org/apache/druid/msq/exec/MSQReplaceTest.java  |   506 +
 .../org/apache/druid/msq/exec/MSQSelectTest.java   |  1122 +
 .../org/apache/druid/msq/exec/MSQTasksTest.java    |   247 +
 .../apache/druid/msq/exec/QueryValidatorTest.java  |   144 +
 .../druid/msq/exec/WorkerMemoryParametersTest.java |   116 +
 .../druid/msq/indexing/ColumnMappingTest.java      |    36 +
 .../msq/indexing/DataSourceMSQDestinationTest.java |    37 +
 .../msq/indexing/IndexerWorkerContextTest.java     |    87 +
 .../msq/indexing/MSQPartitionAssignmentTest.java   |    57 +
 .../org/apache/druid/msq/indexing/MSQSpecTest.java |    36 +
 .../druid/msq/indexing/MSQTuningConfigTest.java    |    64 +
 .../error/InsertLockPreemptedFaultTest.java        |    74 +
 .../msq/indexing/error/MSQFaultSerdeTest.java      |    97 +
 .../druid/msq/indexing/error/MSQWarningsTest.java  |   404 +
 .../msq/indexing/report/MSQTaskReportTest.java     |   214 +
 .../org/apache/druid/msq/input/InputSpecsTest.java |    43 +
 .../apache/druid/msq/input/NilInputSliceTest.java  |    50 +
 .../msq/input/external/ExternalInputSliceTest.java |    65 +
 .../external/ExternalInputSpecSlicerTest.java      |   320 +
 .../msq/input/external/ExternalInputSpecTest.java  |    63 +
 .../stage/CollectedReadablePartitionsTest.java     |    83 +
 .../stage/CombinedReadablePartitionsTest.java      |    95 +
 .../msq/input/stage/ReadablePartitionTest.java     |    32 +
 .../druid/msq/input/stage/StageInputSliceTest.java |    54 +
 .../msq/input/stage/StageInputSpecSlicerTest.java  |   120 +
 .../druid/msq/input/stage/StageInputSpecTest.java  |    51 +
 .../input/stage/StripedReadablePartitionsTest.java |    91 +
 .../msq/input/table/RichSegmentDescriptorTest.java |    88 +
 .../msq/input/table/SegmentWithDescriptorTest.java |    32 +
 .../msq/input/table/SegmentsInputSliceTest.java    |    63 +
 .../msq/input/table/TableInputSpecSlicerTest.java  |   493 +
 .../druid/msq/input/table/TableInputSpecTest.java  |    78 +
 .../druid/msq/kernel/QueryDefinitionTest.java      |    76 +
 .../druid/msq/kernel/StageDefinitionTest.java      |    35 +
 .../org/apache/druid/msq/kernel/StageIdTest.java   |    76 +
 .../org/apache/druid/msq/kernel/WorkOrderTest.java |    35 +
 .../controller/BaseControllerQueryKernelTest.java  |   320 +
 .../controller/ControllerQueryKernelTests.java     |   383 +
 .../controller/ControllerTestInputSlice.java       |    31 +
 .../kernel/controller/ControllerTestInputSpec.java |    26 +
 .../controller/ControllerTestInputSpecSlicer.java  |    57 +
 .../controller/MockQueryDefinitionBuilder.java     |   221 +
 .../msq/kernel/controller/WorkerInputsTest.java    |    32 +
 .../msq/querykit/BroadcastJoinHelperTest.java      |   278 +
 .../querykit/scan/ScanQueryFrameProcessorTest.java |   240 +
 .../java/org/apache/druid/msq/sql/MSQModeTest.java |    57 +
 .../druid/msq/sql/MSQTaskQueryMakerTest.java       |    53 +
 .../apache/druid/msq/sql/SqlTaskStatusTest.java    |    60 +
 .../ClusterByStatisticsCollectorImplTest.java      |   951 +
 .../statistics/DelegateOrMinKeyCollectorTest.java  |   163 +
 .../msq/statistics/DistinctKeyCollectorTest.java   |   247 +
 .../msq/statistics/KeyCollectorTestUtils.java      |   296 +
 .../QuantilesSketchKeyCollectorSnapshotTest.java   |    39 +
 .../QuantilesSketchKeyCollectorTest.java           |   248 +
 .../org/apache/druid/msq/test/MSQTestBase.java     |  1081 +
 .../druid/msq/test/MSQTestControllerClient.java    |    94 +
 .../druid/msq/test/MSQTestControllerContext.java   |   261 +
 .../msq/test/MSQTestDelegateDataSegmentPusher.java |    72 +
 .../msq/test/MSQTestOverlordServiceClient.java     |   119 +
 .../druid/msq/test/MSQTestSegmentManager.java      |    84 +
 .../druid/msq/test/MSQTestTaskActionClient.java    |    98 +
 .../apache/druid/msq/test/MSQTestWorkerClient.java |   128 +
 .../druid/msq/test/MSQTestWorkerContext.java       |   183 +
 .../apache/druid/msq/util/IntervalUtilsTest.java   |    91 +
 .../druid/msq/util/MultiStageQueryContextTest.java |   191 +
 .../msq/util/PassthroughAggregatorFactoryTest.java |    77 +
 .../src/test/resources/unparseable.gz              |   Bin 0 -> 538 bytes
 .../resources/wikipedia-sampled-unparsable.json    |     3 +
 .../src/test/resources/wikipedia-sampled.json      |    20 +
 extensions-core/mysql-metadata-storage/pom.xml     |     2 +-
 .../metadata/storage/mysql/MySQLConnector.java     |     2 +-
 .../storage/mysql/MySQLConnectorDriverConfig.java  |     5 +-
 extensions-core/orc-extensions/pom.xml             |    16 +-
 .../druid/data/input/orc/OrcInputFormat.java       |    10 +-
 .../druid/data/input/orc/OrcInputFormatTest.java   |    79 +
 extensions-core/parquet-extensions/pom.xml         |     2 +-
 .../data/input/parquet/ParquetInputFormat.java     |     2 +
 .../postgresql-metadata-storage/pom.xml            |     2 +-
 extensions-core/protobuf-extensions/pom.xml        |     2 +-
 extensions-core/s3-extensions/pom.xml              |    12 +-
 .../apache/druid/data/input/s3/S3InputSource.java  |    46 +-
 .../druid/data/input/s3/S3InputSourceConfig.java   |    24 +-
 .../org/apache/druid/storage/s3/S3TaskLogs.java    |    58 +-
 .../storage/s3/ServerSideEncryptingAmazonS3.java   |    38 +-
 .../druid/storage/s3/ServerSideEncryption.java     |    13 +
 .../storage/s3/output/RetryableS3OutputStream.java |   381 +
 .../druid/storage/s3/output/S3OutputConfig.java    |   219 +
 .../storage/s3/output/S3StorageConnector.java      |   136 +
 .../s3/output/S3StorageConnectorModule.java        |    44 +
 .../s3/output/S3StorageConnectorProvider.java      |    59 +
 .../org.apache.druid.initialization.DruidModule    |     1 +
 .../data/input/s3/S3InputSourceConfigTest.java     |    70 +
 .../druid/data/input/s3/S3InputSourceTest.java     |    18 +-
 .../storage/s3/S3StorageConnectorProviderTest.java |   158 +
 .../druid/storage/s3/S3StorageDruidModuleTest.java |    12 +-
 .../apache/druid/storage/s3/S3TaskLogsTest.java    |   180 +-
 .../s3/output/RetryableS3OutputStreamTest.java     |   352 +
 .../storage/s3/output/S3OutputConfigTest.java      |   144 +
 .../druid/storage/s3/output/S3OutputSerdeTest.java |   161 +
 .../storage/s3/output/S3StorageConnectorTest.java  |   156 +
 extensions-core/simple-client-sslcontext/pom.xml   |     2 +-
 extensions-core/stats/pom.xml                      |     2 +-
 .../variance/VarianceAggregatorFactory.java        |     6 +
 .../variance/VarianceFoldingAggregatorFactory.java |     7 +
 .../variance/VarianceObjectVectorAggregator.java   |    20 +-
 .../variance/VarianceAggregatorFactoryTest.java    |    16 +
 .../VarianceObjectVectorAggregatorTest.java        |    63 +
 .../variance/sql/VarianceSqlAggregatorTest.java    |    18 +-
 extensions-core/testing-tools/.gitignore           |     1 +
 extensions-core/testing-tools/pom.xml              |     2 +-
 .../druid/query/expressions/SleepExprMacro.java    |     8 +-
 .../org/apache/druid/query/sql/SleepSqlTest.java   |     2 +-
 hll/pom.xml                                        |     2 +-
 indexing-hadoop/pom.xml                            |     2 +-
 indexing-service/pom.xml                           |     2 +-
 .../common/IngestionStatsAndErrorsTaskReport.java  |    11 -
 .../common/MultipleFileTaskReportFileWriter.java   |     6 +-
 .../common/SingleFileTaskReportFileWriter.java     |    31 +-
 .../druid/indexing/common/config/TaskConfig.java   |     3 +-
 .../druid/indexing/common/task/AbstractTask.java   |     2 +-
 .../indexing/common/task/HadoopIndexTask.java      |     1 +
 .../druid/indexing/common/task/HadoopTask.java     |    11 +-
 .../common/task/KillUnusedSegmentsTask.java        |     2 +
 .../apache/druid/indexing/common/task/Tasks.java   |     2 +-
 .../indexing/common/tasklogs/FileTaskLogs.java     |    27 +-
 .../common/tasklogs/SwitchingTaskLogStreamer.java  |    77 +-
 .../common/tasklogs/TaskRunnerTaskLogStreamer.java |     6 +-
 .../druid/indexing/overlord/ForkingTaskRunner.java |    15 +-
 .../druid/indexing/overlord/RemoteTaskRunner.java  |    82 +-
 .../apache/druid/indexing/overlord/TaskMaster.java |    13 +
 .../apache/druid/indexing/overlord/TaskQueue.java  |   176 +-
 .../indexing/overlord/ThreadingTaskRunner.java     |     4 +-
 .../overlord/hrtr/HttpRemoteTaskRunner.java        |    81 +-
 .../overlord/http/OverlordRedirectInfo.java        |     8 +-
 .../indexing/overlord/http/OverlordResource.java   |    10 +-
 .../overlord/sampler/InputSourceSampler.java       |    45 +-
 .../indexing/overlord/sampler/SamplerConfig.java   |    54 +-
 .../extension/KafkaConfigOverrides.java            |    45 +
 .../supervisor/SeekableStreamSupervisor.java       |    23 +-
 .../druid/indexing/worker/http/WorkerResource.java |     6 +-
 .../indexing/common/task/AppenderatorsTest.java    |     6 +-
 .../common/task/BatchAppenderatorsTest.java        |     6 +-
 .../common/task/CompactionTaskParallelRunTest.java |     5 +-
 .../druid/indexing/common/task/IndexTaskTest.java  |    65 +-
 .../indexing/common/task/TaskReportSerdeTest.java  |    23 +-
 .../common/task/TestAppenderatorsManager.java      |     6 +-
 ...ltiPhaseParallelIndexingWithNullColumnTest.java |     6 +-
 .../parallel/ParallelIndexSupervisorTaskTest.java  |     2 +-
 .../parallel/ParallelIndexTestingFactory.java      |     2 +-
 .../PartialHashSegmentGenerateTaskTest.java        |     4 +-
 .../parallel/SinglePhaseParallelIndexingTest.java  |     2 +
 .../batch/parallel/SinglePhaseSubTaskSpecTest.java |     2 +-
 .../indexing/common/tasklogs/FileTaskLogsTest.java |     6 +-
 .../tasklogs/SwitchingTaskLogStreamerTest.java     |   238 +
 .../indexing/overlord/RemoteTaskRunnerTest.java    |     2 +-
 .../overlord/http/OverlordRedirectInfoTest.java    |    19 +-
 .../druid/indexing/overlord/http/OverlordTest.java |    23 +-
 .../sampler/CsvInputSourceSamplerTest.java         |     3 +-
 .../overlord/sampler/InputSourceSamplerTest.java   |   121 +-
 .../SeekableStreamIndexTaskTestBase.java           |     2 +
 .../SeekableStreamSupervisorSpecTest.java          |     6 +-
 .../seekablestream/StreamChunkParserTest.java      |     6 +-
 .../SeekableStreamSupervisorStateManagerTest.java  |    26 +
 .../SeekableStreamSupervisorStateTest.java         |    93 +-
 integration-tests-ex/.gitignore                    |     1 +
 integration-tests-ex/README.md                     |   134 +
 integration-tests-ex/cases/.gitignore              |     1 +
 .../cases/assets}/log4j2.xml                       |     0
 integration-tests-ex/cases/cluster.sh              |   201 +
 .../cases/cluster/BatchIndex/docker-compose.yaml   |    98 +
 .../cases/cluster/Common/dependencies.yaml         |   166 +
 .../cases/cluster/Common/druid.yaml                |   177 +
 .../cluster/Common/environment-configs/auth.env    |    53 +
 .../cluster/Common/environment-configs/broker.env  |    53 +
 .../cluster/Common/environment-configs/common.env  |   117 +
 .../Common/environment-configs/coordinator.env     |    39 +
 .../Common/environment-configs/historical.env      |    30 +
 .../cluster/Common/environment-configs/indexer.env |    35 +
 .../Common/environment-configs/middlemanager.env   |    37 +
 .../Common/environment-configs/overlord.env        |    30 +
 .../cluster/Common/environment-configs/router.env  |    37 +
 .../cluster/HighAvailability/docker-compose.yaml   |   157 +
 .../cluster/MultiStageQuery/docker-compose.yaml    |    95 +
 integration-tests-ex/cases/pom.xml                 |   391 +
 integration-tests-ex/cases/resources/README.md     |    42 +
 .../batch_index/avro/wikipedia_index_data1.avro    |   Bin
 .../batch_index/avro/wikipedia_index_data2.avro    |   Bin
 .../batch_index/avro/wikipedia_index_data3.avro    |   Bin
 .../data/batch_index/csv/wikipedia_index_data1.csv |     0
 .../data/batch_index/csv/wikipedia_index_data2.csv |     0
 .../data/batch_index/csv/wikipedia_index_data3.csv |     0
 .../data/batch_index/hadoop_tsv/batch_hadoop.data  |     0
 .../batch_index/json/wikipedia_index_data1.json    |     0
 .../batch_index/json/wikipedia_index_data2.json    |     0
 .../batch_index/json/wikipedia_index_data3.json    |     0
 .../data/batch_index/orc/wikipedia_index_data1.orc |   Bin
 .../data/batch_index/orc/wikipedia_index_data2.orc |   Bin
 .../data/batch_index/orc/wikipedia_index_data3.orc |   Bin
 .../parquet/wikipedia_index_data1.parquet          |   Bin
 .../parquet/wikipedia_index_data2.parquet          |   Bin
 .../parquet/wikipedia_index_data3.parquet          |   Bin
 .../data/batch_index/tsv/wikipedia_index_data1.tsv |     0
 .../data/batch_index/tsv/wikipedia_index_data2.tsv |     0
 .../data/batch_index/tsv/wikipedia_index_data3.tsv |     0
 .../indexer/wikipedia_combining_index_data.json    |     0
 .../wikipedia_index_queries_only_data3.json        |     0
 .../indexer/wikipedia_realtime_index_data.json     |     0
 .../druid/testsEx/categories/BatchIndex.java       |    25 +
 .../druid/testsEx/categories/HighAvailability.java |    25 +
 .../druid/testsEx/categories/MultiStageQuery.java  |    25 +
 .../druid/testsEx/cluster/DruidClusterClient.java  |   340 +
 .../apache/druid/testsEx/cluster/KafkaClient.java  |    83 +
 .../druid/testsEx/cluster/MetastoreClient.java     |    88 +
 .../druid/testsEx/cluster/ZooKeeperClient.java     |    85 +
 .../org/apache/druid/testsEx/config/Cluster.java   |    48 +
 .../apache/druid/testsEx/config/ClusterConfig.java |   342 +
 .../druid/testsEx/config/ClusterConfigTest.java    |   108 +
 .../org/apache/druid/testsEx/config/Configure.java |    42 +
 .../druid/testsEx/config/DruidTestRunner.java      |   208 +
 .../apache/druid/testsEx/config/Initializer.java   |   598 +
 .../testsEx/config/IntegrationTestingConfigEx.java |   421 +
 .../apache/druid/testsEx/config/KafkaConfig.java   |    37 +
 .../druid/testsEx/config/MetastoreConfig.java      |   121 +
 .../apache/druid/testsEx/config/MetastoreStmt.java |    78 +
 .../druid/testsEx/config/ResolvedConfig.java       |   398 +
 .../druid/testsEx/config/ResolvedDruidService.java |   145 +
 .../druid/testsEx/config/ResolvedMetastore.java    |   128 +
 .../druid/testsEx/config/ResolvedService.java      |   219 +
 .../apache/druid/testsEx/config/ServiceConfig.java |   116 +
 .../druid/testsEx/config/ServiceInstance.java      |   124 +
 .../apache/druid/testsEx/config/TestConfigs.java   |    66 +
 .../testsEx/indexer/AbstractITBatchIndexTest.java  |   502 +
 .../druid/testsEx/indexer/AbstractIndexerTest.java |   188 +
 .../AbstractLocalInputSourceParallelIndexTest.java |   115 +
 .../ITBestEffortRollupParallelIndexTest.java       |   250 +
 .../ITCombiningFirehoseFactoryIndexTest.java       |   101 +
 .../ITCombiningInputSourceParallelIndexTest.java   |   130 +
 .../druid/testsEx/indexer/ITIndexerTest.java       |   386 +
 .../testsEx/indexer/ITOverwriteBatchIndexTest.java |   166 +
 .../indexer/ITSystemTableBatchIndexTaskTest.java   |    72 +
 .../druid/testsEx/indexer/ITTransformTest.java     |   125 +
 .../testsEx/leadership/ITHighAvailabilityTest.java |   246 +
 .../druid/testsEx/msq/ITMultiStageQuery.java       |   125 +
 .../testsEx/utils/DruidClusterAdminClient.java     |   328 +
 .../test/resources/cluster/BatchIndex/docker.yaml  |    40 +
 .../src/test/resources/cluster/Common/kafka.yaml   |    22 +
 .../resources/cluster/Common/zk-metastore.yaml     |    28 +
 .../resources/cluster/HighAvailability/docker.yaml |   204 +
 .../cluster/HighAvailability/queries/sys.json      |     0
 .../resources/cluster/MultiStageQuery/docker.yaml  |    40 +
 .../cases/src/test/resources/config-test/test.yaml |    85 +
 .../indexer/broadcast_join_index_task.json         |     0
 .../resources/indexer/json_path_index_queries.json |     0
 .../resources/indexer/json_path_index_task.json    |     0
 .../resources/indexer/segment_metadata_query.json  |     0
 .../indexer/sparse_column_index_queries.json       |     0
 .../indexer/sparse_column_index_task.json          |     0
 .../sparse_column_with_dim_compaction_task.json    |     0
 .../sparse_column_without_dim_compaction_task.json |     0
 .../indexer/sys_segment_batch_index_queries.json   |     0
 .../indexer/wikipedia_cloud_index_task.json        |     0
 .../indexer/wikipedia_cloud_simple_index_task.json |     0
 ...wikipedia_combining_firehose_index_queries.json |     0
 .../wikipedia_combining_firehose_index_task.json   |     0
 ...combining_input_source_index_parallel_task.json |     0
 .../indexer/wikipedia_compaction_task.json         |     0
 ...edia_compaction_task_with_granularity_spec.json |     0
 ...a_compaction_task_with_segment_granularity.json |     0
 ...ingestion_non_perfect_rollup_index_queries.json |     0
 ...ble_ingestion_perfect_rollup_index_queries.json |     0
 .../wikipedia_http_inputsource_queries.json        |     0
 .../indexer/wikipedia_http_inputsource_task.json   |     0
 .../resources/indexer/wikipedia_index_queries.json |     0
 ...pedia_index_queries_hour_query_granularity.json |     0
 .../wikipedia_index_queries_with_transform.json    |     0
 ...pedia_index_queries_year_query_granularity.json |     0
 .../indexer/wikipedia_index_rollup_queries.json    |     0
 .../resources/indexer/wikipedia_index_task.json    |     0
 .../wikipedia_index_task_with_dimension_spec.json  |     0
 ...wikipedia_index_task_with_granularity_spec.json |     0
 ...edia_index_task_with_inputsource_transform.json |     0
 .../wikipedia_index_task_with_transform.json       |     0
 ...kipedia_index_with_merge_column_limit_task.json |     0
 .../wikipedia_local_input_source_index_task.json   |     0
 .../indexer/wikipedia_merge_index_queries.json     |     0
 .../indexer/wikipedia_merge_index_task.json        |     0
 ...edia_merge_reindex_druid_input_source_task.json |     0
 .../indexer/wikipedia_merge_reindex_task.json      |     0
 .../wikipedia_override_credentials_index_task.json |     0
 ...dia_parallel_druid_input_source_index_task.json |     0
 .../indexer/wikipedia_parallel_index_queries.json  |     0
 .../indexer/wikipedia_parallel_index_task.json     |     0
 ...a_parallel_index_using_sqlinputsource_task.json |     0
 ...kipedia_parallel_ingest_segment_index_task.json |     0
 .../wikipedia_parallel_reindex_queries.json        |     0
 .../indexer/wikipedia_parallel_reindex_task.json   |     0
 ...ipedia_realtime_appenderator_index_queries.json |     0
 ...wikipedia_realtime_appenderator_index_task.json |     0
 .../indexer/wikipedia_realtime_index_queries.json  |     0
 .../indexer/wikipedia_realtime_index_task.json     |     0
 .../wikipedia_reindex_druid_input_source_task.json |     0
 ...ex_druid_input_source_task_with_transforms.json |     0
 .../indexer/wikipedia_reindex_queries.json         |     0
 .../wikipedia_reindex_queries_with_transforms.json |     0
 .../resources/indexer/wikipedia_reindex_task.json  |     0
 .../wikipedia_reindex_task_with_transforms.json    |     0
 .../indexer/wikipedia_union_index_task.json        |     0
 .../wikipedia_with_timestamp_index_task.json       |     0
 .../resources/indexer/wikiticker_index_task.json   |     0
 .../wikipedia_msq_select_query1.json               |    31 +
 integration-tests-ex/docs/compose.md               |   238 +
 integration-tests-ex/docs/conversion.md            |   292 +
 integration-tests-ex/docs/debugging.md             |   159 +
 integration-tests-ex/docs/dependencies.md          |   239 +
 integration-tests-ex/docs/docker.md                |   302 +
 integration-tests-ex/docs/druid-config.md          |   138 +
 integration-tests-ex/docs/guide.md                 |   241 +
 integration-tests-ex/docs/history.md               |    96 +
 integration-tests-ex/docs/maven.md                 |   255 +
 integration-tests-ex/docs/next-steps.md            |    77 +
 integration-tests-ex/docs/quickstart.md            |   201 +
 integration-tests-ex/docs/runtime.md               |   105 +
 integration-tests-ex/docs/scripts.md               |    74 +
 integration-tests-ex/docs/test-config.md           |   588 +
 integration-tests-ex/docs/tests.md                 |   411 +
 integration-tests-ex/docs/travis.md                |   168 +
 integration-tests-ex/image/build-image.sh          |    49 +
 integration-tests-ex/image/docker-build.sh         |    56 +
 integration-tests-ex/image/docker/Dockerfile       |    73 +
 integration-tests-ex/image/docker/druid.sh         |    93 +
 integration-tests-ex/image/docker/launch.sh        |   130 +
 integration-tests-ex/image/docker/test-setup.sh    |    79 +
 integration-tests-ex/image/pom.xml                 |   239 +
 integration-tests-ex/image/rebuild.sh              |    48 +
 integration-tests-ex/tools/README.md               |    48 +
 integration-tests-ex/tools/pom.xml                 |   168 +
 .../druid/testing/tools/CliCustomNodeRole.java     |   176 +
 .../tools/CliHistoricalForQueryErrorTest.java      |    57 +
 .../testing/tools/CustomNodeRoleClientModule.java  |    48 +
 .../tools/CustomNodeRoleCommandCreator.java        |    33 +
 .../tools/QueryRetryTestCommandCreator.java        |    33 +
 .../tools/ServerManagerForQueryErrorTest.java      |   238 +
 .../apache/druid/testing/tools/SleepExprMacro.java |   106 +
 .../apache/druid/testing/tools/SleepModule.java    |    45 +
 .../testing/tools/SleepOperatorConversion.java     |    62 +
 .../org/apache/druid/testing/tools/package.java    |    25 +
 .../org.apache.druid.cli.CliCommandCreator         |    17 +
 .../org.apache.druid.initialization.DruidModule    |    17 +
 integration-tests/README.md                        |    20 +-
 integration-tests/pom.xml                          |    23 +-
 .../script/copy_resources_template.sh              |     2 +-
 integration-tests/script/setup_druid_on_k8s.sh     |     4 +-
 .../druid/cli/CustomNodeRoleCommandCreator.java    |     1 +
 .../druid/testing/ConfigFileConfigProvider.java    |     3 +-
 .../testing/IntegrationTestingConfigProvider.java  |     1 +
 .../clients/AbstractQueryResourceTestClient.java   |    36 +-
 .../clients/OverlordResourceTestClient.java        |     8 +-
 .../clients/msq/MsqOverlordResourceTestClient.java |    79 +
 .../druid/testing/guice/DruidTestModule.java       |    12 +-
 .../testing/utils/AbstractTestQueryHelper.java     |    20 +-
 .../druid/testing/utils/MsqQueryWithResults.java   |    40 +
 .../druid/testing/utils/MsqTestQueryHelper.java    |   257 +
 .../druid/testing/utils/QueryResultVerifier.java   |    60 +-
 .../druid/tests/indexer/AbstractIndexerTest.java   |     4 +
 .../query/ITQueryRetryTestOnMissingSegments.java   |     2 +-
 .../apache/druid/tests/query/ITSqlCancelTest.java  |     4 +-
 .../security/AbstractAuthConfigurationTest.java    |    26 +-
 .../security/ITBasicAuthConfigurationTest.java     |     4 +-
 .../security/ITBasicAuthLdapConfigurationTest.java |     4 +-
 .../org/apache/druid/tests/security/ITTLSTest.java |    22 +-
 it.sh                                              |   136 +
 licenses.yaml                                      |    77 +-
 licenses/bin/zustand.MIT                           |    21 +
 owasp-dependency-check-suppressions.xml            |    56 +-
 pom.xml                                            |    98 +-
 processing/pom.xml                                 |     2 +-
 .../druid/frame/allocation/AppendableMemory.java   |    27 -
 .../frame/channel/BlockingQueueFrameChannel.java   |     5 +-
 .../channel/ReadableByteChunksFrameChannel.java    |     3 +-
 .../druid/frame/channel/WritableFrameChannel.java  |    13 +-
 .../frame/channel/WritableFrameFileChannel.java    |     4 +-
 .../org/apache/druid/frame/file/FrameFile.java     |   342 +-
 .../frame/file/FrameFileHttpResponseHandler.java   |    13 +-
 .../druid/frame/file/FrameFilePartialFetch.java    |     8 +-
 .../apache/druid/frame/file/FrameFileWriter.java   |    45 +-
 .../java/org/apache/druid/frame/key/RowKey.java    |     5 +
 .../frame/processor/FrameProcessorExecutor.java    |     5 +-
 .../apache/druid/frame/write/FrameWriterUtils.java |     6 +-
 .../apache/druid/guice/StartupInjectorBuilder.java |    10 +-
 .../apache/druid/jackson/AggregatorsModule.java    |     4 +-
 .../java/org/apache/druid/query/BaseQuery.java     |    16 +-
 .../query/DefaultGenericQueryMetricsFactory.java   |     5 +
 .../apache/druid/query/DefaultQueryMetrics.java    |    12 +
 .../apache/druid/query/DruidProcessingConfig.java  |     2 +-
 .../druid/query/GenericQueryMetricsFactory.java    |     7 +
 .../main/java/org/apache/druid/query/Query.java    |    53 +-
 .../java/org/apache/druid/query/QueryContext.java  |    85 +-
 .../java/org/apache/druid/query/QueryContexts.java |   239 +-
 .../druid/query/QueryInterruptedException.java     |     6 +-
 .../java/org/apache/druid/query/QueryMetrics.java  |    12 +
 .../druid/query/aggregation/AggregatorFactory.java |    20 +
 .../druid/query/aggregation/AggregatorUtil.java    |     5 +
 .../query/aggregation/CountAggregatorFactory.java  |     6 +
 .../aggregation/DoubleMaxAggregatorFactory.java    |     6 +
 .../aggregation/DoubleMinAggregatorFactory.java    |     6 +
 .../aggregation/DoubleSumAggregatorFactory.java    |     6 +
 .../ExpressionLambdaAggregatorFactory.java         |    21 +
 .../aggregation/FilteredAggregatorFactory.java     |     6 +
 .../aggregation/FloatMaxAggregatorFactory.java     |     6 +
 .../aggregation/FloatMinAggregatorFactory.java     |     6 +
 .../aggregation/FloatSumAggregatorFactory.java     |     6 +
 .../aggregation/GroupingAggregatorFactory.java     |     6 +
 .../aggregation/HistogramAggregatorFactory.java    |     6 +
 .../aggregation/JavaScriptAggregatorFactory.java   |    13 +
 .../aggregation/LongMaxAggregatorFactory.java      |     6 +
 .../aggregation/LongMinAggregatorFactory.java      |     6 +
 .../aggregation/LongSumAggregatorFactory.java      |     6 +
 .../SerializablePairLongStringBufferStore.java     |   162 +
 .../SerializablePairLongStringColumnHeader.java    |   111 +
 ...SerializablePairLongStringColumnSerializer.java |   123 +
 .../SerializablePairLongStringComplexColumn.java   |   133 +
 ...rializablePairLongStringComplexMetricSerde.java |   149 +
 ...zablePairLongStringDeltaEncodedStagedSerde.java |   124 +
 .../SerializablePairLongStringSerde.java           |   153 -
 ...erializablePairLongStringSimpleStagedSerde.java |    95 +
 .../druid/query/aggregation/SerializedStorage.java |   153 +
 .../aggregation/SuppressedAggregatorFactory.java   |     6 +
 .../any/DoubleAnyAggregatorFactory.java            |     6 +
 .../aggregation/any/FloatAnyAggregatorFactory.java |     6 +
 .../aggregation/any/LongAnyAggregatorFactory.java  |     6 +
 .../any/StringAnyAggregatorFactory.java            |     6 +
 .../cardinality/CardinalityAggregatorFactory.java  |     6 +
 .../first/DoubleFirstAggregatorFactory.java        |     6 +
 .../first/FloatFirstAggregatorFactory.java         |     6 +
 .../first/LongFirstAggregatorFactory.java          |     6 +
 .../first/StringFirstAggregatorFactory.java        |     6 +
 .../first/StringFirstFoldingAggregatorFactory.java |     7 +
 .../hyperloglog/HyperUniquesAggregatorFactory.java |     6 +
 .../last/DoubleLastAggregatorFactory.java          |     6 +
 .../last/FloatLastAggregatorFactory.java           |     6 +
 .../last/LongLastAggregatorFactory.java            |     6 +
 .../last/StringLastAggregatorFactory.java          |     6 +
 .../last/StringLastFoldingAggregatorFactory.java   |     7 +
 .../mean/DoubleMeanAggregatorFactory.java          |    26 +
 .../query/aggregation/post/PostAggregatorIds.java  |    12 +
 .../druid/query/context/ResponseContext.java       |     5 +-
 .../query/expression/ArrayQuantileExprMacro.java   |   172 +
 .../CaseInsensitiveContainsExprMacro.java          |     5 +-
 .../druid/query/expression/ContainsExprMacro.java  |     5 +-
 .../apache/druid/query/expression/ExprUtils.java   |    12 -
 .../query/expression/HyperUniqueExpressions.java   |    38 +-
 .../expression/IPv4AddressMatchExprMacro.java      |    11 +-
 .../expression/IPv4AddressParseExprMacro.java      |     5 +-
 .../expression/IPv4AddressStringifyExprMacro.java  |     5 +-
 .../druid/query/expression/LikeExprMacro.java      |    12 +-
 .../druid/query/expression/LookupExprMacro.java    |    10 +-
 .../query/expression/NestedDataExpressions.java    |   430 +-
 .../query/expression/RegexpExtractExprMacro.java   |     9 +-
 .../query/expression/RegexpLikeExprMacro.java      |     7 +-
 .../query/expression/TimestampCeilExprMacro.java   |     5 +-
 .../expression/TimestampExtractExprMacro.java      |    14 +-
 .../query/expression/TimestampFloorExprMacro.java  |     5 +-
 .../query/expression/TimestampFormatExprMacro.java |     8 +-
 .../query/expression/TimestampParseExprMacro.java  |     5 +-
 .../query/expression/TimestampShiftExprMacro.java  |     5 +-
 .../druid/query/expression/TrimExprMacro.java      |     5 +-
 .../org/apache/druid/query/filter/InDimFilter.java |    48 +-
 .../apache/druid/query/groupby/GroupByQuery.java   |     2 +-
 .../druid/query/groupby/GroupByQueryConfig.java    |    57 +-
 .../druid/query/groupby/GroupByQueryEngine.java    |     2 +-
 .../druid/query/groupby/GroupByQueryHelper.java    |     4 +-
 .../epinephelinae/GroupByMergingQueryRunnerV2.java |     2 +-
 .../epinephelinae/GroupByQueryEngineV2.java        |     2 +-
 .../groupby/epinephelinae/GroupByRowProcessor.java |     2 +-
 .../query/groupby/orderby/DefaultLimitSpec.java    |     4 +-
 .../query/groupby/strategy/GroupByStrategyV2.java  |     4 +-
 .../org/apache/druid/query/scan/ScanQuery.java     |     4 +-
 .../query/search/DefaultSearchQueryMetrics.java    |    12 +
 .../druid/query/search/SearchQueryConfig.java      |     2 +-
 .../query/search/SearchQueryQueryToolChest.java    |    47 +-
 .../apache/druid/query/search/SearchQuerySpec.java |     5 +-
 .../apache/druid/query/search/SearchSortSpec.java  |     4 +-
 .../org/apache/druid/query/select/SelectQuery.java |    18 -
 .../TimeBoundaryQueryQueryToolChest.java           |     4 +-
 .../druid/query/timeseries/TimeseriesQuery.java    |     2 +-
 .../druid/query/topn/TopNQueryQueryToolChest.java  |     2 +-
 .../druid/segment/DimensionHandlerUtils.java       |    39 +-
 .../druid/segment/DoubleDimensionIndexer.java      |     5 -
 .../druid/segment/FloatDimensionIndexer.java       |     5 -
 .../apache/druid/segment/LongDimensionIndexer.java |     5 -
 .../druid/segment/NestedDataDimensionHandler.java  |     4 +-
 .../druid/segment/RowBasedStorageAdapter.java      |     8 +
 .../druid/segment/data/CompressedBlockReader.java  |     4 +-
 .../druid/segment/filter/ExpressionFilter.java     |    12 +-
 .../join/HashJoinSegmentStorageAdapter.java        |     7 +-
 .../druid/segment/join/JoinableFactoryWrapper.java |    14 +-
 .../segment/nested/DoubleFieldColumnWriter.java    |    98 +
 .../GlobalDictionaryEncodedFieldColumnWriter.java  |   285 +
 .../segment/nested/GlobalDictionaryIdLookup.java   |    31 +-
 .../segment/nested/LongFieldColumnWriter.java      |    99 +
 .../segment/nested/NestedDataColumnSerializer.java |   401 +-
 .../segment/nested/NestedDataComplexTypeSerde.java |     2 +-
 .../segment/nested/NestedPathArrayElement.java     |     7 +-
 .../segment/nested/StringFieldColumnWriter.java    |    63 +
 .../druid/segment/nested/StructuredData.java       |    11 +-
 .../segment/nested/StructuredDataProcessor.java    |    14 +-
 .../nested/VariantLiteralFieldColumnWriter.java    |    66 +
 .../serde/cell/BlockCompressedPayloadBuffer.java   |   122 +
 .../cell/BlockCompressedPayloadBufferFactory.java  |    65 +
 .../serde/cell/BlockCompressedPayloadReader.java   |   173 +
 .../cell/BlockCompressedPayloadSerializer.java     |    58 +
 .../serde/cell/BlockCompressedPayloadWriter.java   |   125 +
 .../druid/segment/serde/cell/BlockIndexWriter.java |    30 +
 .../segment/serde/cell/ByteBufferProvider.java     |    34 +
 .../druid/segment/serde/cell/CellIndexReader.java  |    54 +
 .../druid/segment/serde/cell/CellIndexWriter.java  |    76 +
 .../druid/segment/serde/cell/CellReader.java       |   176 +
 .../druid/segment/serde/cell/CellWriter.java       |   239 +
 .../druid/segment/serde/cell/IOIterator.java       |    33 +
 .../druid/segment/serde/cell/IndexWriter.java      |    80 +
 .../druid/segment/serde/cell/IntIndexView.java     |    69 +
 .../druid/segment/serde/cell/IntSerializer.java    |    45 +
 .../druid/segment/serde/cell/LongSerializer.java   |    43 +
 .../cell/NativeClearedByteBufferProvider.java      |    45 +
 .../druid/segment/serde/cell/NumberSerializer.java |    29 +
 .../druid/segment/serde/cell/PayloadEntrySpan.java |    42 +
 .../druid/segment/serde/cell/StagedSerde.java      |   103 +
 .../druid/segment/serde/cell/StorableBuffer.java   |    54 +
 .../segment/transform/ExpressionTransform.java     |    24 +-
 .../druid/segment/transform/Transformer.java       |    14 +-
 .../ExpressionMultiValueDimensionSelector.java     |    44 +-
 .../druid/segment/virtual/ExpressionSelectors.java |    94 +-
 .../segment/virtual/ExpressionVirtualColumn.java   |     8 +
 .../segment/virtual/NestedFieldVirtualColumn.java  |    89 +-
 .../java/org/apache/druid/frame/FrameTest.java     |    50 +-
 .../ReadableByteChunksFrameChannelTest.java        |    12 +
 .../file/FrameFileHttpResponseHandlerTest.java     |    42 +-
 .../org/apache/druid/frame/file/FrameFileTest.java |    98 +-
 .../druid/frame/file/FrameFileWriterTest.java      |     9 +-
 .../org/apache/druid/frame/key/RowKeyTest.java     |    13 +
 .../processor/FrameProcessorExecutorTest.java      |    11 +-
 .../frame/processor/RunAllFullyWidgetTest.java     |     8 +-
 .../apache/druid/frame/testutil/FrameTestUtil.java |    10 -
 .../druid/query/DefaultQueryMetricsTest.java       |     6 +-
 .../druid/query/DruidProcessingConfigTest.java     |     8 +-
 .../apache/druid/query/NestedDataTestUtils.java    |    18 +-
 .../java/org/apache/druid/query/QueriesTest.java   |    24 +-
 .../org/apache/druid/query/QueryContextTest.java   |   127 +-
 .../org/apache/druid/query/QueryContextsTest.java  |    56 +-
 .../query/TestBigDecimalSumAggregatorFactory.java  |     7 +
 .../org/apache/druid/query/TestBufferPool.java     |    36 +-
 .../query/aggregation/AggregatorFactoryTest.java   |    61 +
 .../query/aggregation/CountAggregatorTest.java     |     9 +
 .../SerializablePairLongStringBufferStoreTest.java |   388 +
 ...izablePairLongStringComplexMetricSerdeTest.java |   237 +
 ...ePairLongStringDeltaEncodedStagedSerdeTest.java |    99 +
 ...lizablePairLongStringSimpleStagedSerdeTest.java |    70 +
 .../SingleValueColumnValueSelector.java            |    79 +
 .../first/StringFirstTimeseriesQueryTest.java      |     4 +-
 .../last/StringLastTimeseriesQueryTest.java        |     4 +-
 .../DataSourceMetadataQueryTest.java               |     8 +-
 .../expression/ArrayQuantileExprMacroTest.java     |   231 +
 .../expression/CaseInsensitiveExprMacroTest.java   |     4 +-
 .../query/expression/ContainsExprMacroTest.java    |     4 +-
 .../expression/HyperUniqueExpressionsTest.java     |    14 +-
 .../expression/IPv4AddressMatchExprMacroTest.java  |     7 +-
 .../expression/IPv4AddressParseExprMacroTest.java  |     4 +-
 .../IPv4AddressStringifyExprMacroTest.java         |     4 +-
 .../expression/NestedDataExpressionsTest.java      |   207 +-
 .../expression/RegexpExtractExprMacroTest.java     |     4 +-
 .../query/expression/RegexpLikeExprMacroTest.java  |    10 +-
 .../druid/query/expression/TestExprMacroTable.java |    16 +-
 .../query/expression/TimestampShiftMacroTest.java  |     8 +-
 ...GroupByLimitPushDownInsufficientBufferTest.java |     5 +-
 .../GroupByLimitPushDownMultiNodeMergeTest.java    |     5 +-
 .../query/groupby/GroupByMultiSegmentTest.java     |     5 +-
 .../query/groupby/GroupByQueryConfigTest.java      |    74 +-
 .../query/groupby/GroupByQueryRunnerTest.java      |    11 +-
 .../query/groupby/NestedQueryPushDownTest.java     |     5 +-
 .../druid/query/groupby/TestGroupByBuffers.java    |     4 +-
 .../druid/query/metadata/SegmentAnalyzerTest.java  |     6 +
 .../search/DefaultSearchQueryMetricsTest.java      |     3 +
 .../search/SearchQueryQueryToolChestTest.java      |    86 +-
 .../query/timeboundary/TimeBoundaryQueryTest.java  |    17 +-
 .../druid/segment/RowBasedStorageAdapterTest.java  |    17 +
 .../apache/druid/segment/filter/InFilterTest.java  |    63 +-
 .../segment/incremental/IncrementalIndexTest.java  |    73 +
 .../join/HashJoinSegmentStorageAdapterTest.java    |    15 +
 .../segment/join/JoinableFactoryWrapperTest.java   |    36 +
 .../druid/segment/nested/NestedPathFinderTest.java |    24 +
 .../druid/segment/serde/ComplexMetricsTest.java    |     6 +-
 .../BlockCompressedPayloadWriterReaderTest.java    |    61 +
 .../BlockCompressedPayloadWriterToBytesWriter.java |    98 +
 .../segment/serde/cell/ByteWriterTestHelper.java   |   406 +
 .../segment/serde/cell/BytesReadWriteTest.java     |    49 +
 .../segment/serde/cell/BytesReadWriteTestBase.java |   254 +
 .../serde/cell/BytesReadWriteTestCases.java        |    28 +
 .../druid/segment/serde/cell/BytesWriter.java      |    43 +
 .../segment/serde/cell/BytesWriterBuilder.java     |    38 +
 .../segment/serde/cell/CellWriterReaderTest.java   |   110 +
 .../serde/cell/CellWriterToBytesWriter.java        |    98 +
 .../segment/serde/cell/RandomStringUtils.java      |    49 +
 .../druid/segment/serde/cell/TestCaseResult.java   |    54 +
 .../druid/segment/serde/cell/TestCasesConfig.java  |   199 +
 .../druid/segment/transform/TransformerTest.java   |    64 +
 .../virtual/AlwaysTwoCounterAggregatorFactory.java |    10 +-
 .../segment/virtual/ExpressionSelectorsTest.java   |    19 +-
 .../virtual/NestedFieldVirtualColumnTest.java      |     1 +
 .../src/test/resources/simple-nested-test-data.tsv |     2 +-
 server/pom.xml                                     |    10 +-
 .../org/apache/druid/client/DirectDruidClient.java |     2 +-
 .../org/apache/druid/client/DruidServerConfig.java |     4 +-
 .../FilteredServerInventoryViewProvider.java       |     2 +-
 .../apache/druid/client/JsonParserIterator.java    |     2 +-
 .../druid/client/ServerInventoryViewProvider.java  |     2 +-
 .../org/apache/druid/curator/CuratorModule.java    |    66 +-
 .../org/apache/druid/curator/ExhibitorConfig.java  |    86 -
 .../druid/curator/discovery/DiscoveryModule.java   |    20 +-
 .../curator/inventory/CuratorInventoryManager.java |     1 -
 .../druid/discovery/BaseNodeRoleWatcher.java       |    10 +-
 .../apache/druid/guice/DruidInjectorBuilder.java   |    40 +-
 .../org/apache/druid/guice/ExpressionModule.java   |     8 +-
 .../apache/druid/guice/MetadataConfigModule.java   |     4 +-
 .../supervisor/SupervisorStateManager.java         |    12 +-
 .../druid/initialization/CoreInjectorBuilder.java  |     4 +-
 .../initialization/ExtensionInjectorBuilder.java   |     2 +-
 .../IndexerSQLMetadataStorageCoordinator.java      |    86 +-
 .../query/lookup/LookupReferencesManager.java      |     6 +-
 .../org/apache/druid/rpc/ServiceClientImpl.java    |    14 +-
 .../segment/loading/OmniDataSegmentArchiver.java   |    21 +-
 .../segment/loading/OmniDataSegmentKiller.java     |    26 +-
 .../segment/loading/OmniDataSegmentMover.java      |    21 +-
 .../appenderator/SinkQuerySegmentWalker.java       |     2 +-
 .../druid/server/ClientQuerySegmentWalker.java     |     2 +-
 .../org/apache/druid/server/QueryLifecycle.java    |    67 +-
 .../org/apache/druid/server/QueryResource.java     |    87 +-
 .../org/apache/druid/server/QueryResponse.java     |    50 +
 .../org/apache/druid/server/StatusResource.java    |    35 +-
 .../server/coordinator/CuratorLoadQueuePeon.java   |    66 +-
 .../druid/server/coordinator/DruidCoordinator.java |    68 +-
 .../server/coordinator/DruidCoordinatorConfig.java |     2 +-
 .../server/coordinator/HttpLoadQueuePeon.java      |     8 +-
 .../druid/server/coordinator/LoadPeonCallback.java |     2 +-
 .../server/coordinator/LoadQueueTaskMaster.java    |     9 +-
 .../server/coordinator/duty/BalanceSegments.java   |    26 +-
 .../server/coordinator/duty/CompactSegments.java   |     3 +-
 .../coordinator/duty/UnloadUnusedSegments.java     |     2 +-
 .../druid/server/coordinator/rules/LoadRule.java   |     5 +-
 .../initialization/AuthenticatorMapperModule.java  |    15 +-
 .../server/initialization/TLSServerConfig.java     |    18 +
 .../initialization/jetty/JettyServerModule.java    |     6 +
 .../druid/server/log/DefaultRequestLogEvent.java   |    32 +-
 .../server/scheduling/HiLoQueryLaningStrategy.java |     4 +-
 .../org/apache/druid/server/security/Access.java   |    14 +
 .../druid/server/security/AuthenticatorMapper.java |     2 -
 .../druid/server/security/AuthorizerMapper.java    |     3 -
 .../druid/server/security/ForbiddenException.java  |     4 +-
 .../apache/druid/server/security/ResourceType.java |     2 +
 .../server/security/UnsecuredResourceFilter.java   |     4 +-
 .../CachingClusteredClientCacheKeyManagerTest.java |     7 +-
 .../druid/client/CachingClusteredClientTest.java   |     4 +-
 .../druid/client/JsonParserIteratorTest.java       |    13 +-
 .../apache/druid/curator/CuratorConfigTest.java    |     9 -
 .../apache/druid/curator/CuratorModuleTest.java    |    83 +-
 .../apache/druid/curator/ExhibitorConfigTest.java  |    66 -
 .../discovery/LatchableServiceAnnouncer.java       |    64 +
 .../guice/LocalDataStorageDruidModuleTest.java     |     4 +-
 .../IndexerSQLMetadataStorageCoordinatorTest.java  |    12 +-
 .../apache/druid/rpc/ServiceClientImplTest.java    |     9 +-
 .../loading/OmniDataSegmentArchiverTest.java       |    44 +
 .../segment/loading/OmniDataSegmentKillerTest.java |    41 +
 .../segment/loading/OmniDataSegmentMoverTest.java  |    40 +
 .../server/SetAndVerifyContextQueryRunnerTest.java |     8 +-
 .../apache/druid/server/StatusResourceTest.java    |    48 +-
 .../server/coordinator/BalanceSegmentsTest.java    |    22 +-
 .../server/coordinator/BalanceSegmentsTester.java  |     2 +-
 .../server/coordinator/CreateDataSegments.java     |   135 +
 .../coordinator/CuratorDruidCoordinatorTest.java   |   112 +-
 .../coordinator/DruidCoordinatorConfigTest.java    |     1 +
 .../server/coordinator/DruidCoordinatorTest.java   |   181 +-
 .../server/coordinator/HttpLoadQueuePeonTest.java  |    16 +-
 .../server/coordinator/LoadQueuePeonTest.java      |    24 +-
 .../druid/server/coordinator/RunRulesTest.java     |    26 +-
 .../simulate/BlockingExecutorService.java          |   237 +
 .../simulate/CoordinatorSimulation.java            |   107 +
 .../simulate/CoordinatorSimulationBaseTest.java    |   313 +
 .../simulate/CoordinatorSimulationBuilder.java     |   566 +
 .../druid/server/coordinator/simulate/README.md    |   143 +
 .../coordinator/simulate/SegmentBalancingTest.java |   175 +
 .../simulate/SegmentLoadingNegativeTest.java       |   220 +
 .../coordinator/simulate/SegmentLoadingTest.java   |   192 +
 .../simulate/TestDruidLeaderSelector.java          |    79 +
 .../simulate/TestMetadataRuleManager.java          |   111 +
 .../simulate/TestSegmentLoadingHttpClient.java     |   167 +
 .../simulate/TestSegmentsMetadataManager.java      |   199 +
 .../simulate/TestServerInventoryView.java          |   210 +
 .../simulate/WrappingScheduledExecutorService.java |   240 +
 .../server/initialization/JettyCertRenewTest.java  |   401 +
 .../druid/server/log/AlertEventSerdeTest.java      |    65 +
 .../server/log/DefaultRequestLogEventTest.java     |   186 +-
 .../server/log/ServiceMetricEventSerdeTest.java    |    58 +
 .../server/security/ForbiddenExceptionTest.java    |    25 +-
 server/src/test/resources/server-new.jks           |   Bin 0 -> 4047 bytes
 .../status.resource.test.runtime.hpc.properties    |    30 +
 server/src/test/resources/truststore-new.jks       |   Bin 0 -> 3248 bytes
 services/pom.xml                                   |     2 +-
 .../java/org/apache/druid/cli/CliOverlord.java     |     8 +-
 .../main/java/org/apache/druid/cli/CliRouter.java  |     4 +-
 .../java/org/apache/druid/cli/GuiceRunnable.java   |     4 +-
 .../druid/server/AsyncQueryForwardingServlet.java  |   210 +-
 .../server/AsyncQueryForwardingServletTest.java    |   102 +-
 sql/pom.xml                                        |     7 +-
 sql/src/main/codegen/includes/insert.ftl           |     2 +-
 sql/src/main/codegen/includes/replace.ftl          |     2 +-
 .../org/apache/druid/sql/AbstractStatement.java    |   221 +
 .../java/org/apache/druid/sql/DirectStatement.java |   313 +
 .../java/org/apache/druid/sql/HttpStatement.java   |    71 +
 .../org/apache/druid/sql/PreparedStatement.java    |   101 +
 .../org/apache/druid/sql/SqlExecutionReporter.java |   159 +
 .../java/org/apache/druid/sql/SqlLifecycle.java    |   592 -
 .../org/apache/druid/sql/SqlLifecycleFactory.java  |    73 -
 .../org/apache/druid/sql/SqlLifecycleManager.java  |    42 +-
 .../org/apache/druid/sql/SqlPlanningException.java |     6 +
 .../java/org/apache/druid/sql/SqlQueryPlus.java    |   112 +-
 .../org/apache/druid/sql/SqlStatementFactory.java  |    63 +
 .../main/java/org/apache/druid/sql/SqlToolbox.java |    79 +
 .../sql/avatica/AbstractDruidJdbcStatement.java    |    17 +-
 .../apache/druid/sql/avatica/DruidConnection.java  |    79 +-
 .../sql/avatica/DruidJdbcPreparedStatement.java    |    54 +-
 .../druid/sql/avatica/DruidJdbcResultSet.java      |    62 +-
 .../druid/sql/avatica/DruidJdbcStatement.java      |    38 +-
 .../org/apache/druid/sql/avatica/DruidMeta.java    |   131 +-
 .../org/apache/druid/sql/avatica/ErrorHandler.java |     8 +-
 .../builtin/EarliestLatestAnySqlAggregator.java    |    10 +-
 .../builtin/EarliestLatestBySqlAggregator.java     |    10 +-
 .../aggregation/builtin/SumSqlAggregator.java      |    87 +-
 .../sql/calcite/expression/DruidExpression.java    |     9 +-
 .../druid/sql/calcite/expression/Expressions.java  |    26 +-
 .../calcite/expression/OperatorConversions.java    |    42 +-
 .../builtin/ArrayContainsOperatorConversion.java   |     7 +-
 .../builtin/ArrayOverlapOperatorConversion.java    |     8 +-
 .../builtin/ArrayQuantileOperatorConversion.java   |    43 +
 .../MultiValueStringOperatorConversions.java       |     8 +-
 .../MultiValueStringToArrayOperatorConversion.java |     2 +-
 .../builtin/NestedDataOperatorConversions.java     |   424 +-
 .../builtin/StringToArrayOperatorConversion.java   |     2 +-
 .../builtin/SubstringOperatorConversion.java       |     4 +-
 .../builtin/TimeArithmeticOperatorConversion.java  |     2 +-
 .../builtin/TimeFloorOperatorConversion.java       |     8 +-
 .../builtin/TruncateOperatorConversion.java        |     2 +-
 .../external/ExternalOperatorConversion.java       |     7 +-
 .../sql/calcite/external/ExternalTableMacro.java   |    11 +-
 .../sql/calcite/external/ExternalTableScan.java    |    12 +-
 .../calcite/external/ExternalTableScanRule.java    |    16 +-
 .../druid/sql/calcite/parser/DruidSqlIngest.java   |    72 +
 .../druid/sql/calcite/parser/DruidSqlInsert.java   |    40 +-
 .../druid/sql/calcite/parser/DruidSqlReplace.java  |    40 +-
 .../sql/calcite/planner/CalcitePlannerModule.java  |    19 -
 .../apache/druid/sql/calcite/planner/Calcites.java |    28 +-
 .../sql/calcite/planner/DruidOperatorTable.java    |    10 +-
 .../druid/sql/calcite/planner/DruidPlanner.java    |   846 +-
 .../sql/calcite/planner/DruidRexExecutor.java      |    52 +-
 .../druid/sql/calcite/planner/IngestHandler.java   |   346 +
 .../druid/sql/calcite/planner/PlannerConfig.java   |   285 +-
 .../druid/sql/calcite/planner/PlannerContext.java  |    17 +
 .../druid/sql/calcite/planner/PlannerFactory.java  |    15 +-
 .../druid/sql/calcite/planner/PlannerResult.java   |    19 +-
 .../druid/sql/calcite/planner/PrepareResult.java   |    36 +-
 .../druid/sql/calcite/planner/QueryHandler.java    |   675 +
 .../sql/calcite/planner/SqlStatementHandler.java   |    76 +
 .../planner/convertlet/DruidConvertletTable.java   |     2 +
 .../apache/druid/sql/calcite/rel/DruidQuery.java   |   109 +-
 .../druid/sql/calcite/rel/DruidQueryRel.java       |     1 +
 .../org/apache/druid/sql/calcite/rel/DruidRel.java |     6 +-
 .../druid/sql/calcite/rel/DruidUnionRel.java       |    55 +-
 .../sql/calcite/rule/DruidLogicalValuesRule.java   |    11 +-
 .../sql/calcite/rule/DruidRelToDruidRule.java      |    10 +-
 .../druid/sql/calcite/run/EngineFeature.java       |    82 +
 .../druid/sql/calcite/run/NativeQueryMaker.java    |   107 +-
 .../sql/calcite/run/NativeQueryMakerFactory.java   |    69 -
 .../druid/sql/calcite/run/NativeSqlEngine.java     |   138 +
 .../apache/druid/sql/calcite/run/QueryFeature.java |    54 -
 .../sql/calcite/run/QueryFeatureInspector.java     |    32 -
 .../apache/druid/sql/calcite/run/QueryMaker.java   |    19 +-
 .../druid/sql/calcite/run/QueryMakerFactory.java   |    60 -
 .../apache/druid/sql/calcite/run/SqlEngine.java    |    98 +
 .../apache/druid/sql/calcite/run/SqlEngines.java   |    52 +
 .../sql/calcite/schema/AbstractTableSchema.java    |   104 +
 .../calcite/schema/DruidCalciteSchemaModule.java   |     5 +-
 .../druid/sql/calcite/schema/DruidSchema.java      |   946 +-
 .../sql/calcite/schema/DruidSchemaManager.java     |    35 +-
 .../sql/calcite/schema/InformationSchema.java      |     1 +
 .../druid/sql/calcite/schema/LookupSchema.java     |     9 +-
 .../sql/calcite/schema/NoopDruidSchemaManager.java |     3 +-
 .../sql/calcite/schema/SegmentMetadataCache.java   |   970 +
 .../druid/sql/calcite/schema/SystemSchema.java     |     8 +-
 .../druid/sql/calcite/table/DatasourceTable.java   |   189 +
 .../apache/druid/sql/calcite/table/DruidTable.java |   106 +-
 .../druid/sql/calcite/table/ExternalTable.java     |    98 +
 .../druid/sql/calcite/table/InlineTable.java       |    82 +
 .../druid/sql/calcite/table/LookupTable.java       |    79 +
 .../druid/sql/calcite/view/DruidViewMacro.java     |     5 +-
 .../druid/sql/calcite/view/ViewSqlEngine.java      |   113 +
 .../java/org/apache/druid/sql/guice/SqlModule.java |   164 +-
 .../org/apache/druid/sql/http/SqlHttpModule.java   |     2 +
 .../java/org/apache/druid/sql/http/SqlQuery.java   |    13 +
 .../org/apache/druid/sql/http/SqlResource.java     |   156 +-
 sql/src/main/resources/saffron.properties          |    27 +
 .../apache/druid/sql/SqlLifecycleManagerTest.java  |    69 +-
 .../org/apache/druid/sql/SqlLifecycleTest.java     |   316 -
 .../org/apache/druid/sql/SqlStatementTest.java     |   518 +
 .../druid/sql/avatica/DruidAvaticaHandlerTest.java |   189 +-
 .../druid/sql/avatica/DruidStatementTest.java      |    75 +-
 .../druid/sql/calcite/BaseCalciteQueryTest.java    |   301 +-
 .../druid/sql/calcite/CalciteArraysQueryTest.java  |   130 +-
 .../sql/calcite/CalciteCorrelatedQueryTest.java    |    10 +-
 .../druid/sql/calcite/CalciteExplainQueryTest.java |    41 +-
 .../druid/sql/calcite/CalciteIngestionDmlTest.java |    31 +-
 .../druid/sql/calcite/CalciteInsertDmlTest.java    |   144 +-
 .../druid/sql/calcite/CalciteJoinQueryTest.java    |   175 +-
 .../calcite/CalciteMultiValueStringQueryTest.java  |   104 +-
 .../sql/calcite/CalciteNestedDataQueryTest.java    |   587 +-
 .../sql/calcite/CalciteParameterQueryTest.java     |    40 +-
 .../apache/druid/sql/calcite/CalciteQueryTest.java |   886 +-
 .../druid/sql/calcite/CalciteReplaceDmlTest.java   |    46 +-
 .../sql/calcite/CalciteScanSignatureTest.java      |   142 +
 .../druid/sql/calcite/CalciteSelectQueryTest.java  |   115 +-
 .../druid/sql/calcite/CalciteSimpleQueryTest.java  |    22 +-
 .../sql/calcite/CalciteTimeBoundaryQueryTest.java  |     8 +-
 .../calcite/DruidPlannerResourceAnalyzeTest.java   |     5 +-
 .../druid/sql/calcite/IngestionTestSqlEngine.java  |   112 +
 .../calcite/SqlVectorizedExpressionSanityTest.java |    33 +-
 .../druid/sql/calcite/TestInsertQueryMaker.java    |    51 +-
 .../druid/sql/calcite/TestQueryMakerFactory.java   |    62 -
 .../calcite/expression/DruidExpressionTest.java    |   110 +
 .../calcite/expression/ExpressionTestHelper.java   |     1 +
 .../sql/calcite/expression/ExpressionsTest.java    |    95 +-
 .../expression/IPv4AddressMatchExpressionTest.java |     7 +-
 .../expression/IPv4AddressParseExpressionTest.java |     5 +-
 .../IPv4AddressStringifyExpressionTest.java        |     5 +-
 .../external/ExternalTableScanRuleTest.java        |    18 +-
 .../calcite/planner/CalcitePlannerModuleTest.java  |     5 +-
 .../sql/calcite/planner/DruidRexExecutorTest.java  |     1 +
 .../druid/sql/calcite/rel/DruidRelsTest.java       |     2 +-
 .../calcite/rule/DruidUnionDataSourceRuleTest.java |    23 +-
 .../sql/calcite/run/NativeQueryMakerTest.java      |   116 +
 .../calcite/schema/DruidSchemaConcurrencyTest.java |   490 -
 .../calcite/schema/DruidSchemaNoDataInitTest.java  |    12 +-
 .../druid/sql/calcite/schema/DruidSchemaTest.java  |  1233 -
 .../sql/calcite/schema/DruidSchemaTestCommon.java  |   137 -
 .../schema/SegmentDataCacheConcurrencyTest.java    |   500 +
 .../calcite/schema/SegmentMetadataCacheCommon.java |   129 +
 .../calcite/schema/SegmentMetadataCacheTest.java   |  1225 +
 .../druid/sql/calcite/schema/SystemSchemaTest.java |    10 +-
 .../druid/sql/calcite/util/CalciteTestBase.java    |     2 -
 .../druid/sql/calcite/util/CalciteTests.java       |    64 +-
 .../druid/sql/calcite/util/QueryLogHook.java       |     2 +-
 .../org/apache/druid/sql/guice/SqlModuleTest.java  |    11 +-
 .../apache/druid/sql/http/SqlHttpModuleTest.java   |    26 +-
 .../org/apache/druid/sql/http/SqlResourceTest.java |   625 +-
 .../e2e-tests/component/datasources/overview.ts    |     2 +-
 .../e2e-tests/component/ingestion/overview.ts      |     4 +-
 .../e2e-tests/component/load-data/data-loader.ts   |     2 +-
 web-console/e2e-tests/component/query/overview.ts  |    13 +-
 .../e2e-tests/component/workbench/overview.ts      |    47 +
 web-console/e2e-tests/multi-stage-query.spec.ts    |    72 +
 web-console/e2e-tests/util/playwright.ts           |     2 +-
 web-console/lib/keywords.js                        |     7 +
 web-console/lib/sql-docs.d.ts                      |     2 +-
 web-console/package-lock.json                      | 30959 +++++++++++++++++--
 web-console/package.json                           |    26 +-
 web-console/pom.xml                                |    20 +-
 web-console/script/create-sql-docs.js              |    17 +-
 web-console/script/druid                           |     5 +-
 web-console/script/mv                              |    75 +
 web-console/src/ace-modes/dsql.js                  |    16 +-
 web-console/src/bootstrap/ace.scss                 |    12 +
 web-console/src/bootstrap/react-table-defaults.tsx |     2 +-
 .../src/components/braced-text/braced-text.scss    |     1 +
 .../__snapshots__/click-to-copy.spec.tsx.snap      |    11 +
 .../click-to-copy/click-to-copy.spec.tsx           |    31 +
 .../src/components/click-to-copy/click-to-copy.tsx |    46 +
 .../datasource-columns-table.spec.tsx.snap         |   668 -
 .../datasource-columns-table.scss                  |    49 -
 .../datasource-columns-table.spec.tsx              |    78 -
 .../datasource-columns-table.tsx                   |    86 -
 .../components/fancy-tab-pane/fancy-tab-pane.scss  |    62 +
 .../components/fancy-tab-pane/fancy-tab-pane.tsx   |    83 +
 .../form-group-with-info/form-group-with-info.tsx  |     2 +-
 .../__snapshots__/header-bar.spec.tsx.snap         |   163 +-
 .../src/components/header-bar/header-bar.scss      |    11 +-
 .../src/components/header-bar/header-bar.spec.tsx  |     2 +-
 .../src/components/header-bar/header-bar.tsx       |   156 +-
 web-console/src/components/index.ts                |    12 +
 .../components/interval-input/interval-input.tsx   |     2 +-
 .../__snapshots__/learn-more.spec.tsx.snap         |     0
 .../learn-more/learn-more.spec.tsx                 |     0
 .../src/components/learn-more/learn-more.tsx       |    35 +
 .../lookup-values-table/lookup-values-table.tsx    |    87 -
 .../src/components/menu-checkbox/menu-checkbox.tsx |     5 +-
 .../__snapshots__/menu-tristate.spec.tsx.snap      |   103 +
 .../menu-tristate/menu-tristate.spec.tsx           |    50 +
 .../src/components/menu-tristate/menu-tristate.tsx |    71 +
 .../__snapshots__/more-button.spec.tsx.snap        |     2 +
 .../src/components/more-button/more-button.tsx     |     2 +-
 .../__snapshots__/query-error-pane.spec.tsx.snap   |     9 +
 .../query-error-pane/query-error-pane.scss         |    28 +
 .../query-error-pane/query-error-pane.spec.tsx     |    35 +
 .../query-error-pane/query-error-pane.tsx          |   100 +
 .../record-table-pane/record-table-pane.scss       |   113 +
 .../record-table-pane/record-table-pane.tsx        |   282 +
 web-console/src/components/show-json/show-json.tsx |     2 +-
 .../supervisor-statistics-table.spec.tsx           |   108 -
 .../supervisor-statistics-table.tsx                |   159 -
 .../table-cell-unparseable.scss                    |     3 +
 .../__snapshots__/table-cell.spec.tsx.snap         |     8 +
 .../src/components/table-cell/table-cell.spec.tsx  |     7 +
 .../src/components/table-cell/table-cell.tsx       |     3 +-
 .../table-clickable-cell/table-clickable-cell.tsx  |     7 +-
 .../table-filterable-cell.tsx                      |     6 +-
 web-console/src/console-application.tsx            |   127 +-
 .../async-action-dialog/async-action-dialog.tsx    |     2 +-
 .../__snapshots__/compaction-dialog.spec.tsx.snap  |    56 +
 ...coordinator-dynamic-config-dialog.spec.tsx.snap |     2 +-
 .../datasource-table-action-dialog.spec.tsx.snap   |    75 +-
 .../datasource-columns-table.spec.tsx.snap         |   648 +
 .../datasource-columns-table.scss                  |    39 +
 .../datasource-columns-table.spec.tsx              |    78 +
 .../datasource-columns-table.tsx                   |    85 +
 .../datasource-preview-pane.scss                   |    29 +
 .../datasource-preview-pane.tsx                    |    65 +
 .../datasource-table-action-dialog.spec.tsx        |     2 +-
 .../datasource-table-action-dialog.tsx             |    35 +-
 .../edit-context-dialog/edit-context-dialog.tsx    |     2 +-
 .../src/dialogs/history-dialog/history-dialog.tsx  |     2 +-
 web-console/src/dialogs/index.ts                   |     3 +
 .../__snapshots__/lookup-edit-dialog.spec.tsx.snap |    30 +
 .../lookup-table-action-dialog.tsx                 |     3 +-
 .../lookup-values-table.spec.tsx.snap              |     0
 .../lookup-values-table/lookup-values-table.scss   |     0
 .../lookup-values-table.spec.tsx                   |     0
 .../lookup-values-table/lookup-values-table.tsx    |    87 +
 .../numeric-input-dialog/numeric-input-dialog.tsx  |   101 +
 .../overload-dynamic-config-dialog.spec.tsx.snap   |     2 +-
 .../query-history-dialog/query-history-dialog.scss |    39 -
 .../query-history-dialog/query-history-dialog.tsx  |    88 -
 .../__snapshots__/retention-dialog.spec.tsx.snap   |     2 +-
 .../segment-table-action-dialog.spec.tsx.snap      |    27 +
 .../segment-table-action-dialog.tsx                |    12 +-
 .../parse-segement-id.spec.ts                      |    65 +
 .../segments-preview-pane.scss                     |    30 +
 .../segments-preview-pane.tsx                      |   119 +
 .../dialogs/status-dialog/status-dialog.spec.tsx   |    16 +-
 .../src/dialogs/status-dialog/status-dialog.tsx    |    72 +-
 .../string-input-dialog/string-input-dialog.tsx    |    61 +
 .../supervisor-statistics-table.spec.tsx.snap      |     0
 .../supervisor-statistics-table.scss               |     0
 .../supervisor-statistics-table.spec.tsx           |   108 +
 .../supervisor-statistics-table.tsx                |   159 +
 .../supervisor-table-action-dialog.tsx             |     3 +-
 .../table-action-dialog/table-action-dialog.tsx    |     2 +-
 .../task-table-action-dialog.tsx                   |     6 +-
 web-console/src/druid-models/compaction-config.tsx |   291 -
 .../compaction-config/compaction-config.tsx        |   308 +
 .../src/druid-models/compaction-status.spec.ts     |    87 -
 web-console/src/druid-models/compaction-status.ts  |    73 -
 .../compaction-status/compaction-status.spec.ts    |    88 +
 .../compaction-status/compaction-status.ts         |    73 +
 .../druid-models/coordinator-dynamic-config.tsx    |   270 -
 .../coordinator-dynamic-config.tsx                 |   270 +
 .../src/druid-models/dimension-spec.spec.ts        |    84 -
 web-console/src/druid-models/dimension-spec.ts     |    98 -
 .../dimension-spec/dimension-spec.spec.ts          |    85 +
 .../druid-models/dimension-spec/dimension-spec.ts  |    97 +
 .../src/druid-models/druid-engine/druid-engine.ts  |    27 +
 .../execution/execution-ingest-complete.mock.ts    |   286 +
 .../execution/execution-ingest-error.mock.ts       |   359 +
 .../src/druid-models/execution/execution.spec.ts   |   530 +
 .../src/druid-models/execution/execution.ts        |   467 +
 .../external-config/external-config.ts             |   192 +
 web-console/src/druid-models/filter.tsx            |   185 -
 web-console/src/druid-models/filter/filter.tsx     |   184 +
 web-console/src/druid-models/flatten-spec.spec.ts  |    75 -
 web-console/src/druid-models/flatten-spec.tsx      |   132 -
 .../druid-models/flatten-spec/flatten-spec.spec.ts |    65 +
 .../src/druid-models/flatten-spec/flatten-spec.tsx |   130 +
 web-console/src/druid-models/index.ts              |    38 +-
 .../ingest-query-pattern.spec.ts                   |    53 +
 .../ingest-query-pattern/ingest-query-pattern.ts   |   314 +
 .../src/druid-models/ingestion-spec.spec.ts        |   833 -
 web-console/src/druid-models/ingestion-spec.tsx    |  2419 --
 .../ingestion-spec/ingestion-spec.spec.ts          |   880 +
 .../druid-models/ingestion-spec/ingestion-spec.tsx |  2465 ++
 web-console/src/druid-models/input-format.tsx      |   175 -
 .../src/druid-models/input-format/input-format.tsx |   174 +
 web-console/src/druid-models/input-source.tsx      |    91 -
 .../src/druid-models/input-source/input-source.tsx |   590 +
 web-console/src/druid-models/lookup-spec.tsx       |   452 -
 .../{ => lookup-spec}/lookup-spec.spec.ts          |     0
 .../src/druid-models/lookup-spec/lookup-spec.tsx   |   512 +
 web-console/src/druid-models/metric-spec.spec.ts   |    73 -
 web-console/src/druid-models/metric-spec.tsx       |   370 -
 .../druid-models/metric-spec/metric-spec.spec.ts   |    74 +
 .../src/druid-models/metric-spec/metric-spec.tsx   |   369 +
 web-console/src/druid-models/mocks.ts              |    21 +
 .../src/druid-models/overlord-dynamic-config.tsx   |    35 -
 .../overlord-dynamic-config.tsx                    |    35 +
 .../druid-models/query-context/query-context.tsx   |   217 +
 web-console/src/druid-models/stages/stages.mock.ts |   864 +
 web-console/src/druid-models/stages/stages.spec.ts |   299 +
 web-console/src/druid-models/stages/stages.ts      |   524 +
 web-console/src/druid-models/test-fixtures.ts      |   189 -
 web-console/src/druid-models/time.ts               |    92 -
 .../src/druid-models/{ => time}/time.spec.ts       |     0
 web-console/src/druid-models/time/time.ts          |    92 +
 web-console/src/druid-models/timestamp-spec.tsx    |   168 -
 .../druid-models/timestamp-spec/timestamp-spec.tsx |   167 +
 web-console/src/druid-models/transform-spec.tsx    |   112 -
 .../{ => transform-spec}/transform-spec.spec.ts    |     0
 .../druid-models/transform-spec/transform-spec.tsx |   111 +
 .../workbench-query/workbench-query-part.ts        |   256 +
 .../workbench-query/workbench-query.spec.ts        |   606 +
 .../workbench-query/workbench-query.ts             |   670 +
 web-console/src/entry.ts                           |     2 +-
 web-console/src/helpers/execution/general.ts       |    70 +
 .../src/helpers/execution/sql-task-execution.ts    |   264 +
 web-console/src/helpers/index.ts                   |    21 +
 web-console/src/helpers/spec-conversion.spec.ts    |   710 +
 web-console/src/helpers/spec-conversion.ts         |   470 +
 web-console/src/hooks/use-query-manager.ts         |    23 +-
 web-console/src/index.ts                           |    27 +
 web-console/src/links.ts                           |     5 +-
 .../src/react-table/react-table-base-styles.scss   |     7 -
 web-console/src/react-table/react-table-extra.scss |     2 +-
 web-console/src/react-table/react-table-inputs.tsx |     4 +-
 .../react-table-pagination.tsx                     |    11 +-
 .../src/singletons/ace-editor-state-cache.ts       |    48 +
 web-console/src/singletons/api.spec.ts             |     2 +-
 web-console/src/singletons/api.ts                  |     6 +-
 .../src/singletons/execution-state-cache.ts        |    42 +
 web-console/src/singletons/workbench-history.ts    |    73 +
 .../src/singletons/workbench-running-promises.ts   |    50 +
 web-console/src/utils/capabilities.ts              |    27 +
 web-console/src/utils/data-type-utils.ts           |    94 -
 .../src/utils/download-query-detail-archive.ts     |    61 +
 web-console/src/utils/download.spec.ts             |    30 +
 web-console/src/utils/download.ts                  |    92 +
 web-console/src/utils/druid-query.spec.ts          |    37 +-
 web-console/src/utils/druid-query.ts               |    54 +-
 web-console/src/utils/general.tsx                  |    66 +-
 web-console/src/utils/index.tsx                    |     6 +-
 web-console/src/utils/local-storage-keys.tsx       |    24 +-
 web-console/src/utils/query-context.tsx            |    86 -
 web-console/src/utils/query-manager.tsx            |    30 +-
 web-console/src/utils/query-state.ts               |     3 +
 web-console/src/utils/sample-query.spec.tsx        |    60 +
 web-console/src/utils/sample-query.tsx             |    81 +
 web-console/src/utils/sampler.mock.ts              |   189 +
 web-console/src/utils/sql.ts                       |    60 +
 web-console/src/utils/types.ts                     |   128 +
 .../__snapshots__/datasources-view.spec.tsx.snap   |     7 +-
 .../views/datasources-view/datasources-view.tsx    |    29 +-
 .../__snapshots__/home-view.spec.tsx.snap          |    12 +
 .../home-view/services-card/services-card.tsx      |     2 +-
 .../src/views/home-view/tasks-card/tasks-card.tsx  |     2 +-
 web-console/src/views/index.ts                     |     2 +
 .../__snapshots__/ingestion-view.spec.tsx.snap     |    32 +-
 .../views/ingestion-view/ingestion-view.spec.tsx   |     4 +-
 .../src/views/ingestion-view/ingestion-view.tsx    |   133 +-
 .../__snapshots__/load-data-view.spec.tsx.snap     |   464 +-
 .../src/views/load-data-view/info-messages.tsx     |    52 +-
 .../views/load-data-view/learn-more/learn-more.tsx |    35 -
 .../src/views/load-data-view/load-data-view.scss   |    71 +-
 .../views/load-data-view/load-data-view.spec.tsx   |     9 +-
 .../src/views/load-data-view/load-data-view.tsx    |   174 +-
 .../parse-data-table/parse-data-table.tsx          |     3 +-
 .../parse-time-table/parse-time-table.tsx          |     3 +-
 .../src/views/lookups-view/lookups-view.tsx        |     4 +-
 .../__snapshots__/query-view.spec.tsx.snap         |   154 +-
 .../string-menu-items/string-menu-items.tsx        |     2 +-
 .../query-view/column-tree/column-tree.spec.tsx    |     4 +-
 .../views/query-view/column-tree/column-tree.tsx   |    13 +-
 .../__snapshots__/explain-dialog.spec.tsx.snap     |   117 +-
 .../query-view/explain-dialog/explain-dialog.scss  |     2 +
 .../explain-dialog/explain-dialog.spec.tsx         |     5 +-
 .../query-view/explain-dialog/explain-dialog.tsx   |    94 +-
 .../live-query-mode-button.spec.tsx.snap           |   153 +
 .../live-query-mode-button.scss                    |    40 +
 .../live-query-mode-button.spec.tsx                |    48 +
 .../live-query-mode-button.tsx                     |    80 +
 .../live-query-mode-selector.spec.tsx.snap         |   159 -
 .../live-query-mode-selector.scss                  |    40 -
 .../live-query-mode-selector.spec.tsx              |    48 -
 .../live-query-mode-selector.tsx                   |    78 -
 .../__snapshots__/query-error.spec.tsx.snap        |     9 -
 .../views/query-view/query-error/query-error.scss  |    36 -
 .../query-view/query-error/query-error.spec.tsx    |    35 -
 .../views/query-view/query-error/query-error.tsx   |   107 -
 .../query-history-dialog.spec.tsx.snap             |     0
 .../query-history-dialog/query-history-dialog.scss |    39 +
 .../query-history-dialog.spec.tsx                  |     0
 .../query-history-dialog/query-history-dialog.tsx  |    88 +
 .../views/query-view/query-input/query-input.tsx   |    21 +-
 .../views/query-view/query-output/query-output.tsx |    45 +-
 .../src/views/query-view/query-view.spec.tsx       |     9 -
 web-console/src/views/query-view/query-view.tsx    |    75 +-
 .../src/views/query-view/run-button/run-button.tsx |    18 +-
 .../__snapshots__/segments-view.spec.tsx.snap      |     3 +-
 .../src/views/segments-view/segments-view.tsx      |    61 +-
 .../src/views/services-view/services-view.spec.tsx |     4 +-
 .../src/views/services-view/services-view.tsx      |     6 +-
 .../column-actions/column-actions.scss             |    36 +
 .../column-actions/column-actions.tsx              |   283 +
 .../column-editor/column-editor.scss               |    53 +
 .../column-editor/column-editor.tsx                |   219 +
 .../destination-dialog/destination-dialog.scss     |    23 +
 .../destination-dialog/destination-dialog.tsx      |    89 +
 .../destination-form/destination-form.scss         |    24 +
 .../destination-form/destination-form.tsx          |   128 +
 .../expression-editor-dialog.scss                  |    41 +
 .../expression-editor-dialog.tsx                   |   107 +
 .../ingestion-progress-dialog.scss                 |    39 +
 .../ingestion-progress-dialog.tsx                  |   132 +
 .../schema-step/column-list/column-list.scss       |    61 +
 .../schema-step/column-list/column-list.tsx        |   156 +
 .../expression-entry/expression-entry.scss         |    82 +
 .../expression-entry/expression-entry.tsx          |    70 +
 .../schema-step/preview-error/preview-error.scss   |    35 +
 .../schema-step/preview-error/preview-error.tsx    |    41 +
 .../schema-step/preview-table/preview-table.scss   |   146 +
 .../schema-step/preview-table/preview-table.tsx    |   222 +
 .../rollup-analysis-pane/rollup-analysis-pane.scss |    35 +
 .../rollup-analysis-pane/rollup-analysis-pane.tsx  |   342 +
 .../schema-step/schema-step.scss                   |   147 +
 .../schema-step/schema-step.tsx                    |   983 +
 .../sql-data-loader-view/sql-data-loader-view.scss |    85 +
 .../sql-data-loader-view/sql-data-loader-view.tsx  |   201 +
 .../title-frame/title-frame.scss                   |    55 +
 .../title-frame/title-frame.tsx                    |    44 +
 .../cancel-query-dialog/cancel-query-dialog.tsx    |    48 +
 .../connect-external-data-dialog.scss              |    36 +
 .../connect-external-data-dialog.tsx               |    87 +
 .../src/views/workbench-view/demo-queries.ts       |   312 +
 .../execution-details-dialog.scss                  |    35 +
 .../execution-details-dialog.tsx                   |    58 +
 .../execution-details-pane-loader.tsx              |    71 +
 .../execution-details-pane.spec.tsx.snap           |  2154 ++
 .../execution-details-pane.scss                    |    28 +
 .../execution-details-pane.spec.tsx                |    46 +
 .../execution-details-pane.tsx                     |   147 +
 .../execution-error-pane.spec.tsx.snap             |    39 +
 .../execution-error-pane/execution-error-pane.scss |    32 +
 .../execution-error-pane.spec.tsx                  |    32 +
 .../execution-error-pane/execution-error-pane.tsx  |    99 +
 .../execution-progress-bar-pane.spec.tsx.snap      |    23 +
 .../execution-progress-bar-pane.scss               |    40 +
 .../execution-progress-bar-pane.spec.tsx           |    34 +
 .../execution-progress-bar-pane.tsx                |    95 +
 .../execution-progress-pane.scss                   |    73 +
 .../execution-progress-pane.tsx                    |    62 +
 .../execution-stages-pane-loader.tsx               |    62 +
 .../execution-stages-pane.spec.tsx.snap            |   427 +
 .../execution-stages-pane.scss                     |   104 +
 .../execution-stages-pane.spec.tsx                 |    34 +
 .../execution-stages-pane.tsx                      |   649 +
 .../execution-submit-dialog.scss                   |    31 +
 .../execution-submit-dialog.tsx                    |   139 +
 .../execution-summary-panel.scss                   |    22 +
 .../execution-summary-panel.tsx                    |   100 +
 .../execution-timer-panel.spec.tsx.snap            |    59 +
 .../execution-timer-panel.scss                     |    23 +
 .../execution-timer-panel.spec.tsx                 |    49 +
 .../execution-timer-panel.tsx                      |    71 +
 .../execution-warnings-pane.scss                   |    23 +
 .../execution-warnings-pane.tsx                    |    45 +
 .../execution-warnings-pane/warning-callout.scss   |    23 +
 .../execution-warnings-pane/warning-callout.tsx    |    53 +
 .../flexible-query-input.spec.tsx.snap             |   111 +
 .../flexible-query-input/flexible-query-input.scss |    27 +
 .../flexible-query-input.spec.tsx                  |    47 +
 .../flexible-query-input/flexible-query-input.tsx  |   337 +
 .../workbench-view/helper-query/helper-query.scss  |   100 +
 .../workbench-view/helper-query/helper-query.tsx   |   408 +
 .../ingest-success-pane.spec.tsx.snap              |    30 +
 .../ingest-success-pane/ingest-success-pane.scss   |    32 +
 .../ingest-success-pane.spec.tsx                   |    38 +
 .../ingest-success-pane/ingest-success-pane.tsx    |    91 +
 .../input-format-step/input-format-step.scss       |    70 +
 .../input-format-step/input-format-step.tsx        |   259 +
 .../input-source-step/example-inputs.ts            |   159 +
 .../input-source-step/input-source-info.tsx        |    78 +
 .../input-source-step/input-source-step.scss       |   131 +
 .../input-source-step/input-source-step.tsx        |   343 +
 .../__snapshots__/max-tasks-button.spec.tsx.snap   |   205 +
 .../max-tasks-button/max-tasks-button.spec.tsx     |    30 +
 .../max-tasks-button/max-tasks-button.tsx          |   116 +
 .../workbench-view/metadata-change-detector.tsx    |    39 +
 .../views/workbench-view/metadata-state-store.ts   |    29 +
 .../views/workbench-view/query-tab/query-tab.scss  |   147 +
 .../views/workbench-view/query-tab/query-tab.tsx   |   457 +
 .../recent-query-task-panel.scss                   |   121 +
 .../recent-query-task-panel.tsx                    |   275 +
 .../result-table-pane/result-table-pane.scss       |   117 +
 .../result-table-pane/result-table-pane.tsx        |   780 +
 .../views/workbench-view/run-panel/run-panel.scss  |    26 +
 .../views/workbench-view/run-panel/run-panel.tsx   |   422 +
 .../tab-rename-dialog/tab-rename-dialog.tsx        |    70 +
 .../time-floor-menu-item/time-floor-menu-item.tsx  |   102 +
 .../src/views/workbench-view/work-state-store.ts   |    29 +
 .../workbench-history-dialog.scss                  |    79 +
 .../workbench-history-dialog.tsx                   |   134 +
 .../src/views/workbench-view/workbench-view.scss   |   122 +
 .../src/views/workbench-view/workbench-view.tsx    |   805 +
 web-console/unified-console.html                   |     4 +-
 website/.spelling                                  |   174 +-
 website/i18n/en.json                               |   187 +-
 website/package-lock.json                          | 25483 ++++++++++++---
 website/package.json                               |    18 +-
 website/pom.xml                                    |     2 +-
 website/redirects.json                             |    23 +-
 website/script/fix-docsearch.js                    |    45 +
 website/script/fix-path.js                         |     7 +
 website/script/notify-spellcheck-issues            |    29 +
 website/scss/custom.scss                           |    19 +-
 website/sidebars.json                              |    50 +-
 website/siteConfig.js                              |     3 +-
 website/static/css/custom.css                      |    17 +-
 1993 files changed, 196782 insertions(+), 30540 deletions(-)
 create mode 100644 core/src/main/java/org/apache/druid/data/input/impl/JsonNodeReader.java
 create mode 100644 core/src/main/java/org/apache/druid/guice/annotations/NativeQuery.java
 create mode 100644 core/src/main/java/org/apache/druid/java/util/emitter/core/EventMap.java
 create mode 100644 core/src/main/java/org/apache/druid/java/util/emitter/core/EventMapSerializer.java
 create mode 100644 core/src/main/java/org/apache/druid/math/expr/ExpressionProcessingException.java
 create mode 100644 core/src/main/java/org/apache/druid/math/expr/ExpressionValidationException.java
 create mode 100644 core/src/main/java/org/apache/druid/math/expr/NamedFunction.java
 create mode 100644 core/src/main/java/org/apache/druid/storage/StorageConnector.java
 create mode 100644 core/src/main/java/org/apache/druid/storage/StorageConnectorModule.java
 create mode 100644 core/src/main/java/org/apache/druid/storage/StorageConnectorProvider.java
 create mode 100644 core/src/main/java/org/apache/druid/storage/local/LocalFileStorageConnector.java
 create mode 100644 core/src/main/java/org/apache/druid/storage/local/LocalFileStorageConnectorProvider.java
 create mode 100644 core/src/test/java/org/apache/druid/data/input/impl/JsonNodeReaderTest.java
 create mode 100644 core/src/test/java/org/apache/druid/java/util/common/parsers/JSONFlattenerMakerTest.java
 delete mode 100644 core/src/test/java/org/apache/druid/java/util/metrics/GcNameTest.java
 create mode 100644 core/src/test/java/org/apache/druid/storage/StorageConnectorModuleTest.java
 create mode 100644 core/src/test/java/org/apache/druid/storage/local/LocalFileStorageConnectorTest.java
 create mode 100644 core/src/test/resources/list.json
 create mode 100644 docs/assets/multi-stage-query/msq-ui-download-query-results.png
 create mode 100644 docs/assets/multi-stage-query/tutorial-msq-convert.png
 create mode 100644 docs/assets/multi-stage-query/ui-annotated.png
 create mode 100644 docs/assets/multi-stage-query/ui-empty.png
 create mode 100644 docs/assets/nested-combined-json.png
 create mode 100644 docs/assets/nested-display-data-types.png
 create mode 100644 docs/assets/nested-examine-schema.png
 create mode 100644 docs/assets/nested-extract-as-type.png
 create mode 100644 docs/assets/nested-extract-elements.png
 create mode 100644 docs/assets/nested-group-aggregate.png
 create mode 100644 docs/assets/nested-msq-ingestion-transform.png
 create mode 100644 docs/assets/nested-msq-ingestion.png
 create mode 100644 docs/assets/nested-parse-deserialize.png
 create mode 100644 docs/assets/nested-retrieve-json.png
 create mode 100644 docs/assets/nested-return-json.png
 delete mode 100644 docs/assets/tutorial-query-035.png
 delete mode 100644 docs/assets/tutorial-query-08.png
 create mode 100644 docs/assets/tutorial-quickstart-02.png
 create mode 100644 docs/assets/tutorial-quickstart-03.png
 create mode 100644 docs/assets/tutorial-quickstart-04.png
 create mode 100644 docs/assets/tutorial-quickstart-05.png
 create mode 100644 docs/assets/tutorial-theta-01.png
 create mode 100644 docs/assets/tutorial-theta-02.png
 create mode 100644 docs/assets/tutorial-theta-03.png
 create mode 100644 docs/assets/tutorial-theta-04.png
 create mode 100644 docs/assets/tutorial-theta-05.png
 create mode 100644 docs/assets/tutorial-theta-06.png
 create mode 100644 docs/assets/tutorial-theta-07.png
 create mode 100644 docs/assets/tutorial-theta-08.png
 create mode 100644 docs/assets/tutorial-theta-09.png
 create mode 100644 docs/assets/tutorial-theta-10.png
 create mode 100644 docs/assets/tutorial-theta-11.png
 create mode 100644 docs/data-management/automatic-compaction.md
 create mode 100644 docs/data-management/compaction.md
 create mode 100644 docs/data-management/delete.md
 create mode 100644 docs/data-management/index.md
 create mode 100644 docs/data-management/schema-changes.md
 create mode 100644 docs/data-management/update.md
 create mode 100644 docs/development/extensions-contrib/compressed-big-decimal.md
 create mode 100644 docs/development/extensions-core/datasketches-kll.md
 delete mode 100644 docs/ingestion/automatic-compaction.md
 delete mode 100644 docs/ingestion/compaction.md
 delete mode 100644 docs/ingestion/data-management.md
 create mode 100644 docs/multi-stage-query/api.md
 create mode 100644 docs/multi-stage-query/concepts.md
 create mode 100644 docs/multi-stage-query/examples.md
 create mode 100644 docs/multi-stage-query/index.md
 create mode 100644 docs/multi-stage-query/known-issues.md
 create mode 100644 docs/multi-stage-query/reference.md
 create mode 100644 docs/multi-stage-query/security.md
 delete mode 100644 docs/operations/druid-console.md
 delete mode 100644 docs/operations/management-uis.md
 create mode 100644 docs/operations/web-console.md
 create mode 100644 docs/querying/nested-columns.md
 create mode 100644 docs/querying/sql-json-functions.md
 create mode 100644 docs/tutorials/tutorial-batch-native.md
 create mode 100644 docs/tutorials/tutorial-msq-convert-spec.md
 create mode 100644 docs/tutorials/tutorial-msq-extern.md
 create mode 100644 docs/tutorials/tutorial-sketches-theta.md
 create mode 100755 examples/bin/greet
 create mode 100644 extensions-contrib/compressed-bigdecimal/pom.xml
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/ArrayCompressedBigDecimal.java
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/ByteBufferCompressedBigDecimal.java
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimal.java
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregateCombiner.java
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregator.java
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregatorFactory.java
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalBufferAggregator.java
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalColumn.java
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalColumnPartSupplier.java
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalJsonSerializer.java
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalLongColumnSerializer.java
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalMetricSerde.java
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalModule.java
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalObjectStrategy.java
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSqlAggregator.java
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/ObjBiIntConsumer.java
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/Utils.java
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/AggregatorCombinerFactoryTest.java
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/ArrayCompressedBigDecimalTest.java
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregatorGroupByTest.java
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalAggregatorTimeseriesTest.java
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/test/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSqlAggregatorTest.java
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/test/resources/bd_test_aggregators.json
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/test/resources/bd_test_data.csv
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/test/resources/bd_test_data_parser.json
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/test/resources/bd_test_groupby_query.json
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/test/resources/bd_test_timeseries_query.json
 create mode 100644 extensions-contrib/compressed-bigdecimal/src/test/resources/bd_test_zero_data.csv
 create mode 100644 extensions-contrib/moving-average-query/src/test/java/org/apache/druid/query/movingaverage/averagers/AveragerFactoryWrapperTest.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchAggregatorFactory.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchBuildAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchBuildBufferAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchBuildBufferAggregatorHelper.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchBuildVectorAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchComplexMetricSerde.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchJsonSerializer.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchMergeAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchMergeAggregatorFactory.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchMergeBufferAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchMergeBufferAggregatorHelper.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchMergeVectorAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchObjectStrategy.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchOperations.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchToCDFPostAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchToHistogramPostAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchToQuantilePostAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchToQuantilesPostAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchToRankPostAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchToStringPostAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchAggregatorFactory.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchBuildAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchBuildBufferAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchBuildBufferAggregatorHelper.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchBuildVectorAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchComplexMetricSerde.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchJsonSerializer.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchMergeAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchMergeAggregatorFactory.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchMergeBufferAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchMergeBufferAggregatorHelper.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchMergeVectorAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchObjectStrategy.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchOperations.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchToCDFPostAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchToHistogramPostAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchToQuantilePostAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchToQuantilesPostAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchToRankPostAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchToStringPostAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllSketchAggregatorFactory.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllSketchBuildAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllSketchBuildBufferAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllSketchBuildBufferAggregatorHelper.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllSketchMergeAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllSketchMergeAggregatorFactory.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllSketchMergeBufferAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllSketchMergeBufferAggregatorHelper.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllSketchModule.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllSketchNoOpAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/KllSketchNoOpBufferAggregator.java
 create mode 100644 extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/kll/package-info.java
 create mode 100644 extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/kll/GenerateTestData.java
 create mode 100644 extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchAggregatorFactoryTest.java
 create mode 100644 extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchAggregatorTest.java
 create mode 100644 extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchComplexMetricSerdeTest.java
 create mode 100644 extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchMergeAggregatorFactoryTest.java
 create mode 100644 extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchToCDFPostAggregatorTest.java
 create mode 100644 extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchToHistogramPostAggregatorTest.java
 create mode 100644 extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchToQuantilePostAggregatorTest.java
 create mode 100644 extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchToQuantilesPostAggregatorTest.java
 create mode 100644 extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchToRankPostAggregatorTest.java
 create mode 100644 extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/kll/KllDoublesSketchToStringPostAggregatorTest.java
 create mode 100644 extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchAggregatorFactoryTest.java
 create mode 100644 extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchAggregatorTest.java
 create mode 100644 extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchComplexMetricSerdeTest.java
 create mode 100644 extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchMergeAggregatorFactoryTest.java
 create mode 100644 extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchToCDFPostAggregatorTest.java
 create mode 100644 extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchToHistogramPostAggregatorTest.java
 create mode 100644 extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchToQuantilePostAggregatorTest.java
 create mode 100644 extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchToQuantilesPostAggregatorTest.java
 create mode 100644 extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchToRankPostAggregatorTest.java
 create mode 100644 extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/kll/KllFloatsSketchToStringPostAggregatorTest.java
 create mode 100644 extensions-core/datasketches/src/test/resources/kll/kll_doubles_sketch_build_data.tsv
 create mode 100644 extensions-core/datasketches/src/test/resources/kll/kll_doubles_sketch_data.tsv
 create mode 100644 extensions-core/datasketches/src/test/resources/kll/kll_floats_sketch_build_data.tsv
 create mode 100644 extensions-core/datasketches/src/test/resources/kll/kll_floats_sketch_data.tsv
 create mode 100644 extensions-core/multi-stage-query/README.md
 create mode 100644 extensions-core/multi-stage-query/pom.xml
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/guice/annotations/MSQ.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/counters/ChannelCounters.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/counters/CounterNames.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/counters/CounterSnapshots.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/counters/CounterSnapshotsSerializer.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/counters/CounterSnapshotsTree.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/counters/CounterTracker.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/counters/QueryCounter.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/counters/QueryCounterSnapshot.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/counters/SuperSorterProgressTrackerCounter.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/counters/WarningCounters.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/exec/Controller.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/exec/ControllerClient.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/exec/ControllerContext.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/exec/ControllerImpl.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/exec/ExceptionWrappingWorkerClient.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/exec/Limits.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/exec/MSQTasks.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/exec/QueryValidator.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/exec/TaskDataSegmentProvider.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/exec/Worker.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/exec/WorkerClient.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/exec/WorkerContext.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/exec/WorkerImpl.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/exec/WorkerManagerClient.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/exec/WorkerMemoryParameters.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/guice/MSQDurableStorageModule.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/guice/MSQExternalDataSourceModule.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/guice/MSQIndexingModule.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/guice/MSQServiceClientModule.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/guice/MSQSqlModule.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/guice/MultiStageQuery.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/guice/SqlTaskModule.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/ColumnMapping.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/ColumnMappings.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/ControllerChatHandler.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/CountableInputSourceReader.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/CountingOutputChannelFactory.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/CountingReadableFrameChannel.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/CountingWritableFrameChannel.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/DataSourceMSQDestination.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/IndexerControllerClient.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/IndexerControllerContext.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/IndexerFrameContext.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/IndexerWorkerClient.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/IndexerWorkerContext.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/IndexerWorkerManagerClient.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/InputChannelFactory.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/InputChannelsImpl.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/KeyStatisticsCollectionProcessor.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/MSQControllerTask.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/MSQDestination.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/MSQPartitionAssignment.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/MSQSpec.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/MSQTaskList.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/MSQTuningConfig.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/MSQWorkerTask.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/MSQWorkerTaskLauncher.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/SegmentGeneratorFrameProcessor.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/SegmentGeneratorFrameProcessorFactory.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/TaskReportMSQDestination.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/WorkerChatHandler.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/BaseMSQFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/BroadcastTablesTooLargeFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/CanceledFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/CannotParseExternalDataFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/ColumnNameRestrictedFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/ColumnTypeNotSupportedFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/DurableStorageConfigurationFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/FaultsExceededChecker.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/InsertCannotAllocateSegmentFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/InsertCannotBeEmptyFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/InsertCannotOrderByDescendingFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/InsertCannotReplaceExistingSegmentFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/InsertLockPreemptedFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/InsertTimeNullFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/InsertTimeOutOfBoundsFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/InvalidNullByteFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/MSQErrorReport.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/MSQException.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/MSQFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/MSQWarningReportLimiterPublisher.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/MSQWarningReportPublisher.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/MSQWarningReportSimplePublisher.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/MSQWarnings.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/NotEnoughMemoryFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/QueryNotSupportedFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/RowTooLargeFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/TaskStartTimeoutFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/TooManyBucketsFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/TooManyColumnsFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/TooManyInputFilesFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/TooManyPartitionsFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/TooManyWarningsFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/TooManyWorkersFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/UnknownFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/WorkerFailedFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/WorkerRpcFailedFault.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/report/MSQResultsReport.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/report/MSQStagesReport.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/report/MSQStatusReport.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/report/MSQTaskReport.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/report/MSQTaskReportPayload.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/InputSlice.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/InputSliceReader.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/InputSlices.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/InputSpec.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/InputSpecSlicer.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/InputSpecSlicerFactory.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/InputSpecs.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/MapInputSliceReader.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/MapInputSpecSlicer.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/NilInputSlice.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/NilInputSliceReader.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/NilInputSource.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/ReadableInput.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/ReadableInputs.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/SlicerUtils.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/external/ExternalInputSlice.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/external/ExternalInputSliceReader.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/external/ExternalInputSpec.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/external/ExternalInputSpecSlicer.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/stage/CollectedReadablePartitions.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/stage/CombinedReadablePartitions.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/stage/InputChannels.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/stage/ReadablePartition.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/stage/ReadablePartitions.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/stage/StageInputSlice.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/stage/StageInputSliceReader.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/stage/StageInputSpec.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/stage/StageInputSpecSlicer.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/stage/StripedReadablePartitions.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/table/RichSegmentDescriptor.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/table/SegmentWithDescriptor.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/table/SegmentsInputSlice.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/table/SegmentsInputSliceReader.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/table/TableInputSpec.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/input/table/TableInputSpecSlicer.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/kernel/ExtraInfoHolder.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/kernel/FrameContext.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/kernel/FrameProcessorFactory.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/kernel/MaxCountShuffleSpec.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/kernel/NilExtraInfoHolder.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/kernel/ProcessorsAndChannels.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/kernel/QueryDefinition.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/kernel/QueryDefinitionBuilder.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/kernel/ShuffleSpec.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/kernel/StageDefinition.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/kernel/StageDefinitionBuilder.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/kernel/StageId.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/kernel/StagePartition.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/kernel/TargetSizeShuffleSpec.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/kernel/WorkOrder.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/kernel/WorkerAssignmentStrategy.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/kernel/controller/ControllerQueryKernel.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/kernel/controller/ControllerStagePhase.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/kernel/controller/ControllerStageTracker.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/kernel/controller/WorkerInputs.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/kernel/worker/WorkerStageKernel.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/kernel/worker/WorkerStagePhase.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/BaseFrameProcessorFactory.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/BaseLeafFrameProcessor.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/BaseLeafFrameProcessorFactory.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/BroadcastJoinHelper.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/DataSegmentProvider.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/DataSegmentTimelineView.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/DataSourcePlan.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/InputNumberDataSource.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/LazyResourceHolder.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/MultiQueryKit.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/QueryKit.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/QueryKitUtils.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/ShuffleSpecFactories.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/ShuffleSpecFactory.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/common/OffsetLimitFrameProcessor.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/common/OffsetLimitFrameProcessorFactory.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/groupby/GroupByPostShuffleFrameProcessor.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/groupby/GroupByPostShuffleFrameProcessorFactory.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/groupby/GroupByPreShuffleFrameProcessor.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/groupby/GroupByPreShuffleFrameProcessorFactory.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/groupby/GroupByQueryKit.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/scan/ScanQueryFrameProcessor.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/scan/ScanQueryFrameProcessorFactory.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/scan/ScanQueryKit.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/rpc/CoordinatorServiceClient.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/rpc/CoordinatorServiceClientImpl.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/shuffle/DurableStorageInputChannelFactory.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/shuffle/DurableStorageOutputChannelFactory.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/shuffle/WorkerInputChannelFactory.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/sql/MSQMode.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/sql/MSQTaskQueryMaker.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/sql/MSQTaskSqlEngine.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/sql/SqlTaskResource.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/sql/SqlTaskStatus.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/statistics/ClusterByStatisticsCollector.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/statistics/ClusterByStatisticsCollectorImpl.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/statistics/ClusterByStatisticsSnapshot.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/statistics/DelegateOrMinKeyCollector.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/statistics/DelegateOrMinKeyCollectorFactory.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/statistics/DelegateOrMinKeyCollectorSnapshot.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/statistics/DistinctKeyCollector.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/statistics/DistinctKeyCollectorFactory.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/statistics/DistinctKeySnapshot.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/statistics/KeyCollector.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/statistics/KeyCollectorFactory.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/statistics/KeyCollectorSnapshot.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/statistics/KeyCollectorSnapshotDeserializerModule.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/statistics/KeyCollectors.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/statistics/QuantilesSketchKeyCollector.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/statistics/QuantilesSketchKeyCollectorFactory.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/statistics/QuantilesSketchKeyCollectorSnapshot.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/statistics/TooManyBucketsException.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/util/DecoratedExecutorService.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/util/DimensionSchemaUtils.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/util/IntervalUtils.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/util/MSQFutureUtils.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/util/MultiStageQueryContext.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/util/PassthroughAggregator.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/util/PassthroughAggregatorFactory.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/util/SequenceUtils.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/util/SupplierIterator.java
 create mode 100644 extensions-core/multi-stage-query/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
 create mode 100644 extensions-core/multi-stage-query/src/main/resources/log4j2.xml
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/TestArrayStorageAdapter.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/counters/CountersSnapshotTreeTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/MSQInsertTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/MSQReplaceTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/MSQSelectTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/MSQTasksTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/QueryValidatorTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/WorkerMemoryParametersTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/indexing/ColumnMappingTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/indexing/DataSourceMSQDestinationTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/indexing/IndexerWorkerContextTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/indexing/MSQPartitionAssignmentTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/indexing/MSQSpecTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/indexing/MSQTuningConfigTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/indexing/error/InsertLockPreemptedFaultTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/indexing/error/MSQFaultSerdeTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/indexing/error/MSQWarningsTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/indexing/report/MSQTaskReportTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/input/InputSpecsTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/input/NilInputSliceTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/input/external/ExternalInputSliceTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/input/external/ExternalInputSpecSlicerTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/input/external/ExternalInputSpecTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/input/stage/CollectedReadablePartitionsTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/input/stage/CombinedReadablePartitionsTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/input/stage/ReadablePartitionTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/input/stage/StageInputSliceTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/input/stage/StageInputSpecSlicerTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/input/stage/StageInputSpecTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/input/stage/StripedReadablePartitionsTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/input/table/RichSegmentDescriptorTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/input/table/SegmentWithDescriptorTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/input/table/SegmentsInputSliceTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/input/table/TableInputSpecSlicerTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/input/table/TableInputSpecTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/kernel/QueryDefinitionTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/kernel/StageDefinitionTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/kernel/StageIdTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/kernel/WorkOrderTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/kernel/controller/BaseControllerQueryKernelTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/kernel/controller/ControllerQueryKernelTests.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/kernel/controller/ControllerTestInputSlice.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/kernel/controller/ControllerTestInputSpec.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/kernel/controller/ControllerTestInputSpecSlicer.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/kernel/controller/MockQueryDefinitionBuilder.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/kernel/controller/WorkerInputsTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/querykit/BroadcastJoinHelperTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/querykit/scan/ScanQueryFrameProcessorTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/sql/MSQModeTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/sql/MSQTaskQueryMakerTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/sql/SqlTaskStatusTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/statistics/ClusterByStatisticsCollectorImplTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/statistics/DelegateOrMinKeyCollectorTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/statistics/DistinctKeyCollectorTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/statistics/KeyCollectorTestUtils.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/statistics/QuantilesSketchKeyCollectorSnapshotTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/statistics/QuantilesSketchKeyCollectorTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/MSQTestBase.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/MSQTestControllerClient.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/MSQTestControllerContext.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/MSQTestDelegateDataSegmentPusher.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/MSQTestOverlordServiceClient.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/MSQTestSegmentManager.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/MSQTestTaskActionClient.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/MSQTestWorkerClient.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/MSQTestWorkerContext.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/util/IntervalUtilsTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/util/MultiStageQueryContextTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/util/PassthroughAggregatorFactoryTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/resources/unparseable.gz
 create mode 100644 extensions-core/multi-stage-query/src/test/resources/wikipedia-sampled-unparsable.json
 create mode 100644 extensions-core/multi-stage-query/src/test/resources/wikipedia-sampled.json
 create mode 100644 extensions-core/orc-extensions/src/test/java/org/apache/druid/data/input/orc/OrcInputFormatTest.java
 create mode 100644 extensions-core/s3-extensions/src/main/java/org/apache/druid/storage/s3/output/RetryableS3OutputStream.java
 create mode 100644 extensions-core/s3-extensions/src/main/java/org/apache/druid/storage/s3/output/S3OutputConfig.java
 create mode 100644 extensions-core/s3-extensions/src/main/java/org/apache/druid/storage/s3/output/S3StorageConnector.java
 create mode 100644 extensions-core/s3-extensions/src/main/java/org/apache/druid/storage/s3/output/S3StorageConnectorModule.java
 create mode 100644 extensions-core/s3-extensions/src/main/java/org/apache/druid/storage/s3/output/S3StorageConnectorProvider.java
 create mode 100644 extensions-core/s3-extensions/src/test/java/org/apache/druid/data/input/s3/S3InputSourceConfigTest.java
 create mode 100644 extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/S3StorageConnectorProviderTest.java
 create mode 100644 extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/RetryableS3OutputStreamTest.java
 create mode 100644 extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/S3OutputConfigTest.java
 create mode 100644 extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/S3OutputSerdeTest.java
 create mode 100644 extensions-core/s3-extensions/src/test/java/org/apache/druid/storage/s3/output/S3StorageConnectorTest.java
 create mode 100644 extensions-core/testing-tools/.gitignore
 create mode 100644 indexing-service/src/main/java/org/apache/druid/indexing/seekablestream/extension/KafkaConfigOverrides.java
 create mode 100644 indexing-service/src/test/java/org/apache/druid/indexing/common/tasklogs/SwitchingTaskLogStreamerTest.java
 create mode 100644 integration-tests-ex/.gitignore
 create mode 100644 integration-tests-ex/README.md
 create mode 100644 integration-tests-ex/cases/.gitignore
 copy {benchmarks/src/test/resources => integration-tests-ex/cases/assets}/log4j2.xml (100%)
 create mode 100755 integration-tests-ex/cases/cluster.sh
 create mode 100644 integration-tests-ex/cases/cluster/BatchIndex/docker-compose.yaml
 create mode 100644 integration-tests-ex/cases/cluster/Common/dependencies.yaml
 create mode 100644 integration-tests-ex/cases/cluster/Common/druid.yaml
 create mode 100644 integration-tests-ex/cases/cluster/Common/environment-configs/auth.env
 create mode 100644 integration-tests-ex/cases/cluster/Common/environment-configs/broker.env
 create mode 100644 integration-tests-ex/cases/cluster/Common/environment-configs/common.env
 create mode 100644 integration-tests-ex/cases/cluster/Common/environment-configs/coordinator.env
 create mode 100644 integration-tests-ex/cases/cluster/Common/environment-configs/historical.env
 create mode 100644 integration-tests-ex/cases/cluster/Common/environment-configs/indexer.env
 create mode 100644 integration-tests-ex/cases/cluster/Common/environment-configs/middlemanager.env
 create mode 100644 integration-tests-ex/cases/cluster/Common/environment-configs/overlord.env
 create mode 100644 integration-tests-ex/cases/cluster/Common/environment-configs/router.env
 create mode 100644 integration-tests-ex/cases/cluster/HighAvailability/docker-compose.yaml
 create mode 100644 integration-tests-ex/cases/cluster/MultiStageQuery/docker-compose.yaml
 create mode 100644 integration-tests-ex/cases/pom.xml
 create mode 100644 integration-tests-ex/cases/resources/README.md
 copy {integration-tests/src/test => integration-tests-ex/cases}/resources/data/batch_index/avro/wikipedia_index_data1.avro (100%)
 copy {integration-tests/src/test => integration-tests-ex/cases}/resources/data/batch_index/avro/wikipedia_index_data2.avro (100%)
 copy {integration-tests/src/test => integration-tests-ex/cases}/resources/data/batch_index/avro/wikipedia_index_data3.avro (100%)
 copy {integration-tests/src/test => integration-tests-ex/cases}/resources/data/batch_index/csv/wikipedia_index_data1.csv (100%)
 copy {integration-tests/src/test => integration-tests-ex/cases}/resources/data/batch_index/csv/wikipedia_index_data2.csv (100%)
 copy {integration-tests/src/test => integration-tests-ex/cases}/resources/data/batch_index/csv/wikipedia_index_data3.csv (100%)
 copy {integration-tests/src/test => integration-tests-ex/cases}/resources/data/batch_index/hadoop_tsv/batch_hadoop.data (100%)
 copy {integration-tests/src/test => integration-tests-ex/cases}/resources/data/batch_index/json/wikipedia_index_data1.json (100%)
 copy {integration-tests/src/test => integration-tests-ex/cases}/resources/data/batch_index/json/wikipedia_index_data2.json (100%)
 copy {integration-tests/src/test => integration-tests-ex/cases}/resources/data/batch_index/json/wikipedia_index_data3.json (100%)
 copy {integration-tests/src/test => integration-tests-ex/cases}/resources/data/batch_index/orc/wikipedia_index_data1.orc (100%)
 copy {integration-tests/src/test => integration-tests-ex/cases}/resources/data/batch_index/orc/wikipedia_index_data2.orc (100%)
 copy {integration-tests/src/test => integration-tests-ex/cases}/resources/data/batch_index/orc/wikipedia_index_data3.orc (100%)
 copy {integration-tests/src/test => integration-tests-ex/cases}/resources/data/batch_index/parquet/wikipedia_index_data1.parquet (100%)
 copy {integration-tests/src/test => integration-tests-ex/cases}/resources/data/batch_index/parquet/wikipedia_index_data2.parquet (100%)
 copy {integration-tests/src/test => integration-tests-ex/cases}/resources/data/batch_index/parquet/wikipedia_index_data3.parquet (100%)
 copy {integration-tests/src/test => integration-tests-ex/cases}/resources/data/batch_index/tsv/wikipedia_index_data1.tsv (100%)
 copy {integration-tests/src/test => integration-tests-ex/cases}/resources/data/batch_index/tsv/wikipedia_index_data2.tsv (100%)
 copy {integration-tests/src/test => integration-tests-ex/cases}/resources/data/batch_index/tsv/wikipedia_index_data3.tsv (100%)
 copy {integration-tests/src/test => integration-tests-ex/cases}/resources/indexer/wikipedia_combining_index_data.json (100%)
 copy {integration-tests/src/test => integration-tests-ex/cases}/resources/indexer/wikipedia_index_queries_only_data3.json (100%)
 copy {integration-tests/src/test => integration-tests-ex/cases}/resources/indexer/wikipedia_realtime_index_data.json (100%)
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/categories/BatchIndex.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/categories/HighAvailability.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/categories/MultiStageQuery.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/cluster/DruidClusterClient.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/cluster/KafkaClient.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/cluster/MetastoreClient.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/cluster/ZooKeeperClient.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/config/Cluster.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/config/ClusterConfig.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/config/ClusterConfigTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/config/Configure.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/config/DruidTestRunner.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/config/Initializer.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/config/IntegrationTestingConfigEx.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/config/KafkaConfig.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/config/MetastoreConfig.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/config/MetastoreStmt.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/config/ResolvedConfig.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/config/ResolvedDruidService.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/config/ResolvedMetastore.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/config/ResolvedService.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/config/ServiceConfig.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/config/ServiceInstance.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/config/TestConfigs.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/indexer/AbstractITBatchIndexTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/indexer/AbstractIndexerTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/indexer/AbstractLocalInputSourceParallelIndexTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/indexer/ITBestEffortRollupParallelIndexTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/indexer/ITCombiningFirehoseFactoryIndexTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/indexer/ITCombiningInputSourceParallelIndexTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/indexer/ITIndexerTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/indexer/ITOverwriteBatchIndexTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/indexer/ITSystemTableBatchIndexTaskTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/indexer/ITTransformTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/leadership/ITHighAvailabilityTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/msq/ITMultiStageQuery.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/utils/DruidClusterAdminClient.java
 create mode 100644 integration-tests-ex/cases/src/test/resources/cluster/BatchIndex/docker.yaml
 create mode 100644 integration-tests-ex/cases/src/test/resources/cluster/Common/kafka.yaml
 create mode 100644 integration-tests-ex/cases/src/test/resources/cluster/Common/zk-metastore.yaml
 create mode 100644 integration-tests-ex/cases/src/test/resources/cluster/HighAvailability/docker.yaml
 copy integration-tests/src/test/resources/queries/high_availability_sys.json => integration-tests-ex/cases/src/test/resources/cluster/HighAvailability/queries/sys.json (100%)
 create mode 100644 integration-tests-ex/cases/src/test/resources/cluster/MultiStageQuery/docker.yaml
 create mode 100644 integration-tests-ex/cases/src/test/resources/config-test/test.yaml
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/broadcast_join_index_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/json_path_index_queries.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/json_path_index_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/segment_metadata_query.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/sparse_column_index_queries.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/sparse_column_index_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/sparse_column_with_dim_compaction_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/sparse_column_without_dim_compaction_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/sys_segment_batch_index_queries.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_cloud_index_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_cloud_simple_index_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_combining_firehose_index_queries.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_combining_firehose_index_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_combining_input_source_index_parallel_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_compaction_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_compaction_task_with_granularity_spec.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_compaction_task_with_segment_granularity.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_double_ingestion_non_perfect_rollup_index_queries.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_double_ingestion_perfect_rollup_index_queries.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_http_inputsource_queries.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_http_inputsource_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_index_queries.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_index_queries_hour_query_granularity.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_index_queries_with_transform.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_index_queries_year_query_granularity.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_index_rollup_queries.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_index_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_index_task_with_dimension_spec.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_index_task_with_granularity_spec.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_index_task_with_inputsource_transform.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_index_task_with_transform.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_index_with_merge_column_limit_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_local_input_source_index_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_merge_index_queries.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_merge_index_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_merge_reindex_druid_input_source_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_merge_reindex_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_override_credentials_index_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_parallel_druid_input_source_index_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_parallel_index_queries.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_parallel_index_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_parallel_index_using_sqlinputsource_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_parallel_ingest_segment_index_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_parallel_reindex_queries.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_parallel_reindex_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_realtime_appenderator_index_queries.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_realtime_appenderator_index_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_realtime_index_queries.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_realtime_index_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_reindex_druid_input_source_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_reindex_druid_input_source_task_with_transforms.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_reindex_queries.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_reindex_queries_with_transforms.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_reindex_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_reindex_task_with_transforms.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_union_index_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikipedia_with_timestamp_index_task.json (100%)
 copy {integration-tests => integration-tests-ex/cases}/src/test/resources/indexer/wikiticker_index_task.json (100%)
 create mode 100644 integration-tests-ex/cases/src/test/resources/multi-stage-query/wikipedia_msq_select_query1.json
 create mode 100644 integration-tests-ex/docs/compose.md
 create mode 100644 integration-tests-ex/docs/conversion.md
 create mode 100644 integration-tests-ex/docs/debugging.md
 create mode 100644 integration-tests-ex/docs/dependencies.md
 create mode 100644 integration-tests-ex/docs/docker.md
 create mode 100644 integration-tests-ex/docs/druid-config.md
 create mode 100644 integration-tests-ex/docs/guide.md
 create mode 100644 integration-tests-ex/docs/history.md
 create mode 100644 integration-tests-ex/docs/maven.md
 create mode 100644 integration-tests-ex/docs/next-steps.md
 create mode 100644 integration-tests-ex/docs/quickstart.md
 create mode 100644 integration-tests-ex/docs/runtime.md
 create mode 100644 integration-tests-ex/docs/scripts.md
 create mode 100644 integration-tests-ex/docs/test-config.md
 create mode 100644 integration-tests-ex/docs/tests.md
 create mode 100644 integration-tests-ex/docs/travis.md
 create mode 100755 integration-tests-ex/image/build-image.sh
 create mode 100755 integration-tests-ex/image/docker-build.sh
 create mode 100644 integration-tests-ex/image/docker/Dockerfile
 create mode 100644 integration-tests-ex/image/docker/druid.sh
 create mode 100644 integration-tests-ex/image/docker/launch.sh
 create mode 100644 integration-tests-ex/image/docker/test-setup.sh
 create mode 100644 integration-tests-ex/image/pom.xml
 create mode 100755 integration-tests-ex/image/rebuild.sh
 create mode 100644 integration-tests-ex/tools/README.md
 create mode 100644 integration-tests-ex/tools/pom.xml
 create mode 100644 integration-tests-ex/tools/src/main/java/org/apache/druid/testing/tools/CliCustomNodeRole.java
 create mode 100644 integration-tests-ex/tools/src/main/java/org/apache/druid/testing/tools/CliHistoricalForQueryErrorTest.java
 create mode 100644 integration-tests-ex/tools/src/main/java/org/apache/druid/testing/tools/CustomNodeRoleClientModule.java
 create mode 100644 integration-tests-ex/tools/src/main/java/org/apache/druid/testing/tools/CustomNodeRoleCommandCreator.java
 create mode 100644 integration-tests-ex/tools/src/main/java/org/apache/druid/testing/tools/QueryRetryTestCommandCreator.java
 create mode 100644 integration-tests-ex/tools/src/main/java/org/apache/druid/testing/tools/ServerManagerForQueryErrorTest.java
 create mode 100644 integration-tests-ex/tools/src/main/java/org/apache/druid/testing/tools/SleepExprMacro.java
 create mode 100644 integration-tests-ex/tools/src/main/java/org/apache/druid/testing/tools/SleepModule.java
 create mode 100644 integration-tests-ex/tools/src/main/java/org/apache/druid/testing/tools/SleepOperatorConversion.java
 create mode 100644 integration-tests-ex/tools/src/main/java/org/apache/druid/testing/tools/package.java
 create mode 100644 integration-tests-ex/tools/src/main/resources/META-INF/services/org.apache.druid.cli.CliCommandCreator
 create mode 100644 integration-tests-ex/tools/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
 create mode 100644 integration-tests/src/main/java/org/apache/druid/testing/clients/msq/MsqOverlordResourceTestClient.java
 create mode 100644 integration-tests/src/main/java/org/apache/druid/testing/utils/MsqQueryWithResults.java
 create mode 100644 integration-tests/src/main/java/org/apache/druid/testing/utils/MsqTestQueryHelper.java
 create mode 100755 it.sh
 create mode 100644 licenses/bin/zustand.MIT
 create mode 100644 processing/src/main/java/org/apache/druid/query/aggregation/SerializablePairLongStringBufferStore.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/aggregation/SerializablePairLongStringColumnHeader.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/aggregation/SerializablePairLongStringColumnSerializer.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/aggregation/SerializablePairLongStringComplexColumn.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/aggregation/SerializablePairLongStringComplexMetricSerde.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/aggregation/SerializablePairLongStringDeltaEncodedStagedSerde.java
 delete mode 100644 processing/src/main/java/org/apache/druid/query/aggregation/SerializablePairLongStringSerde.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/aggregation/SerializablePairLongStringSimpleStagedSerde.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/aggregation/SerializedStorage.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/expression/ArrayQuantileExprMacro.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/nested/DoubleFieldColumnWriter.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/nested/GlobalDictionaryEncodedFieldColumnWriter.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/nested/LongFieldColumnWriter.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/nested/StringFieldColumnWriter.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/nested/VariantLiteralFieldColumnWriter.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/serde/cell/BlockCompressedPayloadBuffer.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/serde/cell/BlockCompressedPayloadBufferFactory.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/serde/cell/BlockCompressedPayloadReader.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/serde/cell/BlockCompressedPayloadSerializer.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/serde/cell/BlockCompressedPayloadWriter.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/serde/cell/BlockIndexWriter.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/serde/cell/ByteBufferProvider.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/serde/cell/CellIndexReader.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/serde/cell/CellIndexWriter.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/serde/cell/CellReader.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/serde/cell/CellWriter.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/serde/cell/IOIterator.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/serde/cell/IndexWriter.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/serde/cell/IntIndexView.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/serde/cell/IntSerializer.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/serde/cell/LongSerializer.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/serde/cell/NativeClearedByteBufferProvider.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/serde/cell/NumberSerializer.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/serde/cell/PayloadEntrySpan.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/serde/cell/StagedSerde.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/serde/cell/StorableBuffer.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/aggregation/SerializablePairLongStringBufferStoreTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/aggregation/SerializablePairLongStringComplexMetricSerdeTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/aggregation/SerializablePairLongStringDeltaEncodedStagedSerdeTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/aggregation/SerializablePairLongStringSimpleStagedSerdeTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/aggregation/SingleValueColumnValueSelector.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/expression/ArrayQuantileExprMacroTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/serde/cell/BlockCompressedPayloadWriterReaderTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/serde/cell/BlockCompressedPayloadWriterToBytesWriter.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/serde/cell/ByteWriterTestHelper.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/serde/cell/BytesReadWriteTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/serde/cell/BytesReadWriteTestBase.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/serde/cell/BytesReadWriteTestCases.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/serde/cell/BytesWriter.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/serde/cell/BytesWriterBuilder.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/serde/cell/CellWriterReaderTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/serde/cell/CellWriterToBytesWriter.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/serde/cell/RandomStringUtils.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/serde/cell/TestCaseResult.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/serde/cell/TestCasesConfig.java
 delete mode 100644 server/src/main/java/org/apache/druid/curator/ExhibitorConfig.java
 create mode 100644 server/src/main/java/org/apache/druid/server/QueryResponse.java
 delete mode 100644 server/src/test/java/org/apache/druid/curator/ExhibitorConfigTest.java
 create mode 100644 server/src/test/java/org/apache/druid/curator/discovery/LatchableServiceAnnouncer.java
 create mode 100644 server/src/test/java/org/apache/druid/server/coordinator/CreateDataSegments.java
 create mode 100644 server/src/test/java/org/apache/druid/server/coordinator/simulate/BlockingExecutorService.java
 create mode 100644 server/src/test/java/org/apache/druid/server/coordinator/simulate/CoordinatorSimulation.java
 create mode 100644 server/src/test/java/org/apache/druid/server/coordinator/simulate/CoordinatorSimulationBaseTest.java
 create mode 100644 server/src/test/java/org/apache/druid/server/coordinator/simulate/CoordinatorSimulationBuilder.java
 create mode 100644 server/src/test/java/org/apache/druid/server/coordinator/simulate/README.md
 create mode 100644 server/src/test/java/org/apache/druid/server/coordinator/simulate/SegmentBalancingTest.java
 create mode 100644 server/src/test/java/org/apache/druid/server/coordinator/simulate/SegmentLoadingNegativeTest.java
 create mode 100644 server/src/test/java/org/apache/druid/server/coordinator/simulate/SegmentLoadingTest.java
 create mode 100644 server/src/test/java/org/apache/druid/server/coordinator/simulate/TestDruidLeaderSelector.java
 create mode 100644 server/src/test/java/org/apache/druid/server/coordinator/simulate/TestMetadataRuleManager.java
 create mode 100644 server/src/test/java/org/apache/druid/server/coordinator/simulate/TestSegmentLoadingHttpClient.java
 create mode 100644 server/src/test/java/org/apache/druid/server/coordinator/simulate/TestSegmentsMetadataManager.java
 create mode 100644 server/src/test/java/org/apache/druid/server/coordinator/simulate/TestServerInventoryView.java
 create mode 100644 server/src/test/java/org/apache/druid/server/coordinator/simulate/WrappingScheduledExecutorService.java
 create mode 100644 server/src/test/java/org/apache/druid/server/initialization/JettyCertRenewTest.java
 create mode 100644 server/src/test/java/org/apache/druid/server/log/AlertEventSerdeTest.java
 create mode 100644 server/src/test/java/org/apache/druid/server/log/ServiceMetricEventSerdeTest.java
 create mode 100644 server/src/test/resources/server-new.jks
 create mode 100644 server/src/test/resources/status.resource.test.runtime.hpc.properties
 create mode 100644 server/src/test/resources/truststore-new.jks
 create mode 100644 sql/src/main/java/org/apache/druid/sql/AbstractStatement.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/DirectStatement.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/HttpStatement.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/PreparedStatement.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/SqlExecutionReporter.java
 delete mode 100644 sql/src/main/java/org/apache/druid/sql/SqlLifecycle.java
 delete mode 100644 sql/src/main/java/org/apache/druid/sql/SqlLifecycleFactory.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/SqlStatementFactory.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/SqlToolbox.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayQuantileOperatorConversion.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/parser/DruidSqlIngest.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/planner/IngestHandler.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/planner/QueryHandler.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/planner/SqlStatementHandler.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/run/EngineFeature.java
 delete mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/run/NativeQueryMakerFactory.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/run/NativeSqlEngine.java
 delete mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/run/QueryFeature.java
 delete mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/run/QueryFeatureInspector.java
 delete mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/run/QueryMakerFactory.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/run/SqlEngine.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/run/SqlEngines.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/schema/AbstractTableSchema.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/schema/SegmentMetadataCache.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/table/DatasourceTable.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/table/ExternalTable.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/table/InlineTable.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/table/LookupTable.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/view/ViewSqlEngine.java
 create mode 100644 sql/src/main/resources/saffron.properties
 delete mode 100644 sql/src/test/java/org/apache/druid/sql/SqlLifecycleTest.java
 create mode 100644 sql/src/test/java/org/apache/druid/sql/SqlStatementTest.java
 create mode 100644 sql/src/test/java/org/apache/druid/sql/calcite/CalciteScanSignatureTest.java
 create mode 100644 sql/src/test/java/org/apache/druid/sql/calcite/IngestionTestSqlEngine.java
 delete mode 100644 sql/src/test/java/org/apache/druid/sql/calcite/TestQueryMakerFactory.java
 create mode 100644 sql/src/test/java/org/apache/druid/sql/calcite/expression/DruidExpressionTest.java
 create mode 100644 sql/src/test/java/org/apache/druid/sql/calcite/run/NativeQueryMakerTest.java
 delete mode 100644 sql/src/test/java/org/apache/druid/sql/calcite/schema/DruidSchemaConcurrencyTest.java
 delete mode 100644 sql/src/test/java/org/apache/druid/sql/calcite/schema/DruidSchemaTest.java
 delete mode 100644 sql/src/test/java/org/apache/druid/sql/calcite/schema/DruidSchemaTestCommon.java
 create mode 100644 sql/src/test/java/org/apache/druid/sql/calcite/schema/SegmentDataCacheConcurrencyTest.java
 create mode 100644 sql/src/test/java/org/apache/druid/sql/calcite/schema/SegmentMetadataCacheCommon.java
 create mode 100644 sql/src/test/java/org/apache/druid/sql/calcite/schema/SegmentMetadataCacheTest.java
 create mode 100644 web-console/e2e-tests/component/workbench/overview.ts
 create mode 100644 web-console/e2e-tests/multi-stage-query.spec.ts
 create mode 100755 web-console/script/mv
 create mode 100644 web-console/src/components/click-to-copy/__snapshots__/click-to-copy.spec.tsx.snap
 create mode 100644 web-console/src/components/click-to-copy/click-to-copy.spec.tsx
 create mode 100644 web-console/src/components/click-to-copy/click-to-copy.tsx
 delete mode 100644 web-console/src/components/datasource-columns-table/__snapshots__/datasource-columns-table.spec.tsx.snap
 delete mode 100644 web-console/src/components/datasource-columns-table/datasource-columns-table.scss
 delete mode 100644 web-console/src/components/datasource-columns-table/datasource-columns-table.spec.tsx
 delete mode 100644 web-console/src/components/datasource-columns-table/datasource-columns-table.tsx
 create mode 100644 web-console/src/components/fancy-tab-pane/fancy-tab-pane.scss
 create mode 100644 web-console/src/components/fancy-tab-pane/fancy-tab-pane.tsx
 rename web-console/src/{views/load-data-view => components}/learn-more/__snapshots__/learn-more.spec.tsx.snap (100%)
 rename web-console/src/{views/load-data-view => components}/learn-more/learn-more.spec.tsx (100%)
 create mode 100644 web-console/src/components/learn-more/learn-more.tsx
 delete mode 100644 web-console/src/components/lookup-values-table/lookup-values-table.tsx
 create mode 100644 web-console/src/components/menu-tristate/__snapshots__/menu-tristate.spec.tsx.snap
 create mode 100644 web-console/src/components/menu-tristate/menu-tristate.spec.tsx
 create mode 100644 web-console/src/components/menu-tristate/menu-tristate.tsx
 create mode 100644 web-console/src/components/query-error-pane/__snapshots__/query-error-pane.spec.tsx.snap
 create mode 100644 web-console/src/components/query-error-pane/query-error-pane.scss
 create mode 100644 web-console/src/components/query-error-pane/query-error-pane.spec.tsx
 create mode 100644 web-console/src/components/query-error-pane/query-error-pane.tsx
 create mode 100644 web-console/src/components/record-table-pane/record-table-pane.scss
 create mode 100644 web-console/src/components/record-table-pane/record-table-pane.tsx
 delete mode 100644 web-console/src/components/supervisor-statistics-table/supervisor-statistics-table.spec.tsx
 delete mode 100644 web-console/src/components/supervisor-statistics-table/supervisor-statistics-table.tsx
 create mode 100644 web-console/src/dialogs/datasource-table-action-dialog/datasource-columns-table/__snapshots__/datasource-columns-table.spec.tsx.snap
 create mode 100644 web-console/src/dialogs/datasource-table-action-dialog/datasource-columns-table/datasource-columns-table.scss
 create mode 100644 web-console/src/dialogs/datasource-table-action-dialog/datasource-columns-table/datasource-columns-table.spec.tsx
 create mode 100644 web-console/src/dialogs/datasource-table-action-dialog/datasource-columns-table/datasource-columns-table.tsx
 create mode 100644 web-console/src/dialogs/datasource-table-action-dialog/datasource-preview-pane/datasource-preview-pane.scss
 create mode 100644 web-console/src/dialogs/datasource-table-action-dialog/datasource-preview-pane/datasource-preview-pane.tsx
 rename web-console/src/{components => dialogs/lookup-table-action-dialog}/lookup-values-table/__snapshots__/lookup-values-table.spec.tsx.snap (100%)
 rename web-console/src/{components => dialogs/lookup-table-action-dialog}/lookup-values-table/lookup-values-table.scss (100%)
 rename web-console/src/{components => dialogs/lookup-table-action-dialog}/lookup-values-table/lookup-values-table.spec.tsx (100%)
 create mode 100644 web-console/src/dialogs/lookup-table-action-dialog/lookup-values-table/lookup-values-table.tsx
 create mode 100644 web-console/src/dialogs/numeric-input-dialog/numeric-input-dialog.tsx
 delete mode 100644 web-console/src/dialogs/query-history-dialog/query-history-dialog.scss
 delete mode 100644 web-console/src/dialogs/query-history-dialog/query-history-dialog.tsx
 create mode 100644 web-console/src/dialogs/segments-table-action-dialog/segments-preview-pane/parse-segement-id.spec.ts
 create mode 100644 web-console/src/dialogs/segments-table-action-dialog/segments-preview-pane/segments-preview-pane.scss
 create mode 100644 web-console/src/dialogs/segments-table-action-dialog/segments-preview-pane/segments-preview-pane.tsx
 create mode 100644 web-console/src/dialogs/string-input-dialog/string-input-dialog.tsx
 rename web-console/src/{components => dialogs/supervisor-table-action-dialog}/supervisor-statistics-table/__snapshots__/supervisor-statistics-table.spec.tsx.snap (100%)
 rename web-console/src/{components => dialogs/supervisor-table-action-dialog}/supervisor-statistics-table/supervisor-statistics-table.scss (100%)
 create mode 100644 web-console/src/dialogs/supervisor-table-action-dialog/supervisor-statistics-table/supervisor-statistics-table.spec.tsx
 create mode 100644 web-console/src/dialogs/supervisor-table-action-dialog/supervisor-statistics-table/supervisor-statistics-table.tsx
 delete mode 100644 web-console/src/druid-models/compaction-config.tsx
 create mode 100644 web-console/src/druid-models/compaction-config/compaction-config.tsx
 delete mode 100644 web-console/src/druid-models/compaction-status.spec.ts
 delete mode 100644 web-console/src/druid-models/compaction-status.ts
 create mode 100644 web-console/src/druid-models/compaction-status/compaction-status.spec.ts
 create mode 100644 web-console/src/druid-models/compaction-status/compaction-status.ts
 delete mode 100644 web-console/src/druid-models/coordinator-dynamic-config.tsx
 create mode 100644 web-console/src/druid-models/coordinator-dynamic-config/coordinator-dynamic-config.tsx
 delete mode 100644 web-console/src/druid-models/dimension-spec.spec.ts
 delete mode 100644 web-console/src/druid-models/dimension-spec.ts
 create mode 100644 web-console/src/druid-models/dimension-spec/dimension-spec.spec.ts
 create mode 100644 web-console/src/druid-models/dimension-spec/dimension-spec.ts
 create mode 100644 web-console/src/druid-models/druid-engine/druid-engine.ts
 create mode 100644 web-console/src/druid-models/execution/execution-ingest-complete.mock.ts
 create mode 100644 web-console/src/druid-models/execution/execution-ingest-error.mock.ts
 create mode 100644 web-console/src/druid-models/execution/execution.spec.ts
 create mode 100644 web-console/src/druid-models/execution/execution.ts
 create mode 100644 web-console/src/druid-models/external-config/external-config.ts
 delete mode 100644 web-console/src/druid-models/filter.tsx
 create mode 100644 web-console/src/druid-models/filter/filter.tsx
 delete mode 100644 web-console/src/druid-models/flatten-spec.spec.ts
 delete mode 100644 web-console/src/druid-models/flatten-spec.tsx
 create mode 100644 web-console/src/druid-models/flatten-spec/flatten-spec.spec.ts
 create mode 100644 web-console/src/druid-models/flatten-spec/flatten-spec.tsx
 create mode 100644 web-console/src/druid-models/ingest-query-pattern/ingest-query-pattern.spec.ts
 create mode 100644 web-console/src/druid-models/ingest-query-pattern/ingest-query-pattern.ts
 delete mode 100644 web-console/src/druid-models/ingestion-spec.spec.ts
 delete mode 100644 web-console/src/druid-models/ingestion-spec.tsx
 create mode 100644 web-console/src/druid-models/ingestion-spec/ingestion-spec.spec.ts
 create mode 100644 web-console/src/druid-models/ingestion-spec/ingestion-spec.tsx
 delete mode 100644 web-console/src/druid-models/input-format.tsx
 create mode 100644 web-console/src/druid-models/input-format/input-format.tsx
 delete mode 100644 web-console/src/druid-models/input-source.tsx
 create mode 100644 web-console/src/druid-models/input-source/input-source.tsx
 delete mode 100644 web-console/src/druid-models/lookup-spec.tsx
 rename web-console/src/druid-models/{ => lookup-spec}/lookup-spec.spec.ts (100%)
 create mode 100644 web-console/src/druid-models/lookup-spec/lookup-spec.tsx
 delete mode 100644 web-console/src/druid-models/metric-spec.spec.ts
 delete mode 100644 web-console/src/druid-models/metric-spec.tsx
 create mode 100644 web-console/src/druid-models/metric-spec/metric-spec.spec.ts
 create mode 100644 web-console/src/druid-models/metric-spec/metric-spec.tsx
 create mode 100644 web-console/src/druid-models/mocks.ts
 delete mode 100644 web-console/src/druid-models/overlord-dynamic-config.tsx
 create mode 100644 web-console/src/druid-models/overlord-dynamic-config/overlord-dynamic-config.tsx
 create mode 100644 web-console/src/druid-models/query-context/query-context.tsx
 create mode 100644 web-console/src/druid-models/stages/stages.mock.ts
 create mode 100644 web-console/src/druid-models/stages/stages.spec.ts
 create mode 100644 web-console/src/druid-models/stages/stages.ts
 delete mode 100644 web-console/src/druid-models/test-fixtures.ts
 delete mode 100644 web-console/src/druid-models/time.ts
 rename web-console/src/druid-models/{ => time}/time.spec.ts (100%)
 create mode 100644 web-console/src/druid-models/time/time.ts
 delete mode 100644 web-console/src/druid-models/timestamp-spec.tsx
 create mode 100644 web-console/src/druid-models/timestamp-spec/timestamp-spec.tsx
 delete mode 100644 web-console/src/druid-models/transform-spec.tsx
 rename web-console/src/druid-models/{ => transform-spec}/transform-spec.spec.ts (100%)
 create mode 100644 web-console/src/druid-models/transform-spec/transform-spec.tsx
 create mode 100644 web-console/src/druid-models/workbench-query/workbench-query-part.ts
 create mode 100644 web-console/src/druid-models/workbench-query/workbench-query.spec.ts
 create mode 100644 web-console/src/druid-models/workbench-query/workbench-query.ts
 create mode 100644 web-console/src/helpers/execution/general.ts
 create mode 100644 web-console/src/helpers/execution/sql-task-execution.ts
 create mode 100644 web-console/src/helpers/index.ts
 create mode 100644 web-console/src/helpers/spec-conversion.spec.ts
 create mode 100644 web-console/src/helpers/spec-conversion.ts
 create mode 100644 web-console/src/index.ts
 create mode 100644 web-console/src/singletons/ace-editor-state-cache.ts
 create mode 100644 web-console/src/singletons/execution-state-cache.ts
 create mode 100644 web-console/src/singletons/workbench-history.ts
 create mode 100644 web-console/src/singletons/workbench-running-promises.ts
 delete mode 100644 web-console/src/utils/data-type-utils.ts
 create mode 100644 web-console/src/utils/download-query-detail-archive.ts
 create mode 100644 web-console/src/utils/download.spec.ts
 create mode 100644 web-console/src/utils/download.ts
 delete mode 100644 web-console/src/utils/query-context.tsx
 create mode 100644 web-console/src/utils/sample-query.spec.tsx
 create mode 100644 web-console/src/utils/sample-query.tsx
 create mode 100644 web-console/src/utils/sampler.mock.ts
 create mode 100644 web-console/src/utils/sql.ts
 create mode 100644 web-console/src/utils/types.ts
 delete mode 100644 web-console/src/views/load-data-view/learn-more/learn-more.tsx
 create mode 100644 web-console/src/views/query-view/live-query-mode-button/__snapshots__/live-query-mode-button.spec.tsx.snap
 create mode 100644 web-console/src/views/query-view/live-query-mode-button/live-query-mode-button.scss
 create mode 100644 web-console/src/views/query-view/live-query-mode-button/live-query-mode-button.spec.tsx
 create mode 100644 web-console/src/views/query-view/live-query-mode-button/live-query-mode-button.tsx
 delete mode 100644 web-console/src/views/query-view/live-query-mode-selector/__snapshots__/live-query-mode-selector.spec.tsx.snap
 delete mode 100644 web-console/src/views/query-view/live-query-mode-selector/live-query-mode-selector.scss
 delete mode 100644 web-console/src/views/query-view/live-query-mode-selector/live-query-mode-selector.spec.tsx
 delete mode 100644 web-console/src/views/query-view/live-query-mode-selector/live-query-mode-selector.tsx
 delete mode 100644 web-console/src/views/query-view/query-error/__snapshots__/query-error.spec.tsx.snap
 delete mode 100644 web-console/src/views/query-view/query-error/query-error.scss
 delete mode 100644 web-console/src/views/query-view/query-error/query-error.spec.tsx
 delete mode 100644 web-console/src/views/query-view/query-error/query-error.tsx
 rename web-console/src/{dialogs => views/query-view}/query-history-dialog/__snapshots__/query-history-dialog.spec.tsx.snap (100%)
 create mode 100644 web-console/src/views/query-view/query-history-dialog/query-history-dialog.scss
 rename web-console/src/{dialogs => views/query-view}/query-history-dialog/query-history-dialog.spec.tsx (100%)
 create mode 100644 web-console/src/views/query-view/query-history-dialog/query-history-dialog.tsx
 create mode 100644 web-console/src/views/sql-data-loader-view/column-actions/column-actions.scss
 create mode 100644 web-console/src/views/sql-data-loader-view/column-actions/column-actions.tsx
 create mode 100644 web-console/src/views/sql-data-loader-view/column-editor/column-editor.scss
 create mode 100644 web-console/src/views/sql-data-loader-view/column-editor/column-editor.tsx
 create mode 100644 web-console/src/views/sql-data-loader-view/destination-dialog/destination-dialog.scss
 create mode 100644 web-console/src/views/sql-data-loader-view/destination-dialog/destination-dialog.tsx
 create mode 100644 web-console/src/views/sql-data-loader-view/destination-form/destination-form.scss
 create mode 100644 web-console/src/views/sql-data-loader-view/destination-form/destination-form.tsx
 create mode 100644 web-console/src/views/sql-data-loader-view/expression-editor-dialog/expression-editor-dialog.scss
 create mode 100644 web-console/src/views/sql-data-loader-view/expression-editor-dialog/expression-editor-dialog.tsx
 create mode 100644 web-console/src/views/sql-data-loader-view/ingestion-progress-dialog/ingestion-progress-dialog.scss
 create mode 100644 web-console/src/views/sql-data-loader-view/ingestion-progress-dialog/ingestion-progress-dialog.tsx
 create mode 100644 web-console/src/views/sql-data-loader-view/schema-step/column-list/column-list.scss
 create mode 100644 web-console/src/views/sql-data-loader-view/schema-step/column-list/column-list.tsx
 create mode 100644 web-console/src/views/sql-data-loader-view/schema-step/column-list/expression-entry/expression-entry.scss
 create mode 100644 web-console/src/views/sql-data-loader-view/schema-step/column-list/expression-entry/expression-entry.tsx
 create mode 100644 web-console/src/views/sql-data-loader-view/schema-step/preview-error/preview-error.scss
 create mode 100644 web-console/src/views/sql-data-loader-view/schema-step/preview-error/preview-error.tsx
 create mode 100644 web-console/src/views/sql-data-loader-view/schema-step/preview-table/preview-table.scss
 create mode 100644 web-console/src/views/sql-data-loader-view/schema-step/preview-table/preview-table.tsx
 create mode 100644 web-console/src/views/sql-data-loader-view/schema-step/rollup-analysis-pane/rollup-analysis-pane.scss
 create mode 100644 web-console/src/views/sql-data-loader-view/schema-step/rollup-analysis-pane/rollup-analysis-pane.tsx
 create mode 100644 web-console/src/views/sql-data-loader-view/schema-step/schema-step.scss
 create mode 100644 web-console/src/views/sql-data-loader-view/schema-step/schema-step.tsx
 create mode 100644 web-console/src/views/sql-data-loader-view/sql-data-loader-view.scss
 create mode 100644 web-console/src/views/sql-data-loader-view/sql-data-loader-view.tsx
 create mode 100644 web-console/src/views/sql-data-loader-view/title-frame/title-frame.scss
 create mode 100644 web-console/src/views/sql-data-loader-view/title-frame/title-frame.tsx
 create mode 100644 web-console/src/views/workbench-view/cancel-query-dialog/cancel-query-dialog.tsx
 create mode 100644 web-console/src/views/workbench-view/connect-external-data-dialog/connect-external-data-dialog.scss
 create mode 100644 web-console/src/views/workbench-view/connect-external-data-dialog/connect-external-data-dialog.tsx
 create mode 100644 web-console/src/views/workbench-view/demo-queries.ts
 create mode 100644 web-console/src/views/workbench-view/execution-details-dialog/execution-details-dialog.scss
 create mode 100644 web-console/src/views/workbench-view/execution-details-dialog/execution-details-dialog.tsx
 create mode 100644 web-console/src/views/workbench-view/execution-details-pane-loader/execution-details-pane-loader.tsx
 create mode 100644 web-console/src/views/workbench-view/execution-details-pane/__snapshots__/execution-details-pane.spec.tsx.snap
 create mode 100644 web-console/src/views/workbench-view/execution-details-pane/execution-details-pane.scss
 create mode 100644 web-console/src/views/workbench-view/execution-details-pane/execution-details-pane.spec.tsx
 create mode 100644 web-console/src/views/workbench-view/execution-details-pane/execution-details-pane.tsx
 create mode 100644 web-console/src/views/workbench-view/execution-error-pane/__snapshots__/execution-error-pane.spec.tsx.snap
 create mode 100644 web-console/src/views/workbench-view/execution-error-pane/execution-error-pane.scss
 create mode 100644 web-console/src/views/workbench-view/execution-error-pane/execution-error-pane.spec.tsx
 create mode 100644 web-console/src/views/workbench-view/execution-error-pane/execution-error-pane.tsx
 create mode 100644 web-console/src/views/workbench-view/execution-progress-bar-pane/__snapshots__/execution-progress-bar-pane.spec.tsx.snap
 create mode 100644 web-console/src/views/workbench-view/execution-progress-bar-pane/execution-progress-bar-pane.scss
 create mode 100644 web-console/src/views/workbench-view/execution-progress-bar-pane/execution-progress-bar-pane.spec.tsx
 create mode 100644 web-console/src/views/workbench-view/execution-progress-bar-pane/execution-progress-bar-pane.tsx
 create mode 100644 web-console/src/views/workbench-view/execution-progress-pane/execution-progress-pane.scss
 create mode 100644 web-console/src/views/workbench-view/execution-progress-pane/execution-progress-pane.tsx
 create mode 100644 web-console/src/views/workbench-view/execution-stages-pane-loader/execution-stages-pane-loader.tsx
 create mode 100644 web-console/src/views/workbench-view/execution-stages-pane/__snapshots__/execution-stages-pane.spec.tsx.snap
 create mode 100644 web-console/src/views/workbench-view/execution-stages-pane/execution-stages-pane.scss
 create mode 100644 web-console/src/views/workbench-view/execution-stages-pane/execution-stages-pane.spec.tsx
 create mode 100644 web-console/src/views/workbench-view/execution-stages-pane/execution-stages-pane.tsx
 create mode 100644 web-console/src/views/workbench-view/execution-submit-dialog/execution-submit-dialog.scss
 create mode 100644 web-console/src/views/workbench-view/execution-submit-dialog/execution-submit-dialog.tsx
 create mode 100644 web-console/src/views/workbench-view/execution-summary-panel/execution-summary-panel.scss
 create mode 100644 web-console/src/views/workbench-view/execution-summary-panel/execution-summary-panel.tsx
 create mode 100644 web-console/src/views/workbench-view/execution-timer-panel/__snapshots__/execution-timer-panel.spec.tsx.snap
 create mode 100644 web-console/src/views/workbench-view/execution-timer-panel/execution-timer-panel.scss
 create mode 100644 web-console/src/views/workbench-view/execution-timer-panel/execution-timer-panel.spec.tsx
 create mode 100644 web-console/src/views/workbench-view/execution-timer-panel/execution-timer-panel.tsx
 create mode 100644 web-console/src/views/workbench-view/execution-warnings-pane/execution-warnings-pane.scss
 create mode 100644 web-console/src/views/workbench-view/execution-warnings-pane/execution-warnings-pane.tsx
 create mode 100644 web-console/src/views/workbench-view/execution-warnings-pane/warning-callout.scss
 create mode 100644 web-console/src/views/workbench-view/execution-warnings-pane/warning-callout.tsx
 create mode 100644 web-console/src/views/workbench-view/flexible-query-input/__snapshots__/flexible-query-input.spec.tsx.snap
 create mode 100644 web-console/src/views/workbench-view/flexible-query-input/flexible-query-input.scss
 create mode 100644 web-console/src/views/workbench-view/flexible-query-input/flexible-query-input.spec.tsx
 create mode 100644 web-console/src/views/workbench-view/flexible-query-input/flexible-query-input.tsx
 create mode 100644 web-console/src/views/workbench-view/helper-query/helper-query.scss
 create mode 100644 web-console/src/views/workbench-view/helper-query/helper-query.tsx
 create mode 100644 web-console/src/views/workbench-view/ingest-success-pane/__snapshots__/ingest-success-pane.spec.tsx.snap
 create mode 100644 web-console/src/views/workbench-view/ingest-success-pane/ingest-success-pane.scss
 create mode 100644 web-console/src/views/workbench-view/ingest-success-pane/ingest-success-pane.spec.tsx
 create mode 100644 web-console/src/views/workbench-view/ingest-success-pane/ingest-success-pane.tsx
 create mode 100644 web-console/src/views/workbench-view/input-format-step/input-format-step.scss
 create mode 100644 web-console/src/views/workbench-view/input-format-step/input-format-step.tsx
 create mode 100644 web-console/src/views/workbench-view/input-source-step/example-inputs.ts
 create mode 100644 web-console/src/views/workbench-view/input-source-step/input-source-info.tsx
 create mode 100644 web-console/src/views/workbench-view/input-source-step/input-source-step.scss
 create mode 100644 web-console/src/views/workbench-view/input-source-step/input-source-step.tsx
 create mode 100644 web-console/src/views/workbench-view/max-tasks-button/__snapshots__/max-tasks-button.spec.tsx.snap
 create mode 100644 web-console/src/views/workbench-view/max-tasks-button/max-tasks-button.spec.tsx
 create mode 100644 web-console/src/views/workbench-view/max-tasks-button/max-tasks-button.tsx
 create mode 100644 web-console/src/views/workbench-view/metadata-change-detector.tsx
 create mode 100644 web-console/src/views/workbench-view/metadata-state-store.ts
 create mode 100644 web-console/src/views/workbench-view/query-tab/query-tab.scss
 create mode 100644 web-console/src/views/workbench-view/query-tab/query-tab.tsx
 create mode 100644 web-console/src/views/workbench-view/recent-query-task-panel/recent-query-task-panel.scss
 create mode 100644 web-console/src/views/workbench-view/recent-query-task-panel/recent-query-task-panel.tsx
 create mode 100644 web-console/src/views/workbench-view/result-table-pane/result-table-pane.scss
 create mode 100644 web-console/src/views/workbench-view/result-table-pane/result-table-pane.tsx
 create mode 100644 web-console/src/views/workbench-view/run-panel/run-panel.scss
 create mode 100644 web-console/src/views/workbench-view/run-panel/run-panel.tsx
 create mode 100644 web-console/src/views/workbench-view/tab-rename-dialog/tab-rename-dialog.tsx
 create mode 100644 web-console/src/views/workbench-view/time-floor-menu-item/time-floor-menu-item.tsx
 create mode 100644 web-console/src/views/workbench-view/work-state-store.ts
 create mode 100644 web-console/src/views/workbench-view/workbench-history-dialog/workbench-history-dialog.scss
 create mode 100644 web-console/src/views/workbench-view/workbench-history-dialog/workbench-history-dialog.tsx
 create mode 100644 web-console/src/views/workbench-view/workbench-view.scss
 create mode 100644 web-console/src/views/workbench-view/workbench-view.tsx
 create mode 100644 website/script/fix-docsearch.js
 create mode 100755 website/script/notify-spellcheck-issues


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