You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by gi...@apache.org on 2023/02/07 07:15:25 UTC

[druid] branch dependabot/npm_and_yarn/web-console/express-4.18.2 updated (fa3b9d077f -> 8b97000eed)

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

github-bot pushed a change to branch dependabot/npm_and_yarn/web-console/express-4.18.2
in repository https://gitbox.apache.org/repos/asf/druid.git


 discard fa3b9d077f Bump express from 4.17.1 to 4.18.2 in /web-console
     add 37d8833125 fix bug with broker parallel merge metrics emitting, add wall time, fast/slow partition time metrics (#13420)
     add b25cf216d5 Better error message when theta_sketch_intersect is used on scalar expression (#13508)
     add c7229fc787 Limit max batch size for segment allocation, add docs (#13503)
     add 9679f6a9b5 Web console: add arrayOfDoublesSketch and other small fixes (#13486)
     add b56855b837 Update to native ingestion doc (#13482)
     add 69951273b8 Fix typo in metric name (#13521)
     add fbf76ad8f5 Remove stray reference to fix OOM while merging sketches (#13475)
     add d85fb8cc4e Web console: improve compaction status display (#13523)
     add 91ef9872ec MSQ: Improve TooManyBuckets error message, improve error docs. (#13525)
     add d8e27eaab4 update error anchors (#13527)
     add 013a12e86f Enhanced MSQ table functions (#13360)
     add 55814888f5 MSQ: Only look at sqlInsertSegmentGranularity on the outer query. (#13537)
     add 4ebdfe226d Druid automated quickstart (#13365)
     add 7002ecd303 add protobuf flattener, direct to plain java conversion for faster flattening (#13519)
     add 5a3d79a5d5 Removing unused exec service. (#13541)
     add 8e386072e9 Druid automated quickstart: zookeeper in service list (#13550)
     add de5a4bafcb Zero-copy local deep storage. (#13394)
     add 7682b0b6b1 Analysis refactor (#13501)
     add 58a3acc2c4 Add InputStats to track bytes processed by a task (#13520)
     add 35c983a351 Use template file for adding table functions grammar (#13553)
     add 2729e25295 Link to java docs (#13478)
     add 089d8da561 Support Framing for Window Aggregations (#13514)
     add 2b605aa9cf Multiple fixes for the MSQ stats merging piece which (#13463)
     add 97bc0220c7 Update task memory computation in start-druid (#13563)
     add 49cbfdff83 Fix cool nested column bug caused by not properly validating that global id is present in global dictionary before lookup up local id (#13561)
     add 431a1195ca Suppress CVE-2022-1471 from snakeyaml (#13557)
     add d6949b1b79 Track input processedBytes with MSQ ingestion (#13559)
     add 668d1fad6b docs: notebook only for API tutorial (#13345)
     add 7f3c117e3a SQL: Improve docs around casts. (#13466)
     add 9ae7a36ccd improve nested column storage format for broader compatibility (#13568)
     add d9e5245ff0 allow string dimension indexer to handle byte[] as base64 strings (#13573)
     add f42722e627 Set monotonically increasing worker capacity in start-druid-main (#13581)
     add 1cc9bc9af9 Suppress CVE-2022-45685 and CVE-2022-45693 from jettison-1.3 (#13585)
     add d9c27d6102 docs: add index page and related stuff for jupyter tutorials (#13342)
     add 639decdf2e fix preview droping out of MSQ mode (#13586)
     add e23abc710a Web console: default max workers to cluster capacity and simplify live reports (#13577)
     add e34e56295f Suppress CVE-2022-1278, CVE-2022-2048, CVE-2022-3509, CVE-2022-40152 (#13590)
     add 09d8b16447 Document shouldFinalize for sketches that have the parameter (#13524)
     add ee890965f4 LocalInputSource: Serialize File paths without forcing resolution. (#13534)
     add 07597c687d Docs: Remove large data file (#13595)
     add 0efd0879a8 Unify the handling of HTTP between SQL and Native (#13564)
     add c1e2656644 Fix scope of dependencies in protobuf-extensions pom (#13593)
     add 6c44dd8175 perf: core/TextReader for faster json ingestion (#13545)
     add df55768535 Add CodeQL workflow (#13477)
     add fd63e5a514 fix issue with jdbc and query metrics (#13608)
     add 7b92b85168 Unify DummyRequest with MockHttpServletRequest (#13602)
     add 0d97e658b2 Docs: Update quickstart instructions (#13611)
     add af05cfa78c Fix shutdown in httpRemote task runner (#13558)
     add 78ae0b7533 Upgrade to netty 4.1.86.Final to address CVEs (#13604)
     add 8773d619a2 Web console: tidy up stage UI (#13615)
     add 313d937236 Switch operators to a push-style API (#13600)
     add 36e6765596 Fix flaky test (#13603)
     add 200c547d02 Include info about Hadoop 3 artifacts in release guide (#13594)
     add 365474ff1d New IT Framework - InputSource and InputFormat Tests (#13597)
     add 7a7874a952 Update docker-compose to use druid 24.0.1 (#13623)
     add a8ecc48ffe Validate response headers and fix exception logging (#13609)
     add fdc8aa2833 better show totals when grouping (#13631)
     add 4ee4d99b8d better error reporting (#13636)
     add f1821a7c18 Add Sort Operator for Window Functions (#13619)
     add 6bbf4266b2 docs: documentation for unnest datasource (#13479)
     add a800dae87a doc: List Protobuf as a supported format (#13640)
     add 62a105ee65 Add context to HadoopIngestionSpec (#13624)
     add 41fdf6eafb Quote and escape literals in JDBC lookup to allow reserved identifiers. (#13632)
     add 74a76c74b1 Updating dependency check version (#13649)
     add 2503095296 Publish SBOM artifacts (#13648)
     add 17936e2920 Add an option to enable HSTS in druid services (#13489)
     add 56076d33fb Worker retry for MSQ task (#13353)
     add 5ef689fc3f Cloud deep storage tests in new IT framework (S3, GCS, Azure) (#13535)
     add a83d1cdf26 fix var name (#13657)
     add f97bcc69d3 Docs: reword single server page (#13659)
     add 7f54ebbf47 Fix Parquet Parser missing column when reading parquet file  (#13612)
     add afb3d91777 Add unit test for complex column grouping (#13650)
     add 0a486c3bcf Update forbidden apis with fixed executor (#13633)
     add cb16a7f6a9 Fix behaviour of downsampling buckets to a single key (#13663)
     add 93dc01b6c5 fix broken table missing new line (#13666)
     add b5b740bbbb allow using nested column indexer for schema discovery (#13653)
     add 182c4fad29 Kinesis: More robust default fetch settings. (#13539)
     add 4368b3a071 Migrate jdk8 unit tests from Travis to GHA (#13518)
     add 566fc990e4 Semantic Implementations for ArrayListRAC (#13652)
     add ed623d626f Support both Indexer and MiddleManager in ITs (#13660)
     add 7ff3722cb9 Swap LazySingleton for Singleton (#13673)
     add cc89c661d0 Move the tips section in PR template into comments block (#13676)
     add 59dfe7bed3 Add new probe delay configurations into Helm Chart doc (#12997)
     add 22630b0aab Much improved table functions (#13627)
     add 44374f91bc Fix broken links to Oracle JDK docs (#13687)
     add 7a54524076 install node on runners (#13690)
     add fa493f1ebc Convert from DRUID_INTEGRATION_TEST_INDEXER to USE_INDEXER (#13684)
     add 1582d74f37 Fix Parquet Reader for schema-less ingestion need to read all columns (#13689)
     add fb26a1093d discover nested columns when using nested column indexer for schemaless ingestion (#13672)
     add a516eb1a41 Port Calcite's tests to run with MSQ  (#13625)
     add f76acccff2 Allow using composed storage for SuperSorter intermediate data (#13368)
     add 90d445536d SQL version of unnest native druid function (#13576)
     add 016c881795 Add API to return automatic compaction config history (#13699)
     add 706b8a0227 Adjust Operators to be Pausable (#13694)
     add 00cee329bd pitfall when using combining input source (#13639)
     add 17c0167248 Additional native query tests for unnest datasource (#13554)
     add 9021161c8c doc: fix markdown spacing (#13683)
     add 6164c420a1 Create update.md (#13451)
     add 3b62d7929c Web console: Data loader should allow for multiline JSON messages in kafka (#13709)
     add 356b0e37cf Tutorial: Query view (#13565)
     add 698670c88e update core Apache Kafka dependencies to 3.3.2 (#13717)
     add 51dfde0284 Add maxInputBytesPerWorker as query context parameter (#13707)
     add 1beef30bb2 Support  postaggregation function  as in Math.pow() (#13703)  (#13704)
     add ec1e6ac840 fix nested column handling of null and "null" (#13714)
     add 7a3bd89a85 Dimension dictionary reduce locking (#13710)
     add c95a26cae3 Migrate ITs from Travis to GHA (#13681)
     add 74ff848ce5 Fixing  incorrect filtering of nulls in an array when ingesting for JSON and Avro (#13712)
     add 76e79c7db7 Suppress CVEs (#13733)
     add cfc3115a59 Compaction history returns empty list instead of 404 when not found (#13730)
     add 7f830b20d7 fixed init commands for both mysql and postgresql (#13713)
     add f629643c50 Fix value of lookup sync period in docs (#13695)
     add 33efd5ab1d docs: Refresh the update data tutorial (#13641)
     add 7c188d80b8 Make batch segment allocation logs less noisy (#13725)
     add 440212c5f9 Fix GHA workflow maven build erroring incase of version updates (#13735)
     add 6cb842e76e update snapshots if cache restore failed otherwise run test normally (not all test mvn dependencies are downloaded during build phase due to skipTests) (#13740)
     add f022a9f246 When a task fails and doesn't throw an exception, report it correctly… (#13668)
     add 7580248770 Update api.md (#13727)
     add bea18dc9e4 Update basic auth examples (#13750)
     add c06631037d Moving to SHA based cache key (#13751)
     add e16639121f Local pathing for tests (#13753)
     add c5835c29a1 Use durable super sorter intermediate storage only with composable storage (#13748)
     add 9100a61bf6 Fix NPE in postCleanupStage if stage doesn't exist (#13742)
     add f28c06515b Auto-detect docker-compose (#13754)
     add 9c5b61e114 Fallback virtual column (#13739)
     add 2d3bee8545 various nested column (and other) fixes (#13732)
     add b33962cab7 Upgrade typescript and other dependencies (#13762)
     add 8b97000eed Bump express from 4.17.1 to 4.18.2 in /web-console

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (fa3b9d077f)
            \
             N -- N -- N   refs/heads/dependabot/npm_and_yarn/web-console/express-4.18.2 (8b97000eed)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .github/pull_request_template.md                   |    3 +-
 .github/scripts/unit_tests_script.sh               |   77 +
 .github/workflows/codeql-config.yml                |    3 +
 .github/workflows/codeql.yml                       |   63 +
 .github/workflows/reusable-revised-its.yml         |   81 +
 .github/workflows/reusable-standard-its.yml        |   87 +
 .github/workflows/reusable-unit-tests.yml          |   96 +
 .github/workflows/revised-its.yml                  |   36 +
 .github/workflows/standard-its.yml                 |  115 +
 .github/workflows/static-checks.yml                |   11 +-
 .../unit-and-integration-tests-unified.yml         |  130 +
 .github/workflows/unit-tests.yml                   |   60 +
 .gitignore                                         |    1 +
 .travis.yml                                        |   93 +-
 .../druid/benchmark/JsonLineReaderBenchmark.java   |  174 ++
 .../StringDimensionIndexerProcessBenchmark.java    |  170 ++
 .../coordinator/BalancerStrategyBenchmark.java     |    4 +-
 codestyle/druid-forbidden-apis.txt                 |    1 +
 core/pom.xml                                       |    4 +
 .../druid/collections/fastutil/DruidIntList.java   |   99 +
 .../druid/data/input/BytesCountingInputEntity.java |  123 +
 .../apache/druid/data/input/InputRowSchema.java    |    1 +
 .../apache/druid/data/input/InputSourceReader.java |    7 +-
 .../org/apache/druid/data/input/InputStats.java    |   30 +
 .../org/apache/druid/data/input/TextReader.java    |   15 +-
 .../druid/data/input/impl/DimensionsSpec.java      |   61 +-
 .../druid/data/input/impl/FastLineIterator.java    |  163 ++
 .../impl/FirehoseToInputSourceReaderAdaptor.java   |    3 +-
 .../data/input/impl/HttpInputSourceConfig.java     |    2 +-
 .../input/impl/InputEntityIteratingReader.java     |    7 +-
 .../druid/data/input/impl/JsonLineReader.java      |    8 +-
 .../druid/data/input/impl/JsonNodeReader.java      |    8 +-
 .../apache/druid/data/input/impl/JsonReader.java   |    8 +-
 .../druid/data/input/impl/LocalInputSource.java    |   43 +-
 .../input/impl/TimedShutoffInputSourceReader.java  |    5 +-
 .../java/org/apache/druid/guice/LazySingleton.java |   12 +
 .../apache/druid/java/util/common/FileUtils.java   |   49 +
 .../org/apache/druid/java/util/common/Pair.java    |    3 +-
 .../apache/druid/java/util/common/StringUtils.java |   19 +-
 .../java/util/common/function/TriConsumer.java     |   60 +
 .../guava/ParallelMergeCombiningSequence.java      |   77 +-
 .../util/common/parsers/FlattenerJsonProvider.java |  138 ++
 .../util/common/parsers/JSONFlattenerMaker.java    |   31 +-
 .../util/common/parsers/JSONPathFieldSpec.java     |    6 +
 .../java/util/common/parsers/JSONPathParser.java   |    5 +-
 .../java/util/common/parsers/ObjectFlatteners.java |    4 +-
 .../java/org/apache/druid/math/expr/ExprEval.java  |   36 +-
 .../org/apache/druid/math/expr/IdentifierExpr.java |   68 +-
 .../druid/math/expr/vector/VectorProcessors.java   |   65 +
 .../org/apache/druid/query/QueryException.java     |  129 +-
 .../apache/druid/query/QueryTimeoutException.java  |    7 +-
 .../org/apache/druid/storage/StorageConnector.java |   15 +-
 .../storage/local/LocalFileStorageConnector.java   |   29 +-
 .../collections/fastutil/DruidIntListTest.java     |   97 +
 .../apache/druid/common/guava/GuavaUtilsTest.java  |    4 +-
 .../data/input/BytesCountingInputEntityTest.java   |  145 ++
 .../data/input/impl/FastLineIteratorTest.java      |  250 ++
 .../input/impl/InputEntityIteratingReaderTest.java |   13 +-
 .../druid/data/input/impl/InputStatsImpl.java      |   39 +
 .../druid/data/input/impl/JSONParseSpecTest.java   |   39 +-
 .../druid/data/input/impl/JsonLineReaderTest.java  |    6 +-
 .../data/input/impl/LocalInputSourceTest.java      |   30 +-
 .../druid/java/util/common/FileUtilsTest.java      |   41 +
 .../java/util/common/function/TriConsumerTest.java |   45 +
 .../java/util/common/lifecycle/LifecycleTest.java  |    7 +-
 .../common/parsers/FlattenerJsonProviderTest.java  |  146 ++
 .../common/parsers/JSONFlattenerMakerTest.java     |   32 +-
 .../util/common/parsers/ObjectFlattenersTest.java  |    2 +-
 .../java/org/apache/druid/math/expr/EvalTest.java  |  136 +
 .../org/apache/druid/math/expr/FunctionTest.java   |    3 +-
 .../org/apache/druid/query/QueryExceptionTest.java |   85 +-
 .../druid/query/QueryTimeoutExceptionTest.java     |   24 +-
 .../local/LocalFileStorageConnectorTest.java       |   28 +
 distribution/asf-release-process-guide.md          |   44 +-
 distribution/docker/docker-compose.yml             |   14 +-
 docs/assets/files/kttm-nested-data.json.tgz        |  Bin 24955539 -> 0 bytes
 docs/assets/tutorial-sql-aggregate-query.png       |  Bin 0 -> 99042 bytes
 docs/assets/tutorial-sql-auto-queries.png          |  Bin 0 -> 178642 bytes
 docs/assets/tutorial-sql-count-distinct-help.png   |  Bin 0 -> 190668 bytes
 docs/assets/tutorial-sql-count-distinct.png        |  Bin 0 -> 109726 bytes
 docs/assets/tutorial-sql-demo-queries.png          |  Bin 0 -> 158884 bytes
 docs/assets/tutorial-sql-query-plan.png            |  Bin 0 -> 152371 bytes
 docs/assets/tutorial-sql-result-column-actions.png |  Bin 0 -> 113313 bytes
 docs/configuration/index.md                        |    7 +-
 docs/data-management/update.md                     |    2 +-
 docs/dependencies/deep-storage.md                  |   45 +-
 .../extensions-core/datasketches-hll.md            |   32 +-
 .../extensions-core/datasketches-kll.md            |   30 +-
 .../extensions-core/datasketches-quantiles.md      |   31 +-
 .../extensions-core/datasketches-theta.md          |   36 +-
 .../extensions-core/datasketches-tuple.md          |   75 +-
 .../extensions-core/kinesis-ingestion.md           |   75 +-
 .../extensions-core/simple-client-sslcontext.md    |    6 +-
 docs/ingestion/native-batch-input-source.md        |    4 +-
 docs/ingestion/native-batch.md                     |    3 +-
 docs/ingestion/tasks.md                            |   33 +-
 docs/multi-stage-query/api.md                      |    2 +-
 docs/multi-stage-query/concepts.md                 |   78 +-
 docs/multi-stage-query/index.md                    |   11 +-
 docs/multi-stage-query/known-issues.md             |   34 +-
 docs/multi-stage-query/reference.md                |  534 +++-
 docs/multi-stage-query/security.md                 |   13 +-
 docs/operations/api-reference.md                   |   12 +
 docs/operations/metadata-migration.md              |    5 +-
 docs/operations/metrics.md                         |   10 +-
 docs/operations/python.md                          |   49 +
 docs/operations/security-overview.md               |   24 +-
 docs/operations/single-server.md                   |   67 +-
 docs/operations/tls-support.md                     |    2 +-
 docs/querying/datasource.md                        |   54 +
 docs/querying/lookups.md                           |    1 -
 docs/querying/nested-columns.md                    |    2 +-
 docs/querying/post-aggregations.md                 |    2 +-
 docs/querying/sql-data-types.md                    |   37 +-
 docs/querying/sql-metadata-tables.md               |    3 +-
 docs/tutorials/cluster.md                          |    5 +-
 docs/tutorials/docker.md                           |    2 +-
 docs/tutorials/index.md                            |   48 +-
 docs/tutorials/tutorial-batch-hadoop.md            |    8 +-
 docs/tutorials/tutorial-jupyter-index.md           |   71 +
 docs/tutorials/tutorial-kafka.md                   |    7 +-
 docs/tutorials/tutorial-sql-query-view.md          |  195 ++
 docs/tutorials/tutorial-unnest-datasource.md       |  670 +++++
 docs/tutorials/tutorial-update-data.md             |   84 +-
 examples/bin/generate-example-metrics              |    2 +-
 examples/bin/run-druid                             |   46 +-
 examples/bin/start-druid                           |   35 +
 examples/bin/start-druid-main.py                   |  642 +++++
 examples/bin/supervise                             |   98 +-
 examples/bin/verify-java                           |    3 +
 examples/conf/druid/auto/_common/common.jvm.config |    7 +
 .../_common/common.runtime.properties              |    0
 .../large => auto}/_common/log4j2.xml              |    0
 examples/conf/druid/auto/broker/runtime.properties |   41 +
 .../coordinator-overlord/runtime.properties        |    0
 .../conf/druid/auto/historical/runtime.properties  |   35 +
 .../conf/druid/auto/indexer/runtime.properties     |   34 +
 .../druid/auto/middleManager/runtime.properties    |   36 +
 examples/conf/druid/auto/router/runtime.properties |   28 +
 examples/quickstart/jupyter-notebooks/README.md    |   89 +
 .../jupyter-notebooks/api-tutorial.ipynb           |  494 ++++
 .../data/input/aliyun/OssInputSourceTest.java      |   10 +-
 .../CompressedBigDecimalSqlAggregatorTestBase.java |   20 +-
 .../kubernetes-overlord-extensions/pom.xml         |    2 +-
 .../materializedview/DataSourceOptimizer.java      |    4 +-
 .../druid/data/input/avro/AvroFlattenerMaker.java  |   27 +-
 .../druid/data/input/avro/AvroOCFReader.java       |   10 +-
 .../apache/druid/data/input/avro/AvroParsers.java  |   13 +-
 .../druid/data/input/avro/AvroStreamReader.java    |   10 +-
 .../data/input/avro/GenericAvroJsonProvider.java   |   93 +-
 .../avro-extensions/src/test/avro/some-datum.avsc  |   12 +-
 .../data/input/AvroStreamInputFormatTest.java      |    7 +-
 .../data/input/AvroStreamInputRowParserTest.java   |    7 +-
 .../data/input/avro/AvroFlattenerMakerTest.java    |  104 +-
 .../sql/ThetaSketchSetBaseOperatorConversion.java  |    2 +
 ...ouperUsingSketchMergeAggregatorFactoryTest.java |    6 +-
 .../datasketches/theta/SketchAggregationTest.java  |    5 +-
 .../theta/oldapi/OldApiSketchAggregationTest.java  |    4 +-
 .../theta/sql/ThetaSketchSqlAggregatorTest.java    |    8 +
 ...rdinatorPollingBasicAuthorizerCacheManager.java |    8 +-
 .../bloom/sql/BloomFilterSqlAggregatorTest.java    |   24 +-
 .../org/apache/druid/catalog/http/TableEditor.java |   35 +-
 .../druid/catalog/storage/TableManagerTest.java    |   36 +-
 .../apache/druid/catalog/sync/CatalogSyncTest.java |   50 +-
 .../server/http/catalog/CatalogResourceTest.java   |   69 +-
 .../druid/server/http/catalog/DummyRequest.java    |  500 ----
 .../druid/server/http/catalog/EditorTest.java      |   62 +-
 .../google/GoogleCloudStorageInputSourceTest.java  |   10 +-
 .../druid/storage/hdfs/HdfsDataSegmentPusher.java  |    2 -
 .../inputsource/hdfs/HdfsInputSourceTest.java      |   24 +-
 .../data/input/kafkainput/KafkaInputFormat.java    |    7 +-
 .../druid/indexing/kafka/KafkaIndexTaskTest.java   |  642 +----
 .../druid/indexing/kinesis/KinesisIndexTask.java   |   58 +-
 .../indexing/kinesis/KinesisIndexTaskIOConfig.java |   47 +-
 .../kinesis/KinesisIndexTaskTuningConfig.java      |   70 +-
 .../druid/indexing/kinesis/KinesisSamplerSpec.java |    8 +-
 .../kinesis/supervisor/KinesisSupervisor.java      |    4 +-
 .../supervisor/KinesisSupervisorIOConfig.java      |   15 +-
 .../supervisor/KinesisSupervisorTuningConfig.java  |    8 +-
 .../indexing/kinesis/KinesisIOConfigTest.java      |    9 +-
 .../indexing/kinesis/KinesisIndexTaskTest.java     | 1629 ++++--------
 .../kinesis/KinesisIndexTaskTuningConfigTest.java  |   22 +-
 .../supervisor/KinesisSupervisorIOConfigTest.java  |    6 +-
 .../TestModifiedKinesisIndexTaskTuningConfig.java  |    4 +-
 .../lookup/namespace/JdbcExtractionNamespace.java  |    2 +-
 .../lookup/namespace/JdbcCacheGenerator.java       |   25 +-
 .../cache/JdbcExtractionNamespaceTest.java         |   78 +-
 .../apache/druid/msq/counters/ChannelCounters.java |    5 +
 .../java/org/apache/druid/msq/exec/Controller.java |    2 +-
 .../apache/druid/msq/exec/ControllerClient.java    |    2 +-
 .../org/apache/druid/msq/exec/ControllerImpl.java  |  550 ++++-
 .../msq/exec/ExceptionWrappingWorkerClient.java    |   14 +-
 .../java/org/apache/druid/msq/exec/Limits.java     |   20 +-
 .../java/org/apache/druid/msq/exec/MSQTasks.java   |   37 +-
 .../java/org/apache/druid/msq/exec/WorkerImpl.java |  140 +-
 .../apache/druid/msq/exec/WorkerManagerClient.java |    2 +-
 .../apache/druid/msq/exec/WorkerSketchFetcher.java |  440 ++--
 .../apache/druid/msq/guice/MSQIndexingModule.java  |    4 +
 .../org/apache/druid/msq/guice/MSQSqlModule.java   |    6 +
 .../druid/msq/indexing/ControllerChatHandler.java  |    5 +-
 .../msq/indexing/CountableInputSourceReader.java   |    5 +-
 .../msq/indexing/CountingOutputChannelFactory.java |   18 +-
 .../msq/indexing/CountingWritableFrameChannel.java |    6 +-
 .../druid/msq/indexing/DurableStorageCleaner.java  |    2 +-
 .../msq/indexing/IndexerControllerClient.java      |    5 +-
 .../msq/indexing/IndexerWorkerManagerClient.java   |    6 +-
 .../druid/msq/indexing/MSQControllerTask.java      |   17 -
 .../apache/druid/msq/indexing/MSQWorkerTask.java   |   49 +-
 .../druid/msq/indexing/MSQWorkerTaskLauncher.java  |  272 +-
 .../org/apache/druid/msq/indexing/RetryTask.java   |   33 +
 .../druid/msq/indexing/WorkerChatHandler.java      |   49 +-
 .../druid/msq/indexing/error/BaseMSQFault.java     |    8 +-
 .../druid/msq/indexing/error/CanceledFault.java    |    2 +-
 .../error/DurableStorageConfigurationFault.java    |    2 +-
 .../druid/msq/indexing/error/MSQException.java     |    6 +-
 .../apache/druid/msq/indexing/error/MSQFault.java  |   10 -
 .../druid/msq/indexing/error/MSQFaultUtils.java    |   53 +
 .../msq/indexing/error/TooManyAttemptsForJob.java  |  117 +
 .../indexing/error/TooManyAttemptsForWorker.java   |  113 +
 .../msq/indexing/error/TooManyBucketsFault.java    |    2 +-
 .../msq/indexing/error/WorkerRpcFailedFault.java   |    2 +-
 .../org/apache/druid/msq/input/NilInputSource.java |    3 +-
 .../input/external/ExternalInputSliceReader.java   |    6 +-
 .../apache/druid/msq/kernel/StageDefinition.java   |   49 +-
 .../druid/msq/kernel/StageDefinitionBuilder.java   |   11 +-
 .../druid/msq/kernel/WorkerAssignmentStrategy.java |    4 +-
 .../kernel/controller/ControllerQueryKernel.java   |  253 +-
 .../kernel/controller/ControllerStagePhase.java    |   27 +-
 .../kernel/controller/ControllerStageTracker.java  |  692 +++++-
 .../controller/ControllerWorkerStagePhase.java     |  102 +
 .../druid/msq/kernel/worker/WorkerStageKernel.java |    3 +-
 .../apache/druid/msq/querykit/DataSourcePlan.java  |   18 +-
 .../druid/msq/querykit/InputNumberDataSource.java  |    7 +
 .../apache/druid/msq/querykit/QueryKitUtils.java   |   15 +-
 .../groupby/GroupByPostShuffleFrameProcessor.java  |   14 +-
 .../GroupByPostShuffleFrameProcessorFactory.java   |    3 +-
 .../msq/querykit/groupby/GroupByQueryKit.java      |   11 +-
 .../msq/querykit/scan/ScanQueryFrameProcessor.java |    7 +-
 .../scan/ScanQueryFrameProcessorFactory.java       |    3 +-
 .../druid/msq/querykit/scan/ScanQueryKit.java      |    3 +-
 .../shuffle/DurableStorageInputChannelFactory.java |    5 +-
 .../DurableStorageOutputChannelFactory.java        |  161 --
 .../druid/msq/shuffle/DurableStorageUtils.java     |  105 -
 .../msq/shuffle/WorkerInputChannelFactory.java     |    2 +-
 .../apache/druid/msq/sql/MSQTaskQueryMaker.java    |    2 +
 .../org/apache/druid/msq/sql/MSQTaskSqlEngine.java |    6 +
 .../ClusterByStatisticsCollectorImpl.java          |    4 +-
 .../statistics/ClusterByStatisticsSnapshot.java    |    4 +
 .../CompleteKeyStatisticsInformation.java          |   26 +-
 .../druid/msq/util/MultiStageQueryContext.java     |   55 +-
 .../apache/druid/msq/exec/ControllerImplTest.java  |  106 +
 .../org/apache/druid/msq/exec/MSQFaultsTest.java   |    4 +-
 .../org/apache/druid/msq/exec/MSQInsertTest.java   |  130 +-
 .../org/apache/druid/msq/exec/MSQReplaceTest.java  |  183 +-
 .../org/apache/druid/msq/exec/MSQSelectTest.java   |  194 +-
 .../org/apache/druid/msq/exec/MSQTasksTest.java    |   31 +-
 .../org/apache/druid/msq/exec/WorkerImplTest.java  |   54 +
 .../msq/exec/WorkerSketchFetcherAutoModeTest.java  |  139 --
 .../druid/msq/exec/WorkerSketchFetcherTest.java    |  418 ++--
 .../msq/indexing/DurableStorageCleanerTest.java    |    2 +-
 .../druid/msq/indexing/MSQWorkerTaskTest.java      |  106 +
 .../druid/msq/indexing/WorkerChatHandlerTest.java  |  254 ++
 .../msq/indexing/error/MSQFaultSerdeTest.java      |    2 +
 .../druid/msq/indexing/error/MSQWarningsTest.java  |   10 +-
 .../druid/msq/kernel/StageDefinitionTest.java      |   73 +
 .../controller/BaseControllerQueryKernelTest.java  |  217 +-
 .../controller/ControllerQueryKernelTest.java      |  433 ++++
 .../controller/ControllerQueryKernelTests.java     |  420 ----
 .../controller/MockQueryDefinitionBuilder.java     |    4 +-
 .../NonShufflingWorkersWithRetryKernelTest.java    |  334 +++
 .../ShufflingWorkersWithRetryKernelTest.java       | 1087 ++++++++
 .../msq/querykit/BroadcastJoinHelperTest.java      |    7 +-
 .../querykit/scan/ScanQueryFrameProcessorTest.java |    4 +-
 .../ClusterByStatisticsCollectorImplTest.java      |   22 +-
 .../druid/msq/test/CalciteMSQTestsHelper.java      |  303 +++
 .../druid/msq/test/CalciteSelectQueryTestMSQ.java  |  164 ++
 .../druid/msq/test/CounterSnapshotBuilder.java     |   75 +
 .../druid/msq/test/ExtractResultsFactory.java      |  116 +
 .../org/apache/druid/msq/test/MSQTestBase.java     |  184 +-
 .../druid/msq/test/MSQTestControllerClient.java    |    4 +-
 .../druid/msq/test/MSQTestControllerContext.java   |    6 +-
 .../apache/druid/msq/test/MSQTestFileUtils.java    |   10 +-
 .../msq/test/MSQTestOverlordServiceClient.java     |   15 +
 .../VerifyMSQSupportedNativeQueriesFactory.java    |   74 +
 .../apache/druid/msq/util/MSQFaultUtilsTest.java   |   51 +
 .../druid/msq/util/MultiStageQueryContextTest.java |   33 +-
 .../data/input/orc/OrcHadoopInputRowParser.java    |   10 +-
 .../org/apache/druid/data/input/orc/OrcReader.java |    8 +-
 .../data/input/orc/OrcStructFlattenerMaker.java    |   10 +-
 .../data/input/orc/OrcStructJsonProvider.java      |  114 +-
 .../apache/druid/data/input/orc/OrcReaderTest.java |  104 +
 .../example/compat/nested_array_struct.json        |    3 +-
 .../example/compat/parquet_thrift_compat.json      |   13 +-
 .../example/compat/proto_struct_with_array.json    |    5 +-
 .../flattening/flat_1_autodiscover_fields.json     |    7 +-
 .../example/flattening/flat_1_flatten.json         |    4 +
 .../example/flattening/flat_1_list_index.json      |    4 +
 .../flattening/nested_1_autodiscover_fields.json   |    4 +-
 .../druid/data/input/parquet/ParquetReader.java    |    8 +-
 .../avro/ParquetAvroHadoopInputRowParser.java      |   10 +-
 .../parquet/simple/DruidParquetReadSupport.java    |   52 +-
 .../parquet/simple/ParquetGroupFlattenerMaker.java |   10 +-
 .../parquet/simple/ParquetGroupJsonProvider.java   |  104 +-
 .../simple/ParquetHadoopInputRowParser.java        |   10 +-
 .../parquet/NestedColumnParquetReaderTest.java     |   73 +
 extensions-core/protobuf-extensions/pom.xml        |   22 +-
 .../data/input/protobuf/ProtobufConverter.java     |  244 ++
 .../input/protobuf/ProtobufFlattenerMaker.java     |  125 +
 .../data/input/protobuf/ProtobufInputFormat.java   |    9 +-
 .../input/protobuf/ProtobufInputRowSchema.java     |   13 +-
 .../data/input/protobuf/ProtobufJsonProvider.java  |   79 +
 .../druid/data/input/protobuf/ProtobufReader.java  |   63 +-
 .../data/input/protobuf/ProtoTestEventWrapper.java | 1156 ++++-----
 .../input/protobuf/ProtobufInputFormatTest.java    |  328 ++-
 .../input/protobuf/ProtobufInputRowParserTest.java |   23 +-
 .../data/input/protobuf/ProtobufReaderTest.java    |   14 +-
 .../src/test/resources/ProtoTest.proto             |    7 +-
 .../src/test/resources/prototest.desc              |  Bin 998 -> 1040 bytes
 extensions-core/s3-extensions/pom.xml              |   13 +-
 .../catalog/model/table/S3InputSourceDefn.java     |  326 +++
 .../storage/s3/output/S3StorageConnector.java      |   22 +-
 .../catalog/model/table/S3InputSourceDefnTest.java |  727 ++++++
 .../druid/data/input/s3/S3InputSourceTest.java     |   12 +-
 .../storage/s3/output/S3StorageConnectorTest.java  |   51 +
 helm/druid/Chart.yaml                              |    2 +-
 helm/druid/README.md                               |    2 +
 .../apache/druid/indexer/HadoopIngestionSpec.java  |   35 +-
 .../apache/druid/indexer/IndexGeneratorJob.java    |    4 +-
 .../druid/indexer/HadoopIngestionSpecTest.java     |   29 +
 .../druid/indexer/HdfsClasspathSetupTest.java      |    4 +-
 .../druid/indexing/common/AdjustedRuntimeInfo.java |   56 +
 .../apache/druid/indexing/common/TaskToolbox.java  |   45 +-
 .../common/actions/SegmentAllocationQueue.java     |   53 +-
 .../common/actions/UpdateStatusAction.java         |   21 +
 .../common/stats/DropwizardRowIngestionMeters.java |   18 +
 .../common/stats/TaskRealtimeMetricsMonitor.java   |    2 +-
 .../common/task/AbstractBatchIndexTask.java        |    2 +-
 .../druid/indexing/common/task/AbstractTask.java   |    6 +-
 .../druid/indexing/common/task/CompactionTask.java |    2 +-
 .../indexing/common/task/HadoopIndexTask.java      |    2 +-
 .../apache/druid/indexing/common/task/Task.java    |    2 +-
 .../parallel/ParallelIndexSupervisorTask.java      |   20 +-
 .../indexing/input/DruidSegmentInputFormat.java    |   22 +-
 .../druid/indexing/input/DruidSegmentReader.java   |   17 +-
 .../input/DruidTombstoneSegmentReader.java         |   15 +-
 .../druid/indexing/input/GeneratorInputSource.java |    3 +-
 .../overlord/SingleTaskBackgroundRunner.java       |    2 +-
 .../indexing/overlord/config/TaskLockConfig.java   |    6 +-
 .../overlord/hrtr/HttpRemoteTaskRunner.java        |    7 +-
 .../indexing/overlord/sampler/SamplerConfig.java   |   21 +-
 .../SeekableStreamIndexTaskIOConfig.java           |    4 +
 .../SeekableStreamIndexTaskRunner.java             |    2 +-
 .../indexing/seekablestream/StreamChunkParser.java |   19 +-
 .../druid/indexing/common/TaskToolboxTest.java     |   79 +-
 .../common/actions/SegmentAllocationQueueTest.java |   19 +-
 .../indexing/common/actions/TaskActionTestKit.java |    2 +-
 .../indexing/common/task/AbstractTaskTest.java     |   43 +-
 .../AppenderatorDriverRealtimeIndexTaskTest.java   |   56 +-
 .../common/task/CompactionTaskParallelRunTest.java |   45 +-
 .../indexing/common/task/CompactionTaskTest.java   |   28 +-
 .../druid/indexing/common/task/IndexTaskTest.java  |  111 +-
 .../indexing/common/task/ParseExceptionReport.java |   71 +
 .../druid/indexing/common/task/TaskSerdeTest.java  |   48 +
 .../AbstractParallelIndexSupervisorTaskTest.java   |   14 +-
 .../MultiPhaseParallelIndexingRowStatsTest.java    |    8 +-
 .../parallel/SinglePhaseParallelIndexingTest.java  |   29 +-
 .../indexing/input/DruidSegmentReaderTest.java     |  175 +-
 .../druid/indexing/overlord/TaskLifecycleTest.java |   14 +-
 .../overlord/TaskLockBoxConcurrencyTest.java       |    4 +-
 .../druid/indexing/overlord/TaskQueueTest.java     |  140 ++
 .../overlord/hrtr/HttpRemoteTaskRunnerTest.java    |   68 +-
 .../RecordSupplierInputSourceTest.java             |   15 +-
 .../SeekableStreamIndexTaskTestBase.java           |  217 +-
 integration-tests-ex/cases/cluster.sh              |   97 +-
 .../cluster/AzureDeepStorage/docker-compose.yaml   |  132 +
 ...er-compose.yaml => docker-compose-indexer.yaml} |    0
 .../cases/cluster/BatchIndex/docker-compose.yaml   |    4 +-
 .../cases/cluster/Common/dependencies.yaml         |    3 +-
 .../cluster/GcsDeepStorage/docker-compose.yaml     |  155 ++
 .../cluster/MultiStageQuery/docker-compose.yaml    |    3 +
 .../MultiStageQueryWithMM/docker-compose.yaml      |   98 +
 .../cluster/S3DeepStorage/docker-compose.yaml      |  129 +
 integration-tests-ex/cases/pom.xml                 |  122 +-
 .../druid/testsEx/catalog/ITCatalogRestTest.java   |   22 +-
 .../druid/testsEx/categories/AzureDeepStorage.java |   24 +
 .../druid/testsEx/categories/GcsDeepStorage.java   |   24 +
 .../druid/testsEx/categories/InputFormat.java      |   27 +
 .../druid/testsEx/categories/InputSource.java      |   24 +
 .../testsEx/categories/MultiStageQueryWithMM.java  |   24 +
 .../druid/testsEx/categories/S3DeepStorage.java    |   25 +
 .../druid/testsEx/cluster/DruidClusterClient.java  |   61 +-
 .../druid/testsEx/cluster/MetastoreClient.java     |    1 -
 .../apache/druid/testsEx/config/ClusterConfig.java |   21 +-
 .../apache/druid/testsEx/config/Initializer.java   |    2 +-
 .../testsEx/config/IntegrationTestingConfigEx.java |    1 -
 .../apache/druid/testsEx/config/KafkaConfig.java   |    3 +-
 .../druid/testsEx/config/MetastoreConfig.java      |    3 +-
 .../druid/testsEx/config/ResolvedConfig.java       |   11 +-
 .../druid/testsEx/config/ResolvedService.java      |    2 +-
 .../apache/druid/testsEx/config/ServiceConfig.java |   43 +-
 .../AbstractAzureInputSourceParallelIndexTest.java |   71 +
 .../AbstractCloudInputSourceParallelIndexTest.java |  263 ++
 .../AbstractGcsInputSourceParallelIndexTest.java   |   85 +
 .../testsEx/indexer/AbstractITBatchIndexTest.java  |  207 +-
 .../AbstractLocalInputSourceParallelIndexTest.java |   35 +-
 .../AbstractS3InputSourceParallelIndexTest.java    |   76 +
 .../indexer/ITAzureToAzureParallelIndexTest.java   |   52 +
 .../indexer/ITGcsToGcsParallelIndexTest.java       |   53 +
 .../testsEx/indexer/ITHttpInputSourceTest.java     |   56 +
 .../ITLocalInputSourceAllFormatSchemalessTest.java |  133 +
 .../ITLocalInputSourceAllInputFormatTest.java      |  101 +
 .../testsEx/indexer/ITOverwriteBatchIndexTest.java |    1 +
 .../testsEx/indexer/ITS3ToS3ParallelIndexTest.java |   54 +
 .../testsEx/indexer/ITSqlInputSourceTest.java      |  106 +
 .../testsEx/leadership/ITHighAvailabilityTest.java |    2 +-
 .../testsEx/msq/AbstractITSQLBasedIngestion.java   |  180 --
 .../testsEx/msq/ITAzureSQLBasedIngestionTest.java  |   57 +
 .../testsEx/msq/ITGcsSQLBasedIngestionTest.java    |   48 +
 .../msq/ITKeyStatisticsSketchMergeMode.java        |    4 +-
 .../apache/druid/testsEx/msq/ITMSQReindexTest.java |   12 +-
 .../druid/testsEx/msq/ITMultiStageQuery.java       |    2 +-
 .../msq/ITMultiStageQueryWorkerFaultTolerance.java |  190 ++
 .../testsEx/msq/ITS3SQLBasedIngestionTest.java     |   61 +
 .../testsEx/msq/ITSQLBasedBatchIngestion.java      |   73 -
 .../testsEx/msq/ITSQLBasedBatchIngestionTest.java  |   77 +
 .../apache/druid/testsEx/utils/AzureTestUtil.java  |  114 +
 .../apache/druid/testsEx/utils/GcsTestUtil.java    |  122 +
 .../org/apache/druid/testsEx/utils/S3TestUtil.java |  172 ++
 .../resources/cluster/AzureDeepStorage/docker.yaml |   53 +
 .../resources/cluster/GcsDeepStorage/docker.yaml   |   53 +
 .../test/resources/cluster/InputSource/docker.yaml |  328 +++
 .../cluster/MultiStageQueryWithMM/docker.yaml      |   40 +
 .../resources/cluster/S3DeepStorage/docker.yaml    |   53 +
 .../cases/src/test/resources/config-test/test.yaml |    5 +
 .../resources/indexer/wikipedia_index_queries.json |    2 +-
 .../wikipedia_index_schemaless_queries.json        |   32 +
 ...a_local_input_source_index_task_schemaless.json |   42 +
 ...a_parallel_index_using_sqlinputsource_task.json |    2 +-
 .../wikipedia_cloud_index_msq.sql                  |   32 +
 .../wikipedia_msq_select_query_ha.json             |   55 +
 integration-tests-ex/docs/guide.md                 |   26 +
 integration-tests-ex/docs/test-config.md           |   23 +-
 .../docker/docker-compose.query-error-test.yml     |    2 +-
 .../docker/docker-compose.query-retry-test.yml     |    2 +-
 .../environment-configs/override-examples/hdfs     |    2 +-
 integration-tests/pom.xml                          |    1 -
 .../druid/testing/utils/MsqTestQueryHelper.java    |    7 +-
 .../druid/tests/hadoop/ITHadoopIndexTest.java      |  142 ++
 .../tests/indexer/AbstractITBatchIndexTest.java    |   46 +-
 .../apache/druid/tests/query/ITJdbcQueryTest.java  |    2 +
 .../apache/druid/tests/query/ITSqlCancelTest.java  |   11 +-
 .../wikipedia_index_data1.parquet                  |  Bin 0 -> 10653 bytes
 .../wikipedia_index_data2.parquet                  |  Bin 0 -> 9935 bytes
 .../wikipedia_index_data3.parquet                  |  Bin 0 -> 9983 bytes
 .../wikipedia_hadoop_paquet_parser_index_data.json |  131 +
 .../wikipedia_hadoop_paquet_parser_query_data.json |  157 ++
 it.sh                                              |  186 +-
 licenses.yaml                                      |   19 +-
 .../{react-dom.MIT => use-sync-external-store.MIT} |    0
 owasp-dependency-check-suppressions.xml            |   13 +-
 pom.xml                                            |   26 +-
 .../main/java/org/apache/druid/frame/Frame.java    |    6 +-
 .../apache/druid/frame/channel/ByteTracker.java    |   78 +
 .../channel/ComposingReadableFrameChannel.java     |  146 ++
 .../channel/ComposingWritableFrameChannel.java     |  103 +
 ...ableStoragePartitionedReadableFrameChannel.java |   93 +
 .../channel/PartitionedReadableFrameChannel.java   |   44 +
 .../channel/ReadableByteChunksFrameChannel.java    |   15 +-
 .../channel/ReadableInputStreamFrameChannel.java   |    5 +-
 .../org/apache/druid/frame/file/FrameFile.java     |  119 +-
 .../apache/druid/frame/file/FrameFileFooter.java   |  127 +
 .../apache/druid/frame/file/FrameFileWriter.java   |   28 +-
 .../BlockingQueueOutputChannelFactory.java         |    6 +
 .../processor/ComposingOutputChannelFactory.java   |  183 ++
 .../DurableStorageOutputChannelFactory.java        |  288 +++
 .../frame/processor/FileOutputChannelFactory.java  |   94 +-
 .../druid/frame/processor/OutputChannel.java       |    5 +
 .../frame/processor/OutputChannelFactory.java      |    5 +
 .../frame/processor/PartitionedOutputChannel.java  |  122 +
 .../apache/druid/frame/processor/SuperSorter.java  |  179 +-
 .../druid/frame/util/DurableStorageUtils.java      |  124 +
 .../apache/druid/query/BadJsonQueryException.java  |   15 +-
 .../druid/query/BadQueryContextException.java      |    8 +-
 .../org/apache/druid/query/BadQueryException.java  |    9 +-
 .../java/org/apache/druid/query/BaseQuery.java     |    4 +-
 .../java/org/apache/druid/query/DataSource.java    |   12 +-
 .../apache/druid/query/DefaultQueryMetrics.java    |   21 +
 .../org/apache/druid/query/InlineDataSource.java   |    7 +
 .../org/apache/druid/query/JoinDataSource.java     |   54 +-
 .../org/apache/druid/query/LookupDataSource.java   |    7 +
 .../main/java/org/apache/druid/query/Queries.java  |    3 +-
 .../query/QueryCapacityExceededException.java      |   14 +-
 .../org/apache/druid/query/QueryDataSource.java    |   14 +
 .../druid/query/QueryInterruptedException.java     |   23 +-
 .../java/org/apache/druid/query/QueryMetrics.java  |   24 +
 .../druid/query/QueryUnsupportedException.java     |    5 +-
 .../query/ResourceLimitExceededException.java      |    6 +-
 .../org/apache/druid/query/TableDataSource.java    |    7 +
 .../org/apache/druid/query/UnionDataSource.java    |    8 +
 .../org/apache/druid/query/UnionQueryRunner.java   |    2 +-
 .../org/apache/druid/query/UnnestDataSource.java   |   20 +
 .../any/StringAnyAggregatorFactory.java            |    1 -
 .../aggregation/post/ArithmeticPostAggregator.java |    9 +
 .../druid/query/context/ResponseContext.java       |   87 +-
 .../query/expression/NestedDataExpressions.java    |   11 +-
 .../druid/query/metadata/SegmentAnalyzer.java      |   14 +-
 .../druid/query/operator/ColumnWithDirection.java  |  109 +
 .../query/operator/LimitedRowsAndColumns.java      |  115 -
 .../query/operator/NaivePartitioningOperator.java  |   71 +-
 .../druid/query/operator/NaiveSortOperator.java    |   76 +
 .../query/operator/NaiveSortOperatorFactory.java   |   59 +
 .../org/apache/druid/query/operator/Operator.java  |  177 +-
 .../druid/query/operator/OperatorFactory.java      |    2 +
 .../druid/query/operator/OperatorSequence.java     |  148 +-
 .../operator/SegmentToRowsAndColumnsOperator.java  |   46 +-
 .../druid/query/operator/SequenceOperator.java     |  130 +-
 .../query/operator/WindowOperatorFactory.java      |   68 -
 .../druid/query/operator/WindowOperatorQuery.java  |    7 +
 .../WindowOperatorQueryQueryToolChest.java         |    4 +-
 .../query/operator/WindowProcessorOperator.java    |   40 +-
 .../druid/query/operator/join/JoinConfig.java      |   42 +
 .../druid/query/operator/join/JoinPartDefn.java    |   93 +
 .../operator/join/SortedInnerJoinOperator.java     |  558 +++++
 .../druid/query/operator/window/Processor.java     |    2 +-
 .../operator/window/WindowAggregateProcessor.java  |  131 -
 .../druid/query/operator/window/WindowFrame.java   |  128 +
 .../window/WindowFramedAggregateProcessor.java     |   99 +
 .../operator/window/WindowOperatorFactory.java     |   70 +
 .../window/ranking/WindowPercentileProcessor.java  |    2 +-
 .../window/ranking/WindowRankingProcessorBase.java |   10 +-
 .../window/ranking/WindowRowNumberProcessor.java   |    4 +-
 .../window/value/ShiftedColumnAccessorBase.java    |   24 +-
 .../window/value/WindowOffsetProcessor.java        |    8 +-
 .../window/value/WindowValueProcessorBase.java     |    2 +-
 .../druid/query/planning/DataSourceAnalysis.java   |  136 +-
 .../query/rowsandcols/AppendableMapOfColumns.java  |   92 +
 .../rowsandcols/AppendableRowsAndColumns.java      |   38 -
 .../query/rowsandcols/ArrayListRowsAndColumns.java |  425 +++-
 .../query/rowsandcols/ConcatRowsAndColumns.java    |  258 ++
 .../query/rowsandcols/DefaultGroupPartitioner.java |   75 -
 .../rowsandcols/DefaultOnHeapAggregatable.java     |  271 --
 .../rowsandcols/DefaultSortedGroupPartitioner.java |   93 -
 .../query/rowsandcols/EmptyRowsAndColumns.java     |   54 +
 .../druid/query/rowsandcols/GroupPartitioner.java  |   43 -
 .../query/rowsandcols/LimitedRowsAndColumns.java   |   77 +
 .../rowsandcols/MapOfColumnsRowsAndColumns.java    |  158 ++
 .../query/rowsandcols/OnHeapAggregatable.java      |   47 -
 .../rowsandcols/OnHeapCumulativeAggregatable.java  |   48 -
 .../rowsandcols/RearrangedRowsAndColumns.java      |  174 ++
 .../druid/query/rowsandcols/RowsAndColumns.java    |    8 +-
 .../query/rowsandcols/SortedGroupPartitioner.java  |   54 -
 .../column/BinarySearchableAccessor.java           |   54 +
 .../druid/query/rowsandcols/column/Column.java     |    5 +-
 .../query/rowsandcols/column/ColumnAccessor.java   |   52 +-
 .../column/ColumnAccessorBasedColumn.java          |    5 +
 .../rowsandcols/column/ColumnValueSwapper.java     |   38 +
 .../rowsandcols/column/ConstantObjectColumn.java   |  175 +-
 .../rowsandcols/column/DefaultVectorCopier.java    |   45 +
 .../rowsandcols/column/DoubleArrayColumn.java      |  194 +-
 .../query/rowsandcols/column/IntArrayColumn.java   |  200 +-
 .../query/rowsandcols/column/LimitedColumn.java    |   78 +
 .../druid/query/rowsandcols/column/NullColumn.java |  158 ++
 .../rowsandcols/column/NullColumnAccessor.java     |   96 -
 .../rowsandcols/column/ObjectArrayColumn.java      |  143 +-
 .../column/ObjectColumnAccessorBase.java           |    4 +-
 .../query/rowsandcols/column/VectorCopier.java     |   36 +
 .../rowsandcols/frame/AppendableMapOfColumns.java  |   93 -
 .../frame/MapOfColumnsRowsAndColumns.java          |  109 -
 .../semantic/AppendableRowsAndColumns.java         |   39 +
 .../semantic/ClusteredGroupPartitioner.java        |   69 +
 .../semantic/ColumnSelectorFactoryMaker.java       |   39 +
 .../semantic/DefaultClusteredGroupPartitioner.java |   99 +
 .../DefaultColumnSelectorFactoryMaker.java         |  223 ++
 .../semantic/DefaultFramedOnHeapAggregatable.java  |  586 +++++
 .../semantic/DefaultGroupPartitioner.java          |   76 +
 .../semantic/DefaultNaiveSortMaker.java            |  123 +
 .../semantic/DefaultSortedMatrixMaker.java         |  204 ++
 .../semantic/FramedOnHeapAggregatable.java         |   60 +
 .../rowsandcols/semantic/GroupPartitioner.java     |   43 +
 .../query/rowsandcols/semantic/NaiveSortMaker.java |   81 +
 .../rowsandcols/semantic/SortedMatrixMaker.java    |   83 +
 .../druid/query/rowsandcols/util/FindResult.java   |   69 +
 .../query/search/DefaultSearchQueryMetrics.java    |   18 +
 .../org/apache/druid/segment/ArrayListSegment.java |   26 +-
 .../druid/segment/CloseableShapeshifter.java       |   46 +
 .../apache/druid/segment/DimensionDictionary.java  |  149 +-
 .../org/apache/druid/segment/DimensionIndexer.java |   11 +
 .../org/apache/druid/segment/IndexMergerV9.java    |   44 +-
 .../org/apache/druid/segment/IndexableAdapter.java |    2 -
 .../druid/segment/NestedDataColumnIndexer.java     |  213 +-
 .../druid/segment/NestedDataColumnMerger.java      |   88 +-
 .../org/apache/druid/segment/QueryableIndex.java   |    3 +-
 .../QueryableIndexColumnSelectorFactory.java       |    4 +
 .../segment/QueryableIndexIndexableAdapter.java    |   26 +-
 .../segment/RowBasedColumnSelectorFactory.java     |    7 +-
 .../segment/SimpleDictionaryMergingIterator.java   |  120 +
 .../apache/druid/segment/SimpleQueryableIndex.java |    2 +-
 .../druid/segment/StringDimensionIndexer.java      |    4 +
 .../segment/UnnestColumnValueSelectorCursor.java   |   26 +-
 .../druid/segment/UnnestDimensionCursor.java       |   12 +-
 .../org/apache/druid/segment/VirtualColumn.java    |    2 +
 .../apache/druid/segment/column/ColumnBuilder.java |   17 +-
 .../druid/segment/column/ColumnCapabilities.java   |   14 -
 .../apache/druid/segment/column/ColumnHolder.java  |    5 +
 .../apache/druid/segment/column/RowSignature.java  |    2 +-
 .../druid/segment/column/SimpleColumnHolder.java   |   11 +
 .../druid/segment/generator/DataGenerator.java     |    3 +-
 .../segment/incremental/IncrementalIndex.java      |   75 +-
 .../incremental/IncrementalIndexAdapter.java       |    8 +-
 .../IncrementalIndexStorageAdapter.java            |    8 +
 .../incremental/MutableRowIngestionMeters.java     |  106 -
 .../incremental/NoopRowIngestionMeters.java        |    2 +-
 .../incremental/OnheapIncrementalIndex.java        |   12 +-
 .../segment/incremental/RowIngestionMeters.java    |   16 +-
 .../incremental/RowIngestionMetersTotals.java      |   13 +-
 .../incremental/SimpleRowIngestionMeters.java      |  118 +
 .../nested/CompressedNestedDataComplexColumn.java  |   67 +-
 .../GlobalDictionaryEncodedFieldColumnWriter.java  |   16 +-
 .../segment/nested/GlobalDictionaryIdLookup.java   |    3 +
 .../segment/nested/NestedDataColumnSerializer.java |   47 +-
 .../segment/nested/NestedDataColumnSupplier.java   |  214 +-
 .../druid/segment/nested/NestedDataColumnV3.java   |   83 +
 .../druid/segment/nested/NestedDataColumnV4.java   |   85 +
 .../segment/nested/NestedDataComplexTypeSerde.java |   19 +-
 .../NestedFieldLiteralColumnIndexSupplier.java     |   98 +-
 .../NestedFieldLiteralDictionaryEncodedColumn.java |  148 +-
 .../druid/segment/nested/NestedPathFinder.java     |   15 +-
 .../segment/nested/StringFieldColumnWriter.java    |    6 +-
 .../druid/segment/nested/StructuredData.java       |    4 +
 .../segment/nested/StructuredDataProcessor.java    |  127 +-
 .../transform/TransformingInputSourceReader.java   |    5 +-
 .../druid/segment/vector/NilVectorSelector.java    |   11 +-
 .../QueryableIndexVectorColumnSelectorFactory.java |   19 +-
 .../segment/virtual/ExpressionVectorSelectors.java |   43 +
 .../segment/virtual/FallbackVirtualColumn.java     |  227 ++
 .../segment/virtual/NestedFieldVirtualColumn.java  |  394 ++-
 .../segment/virtual/VirtualColumnCacheHelper.java  |    1 +
 .../java/org/apache/druid/frame/FrameTest.java     |    7 +-
 .../ReadableByteChunksFrameChannelTest.java        |   14 +-
 .../ReadableInputStreamFrameChannelTest.java       |   21 +-
 .../file/FrameFileHttpResponseHandlerTest.java     |    2 +-
 .../org/apache/druid/frame/file/FrameFileTest.java |   24 +-
 .../druid/frame/file/FrameFileWriterTest.java      |    5 +-
 .../BlockingQueueOutputChannelFactoryTest.java     |   24 +-
 .../ComposingOutputChannelFactoryTest.java         |  127 +
 .../DurableStorageOutputChannelFactoryTest.java    |   49 +
 .../processor/FileOutputChannelFactoryTest.java    |   36 +
 .../processor/FrameProcessorExecutorTest.java      |   11 +-
 .../frame/processor/OutputChannelFactoryTest.java  |  168 ++
 .../druid/frame/processor/SuperSorterTest.java     |  126 +-
 .../apache/druid/frame/testutil/FrameTestUtil.java |   10 +-
 .../query/ChainedExecutionQueryRunnerTest.java     |    6 +-
 .../druid/query/DruidProcessingConfigTest.java     |    4 +-
 .../apache/druid/query/NestedDataTestUtils.java    |  101 +
 .../apache/druid/query/QueryRunnerTestHelper.java  |   28 +
 .../apache/druid/query/SchemaEvolutionTest.java    |    2 +-
 .../post/ArithmeticPostAggregatorTest.java         |   29 +
 .../expression/NestedDataExpressionsTest.java      |    4 +-
 .../query/expression/TimestampShiftMacroTest.java  |    2 +-
 .../query/groupby/NestedDataGroupByQueryTest.java  |  189 +-
 .../groupby/UnnestGroupByQueryRunnerTest.java      |  795 ++++++
 .../epinephelinae/BufferArrayGrouperTest.java      |    4 +-
 .../epinephelinae/BufferHashGrouperTest.java       |   10 +-
 .../GroupByTestColumnSelectorFactory.java          |  104 +
 .../groupby/epinephelinae/GrouperTestUtil.java     |    4 +-
 .../LimitedBufferHashGrouperTest.java              |   20 +-
 .../StreamingMergeSortedGrouperTest.java           |   10 +-
 .../epinephelinae/TestColumnSelectorFactory.java   |  104 -
 .../groupby/having/DimFilterHavingSpecTest.java    |    5 +-
 .../druid/query/operator/ExceptionalReceiver.java  |   37 +
 .../druid/query/operator/InlineScanOperator.java   |   60 +-
 .../operator/NaivePartitioningOperatorTest.java    |  103 +-
 .../druid/query/operator/OperatorSequenceTest.java |  119 +-
 .../druid/query/operator/OperatorTestHelper.java   |  156 ++
 .../SegmentToRowsAndColumnsOperatorTest.java       |  188 ++
 .../druid/query/operator/SequenceOperatorTest.java |   23 +-
 .../operator/SortedInnerJoinOperatorTest.java      |  144 ++
 .../query/operator/WindowOperatorQueryTest.java    |    9 +-
 .../operator/WindowProcessorOperatorTest.java      |   15 +-
 .../operator/window/RowsAndColumnsHelper.java      |   49 +-
 .../window/WindowAggregateProcessorTest.java       |  115 -
 .../window/WindowFramedAggregateProcessorTest.java |   96 +
 .../ranking/WindowCumeDistProcessorTest.java       |    2 +-
 .../ranking/WindowDenseRankProcessorTest.java      |    2 +-
 .../ranking/WindowPercentileProcessorTest.java     |    2 +-
 .../window/ranking/WindowRankProcessorTest.java    |   13 +-
 .../ranking/WindowRowNumberProcessorTest.java      |    2 +-
 .../window/value/WindowFirstProcessorTest.java     |    2 +-
 .../window/value/WindowLagProcessorTest.java       |    2 +-
 .../window/value/WindowLastProcessorTest.java      |    2 +-
 .../window/value/WindowLeadProcessorTest.java      |    2 +-
 .../query/planning/DataSourceAnalysisTest.java     |   84 +-
 .../rowsandcols/ArrayListRowsAndColumnsTest.java   |   16 +-
 .../rowsandcols/AsOnlyTestRowsAndColumns.java      |   46 +
 .../rowsandcols/ConcatRowsAndColumnsTest.java      |   45 +
 .../MapOfColumnsRowsAndColumnsTest.java            |    8 +-
 .../query/rowsandcols/NoAsRowsAndColumns.java      |   61 +
 .../rowsandcols/RearrangedRowsAndColumnsTest.java  |  106 +
 .../query/rowsandcols/RowsAndColumnsTestBase.java  |  191 +-
 .../rowsandcols/column/NullColumnAccessorTest.java |   46 -
 .../query/rowsandcols/column/NullColumnTest.java   |   48 +
 .../semantic/AppendableRowsAndColumnsTest.java     |   95 +
 .../semantic/ClusteredGroupPartitionerTest.java    |  175 ++
 .../semantic/CombinedSemanticInterfacesTest.java   |  153 ++
 .../semantic/FramedOnHeapAggregatableTest.java     |  459 ++++
 .../rowsandcols/semantic/NaiveSortMakerTest.java   |  179 ++
 .../rowsandcols/semantic/SemanticTestBase.java     |   88 +
 .../druid/query/scan/NestedDataScanQueryTest.java  |  414 +---
 .../druid/query/scan/ScanQueryRunnerTest.java      |   40 +-
 .../query/scan/UnnestScanQueryRunnerTest.java      |  551 +++++
 .../timeseries/TimeseriesQueryRunnerTest.java      |    2 +-
 .../query/topn/UnnestTopNQueryRunnerTest.java      |  413 ++++
 .../druid/segment/NestedDataColumnIndexerTest.java |  493 +++-
 .../QueryableIndexColumnCapabilitiesTest.java      |   36 +-
 .../druid/segment/SchemalessTestFullTest.java      |    4 +-
 .../SimpleDictionaryMergingIteratorTest.java       |   57 +
 .../druid/segment/StringDimensionIndexerTest.java  |   18 +
 .../apache/druid/segment/TestColumnSelector.java   |   76 +
 .../druid/segment/TestColumnSelectorFactory.java   |   80 +
 .../java/org/apache/druid/segment/TestHelper.java  |   11 +-
 .../org/apache/druid/segment/TestSegmentForAs.java |   82 +
 .../UnnestColumnValueSelectorCursorTest.java       |   64 +-
 .../druid/segment/data/IncrementalIndexTest.java   |    5 +-
 .../filter/FloatAndDoubleFilteringTest.java        |    4 +-
 .../druid/segment/filter/LongFilteringTest.java    |    4 +-
 .../incremental/IncrementalIndexIngestionTest.java |    2 +
 .../IncrementalIndexMultiValueSpecTest.java        |    2 +
 .../IncrementalIndexStorageAdapterTest.java        |    2 +
 .../incremental/MutableRowIngestionMetersTest.java |   46 -
 .../incremental/OnheapIncrementalIndexTest.java    |   46 +
 .../druid/segment/incremental/RowMeters.java       |   69 +
 .../incremental/SimpleRowIngestionMeters.java      |   90 -
 .../incremental/SimpleRowIngestionMetersTest.java  |   47 +
 .../apache/druid/segment/join/NoopDataSource.java  |    8 +
 .../nested/NestedDataColumnSupplierTest.java       |  221 +-
 .../NestedFieldLiteralColumnIndexSupplierTest.java |  274 ++
 .../NestedFieldLiteralColumnSelectorsTest.java     |  380 +++
 .../segment/vector/NilVectorSelectorTest.java      |   85 +
 .../vector/TestVectorColumnSelectorFactory.java    |  114 +
 .../virtual/ExpressionVectorSelectorsCastTest.java |  228 ++
 .../segment/virtual/FallbackVirtualColumnTest.java |  581 +++++
 .../src/test/resources/nested_segment_v3/index.zip |  Bin 0 -> 3381 bytes
 .../test/resources/simple-nested-test-data.json    |    2 +-
 .../src/test/resources/types-test-data-parser.json |   16 +
 processing/src/test/resources/types-test-data.json |    8 +
 server/pom.xml                                     |    4 +
 .../apache/druid/catalog/model/CatalogUtils.java   |  191 +-
 .../org/apache/druid/catalog/model/ColumnDefn.java |  118 -
 .../org/apache/druid/catalog/model/ColumnSpec.java |   46 +-
 .../org/apache/druid/catalog/model/Columns.java    |   21 +-
 .../druid/catalog/model/ModelProperties.java       |   95 +-
 .../org/apache/druid/catalog/model/ObjectDefn.java |   22 +-
 .../apache/druid/catalog/model/ObjectFacade.java   |   15 +-
 .../druid/catalog/model/ParameterizedDefn.java     |   34 +-
 .../druid/catalog/model/SchemaRegistryImpl.java    |    7 +-
 .../org/apache/druid/catalog/model/TableDefn.java  |   56 +-
 .../druid/catalog/model/TableDefnRegistry.java     |  108 +-
 .../org/apache/druid/catalog/model/TableId.java    |    2 +-
 .../druid/catalog/model/facade/ColumnFacade.java   |   57 -
 .../catalog/model/facade/DatasourceFacade.java     |   37 +-
 .../druid/catalog/model/facade/TableFacade.java    |   17 +
 .../model/table/AbstractDatasourceDefn.java        |  154 --
 .../catalog/model/table/BaseInputSourceDefn.java   |  278 +++
 .../catalog/model/table/BaseTableFunction.java     |   88 +
 .../druid/catalog/model/table/ClusterKeySpec.java  |   12 +-
 .../druid/catalog/model/table/DatasourceDefn.java  |  148 +-
 .../catalog/model/table/ExternalTableDefn.java     |  446 ++--
 .../catalog/model/table/ExternalTableSpec.java     |   30 +-
 .../model/table/FormattedInputSourceDefn.java      |  196 ++
 .../catalog/model/table/HttpInputSourceDefn.java   |  307 +++
 .../druid/catalog/model/table/HttpTableDefn.java   |  194 --
 .../catalog/model/table/InlineInputSourceDefn.java |  134 +
 .../druid/catalog/model/table/InlineTableDefn.java |   91 -
 .../druid/catalog/model/table/InputFormatDefn.java |   98 +
 .../druid/catalog/model/table/InputFormats.java    |  340 +--
 .../druid/catalog/model/table/InputSourceDefn.java |  128 +
 .../catalog/model/table/LocalInputSourceDefn.java  |  279 +++
 .../druid/catalog/model/table/LocalTableDefn.java  |  127 -
 .../catalog/model/table/ResolvedExternalTable.java |  141 ++
 .../druid/catalog/model/table/TableBuilder.java    |  151 +-
 .../druid/catalog/model/table/TableFunction.java   |   85 +
 .../org/apache/druid/client/BrokerServerView.java  |    2 +-
 .../druid/client/CachingClusteredClient.java       |   20 +-
 .../apache/druid/client/JsonParserIterator.java    |   33 +-
 .../org/apache/druid/client/ServerViewUtil.java    |    2 +-
 .../apache/druid/client/cache/CaffeineCache.java   |    2 +-
 .../org/apache/druid/guice/StorageNodeModule.java  |    2 +-
 .../org/apache/druid/metadata/input/SqlReader.java |    4 +-
 .../apache/druid/segment/indexing/ReaderUtils.java |  154 ++
 .../join/BroadcastTableJoinableFactory.java        |    2 +-
 .../segment/loading/LocalDataSegmentKiller.java    |   15 +-
 .../segment/loading/LocalDataSegmentPuller.java    |   68 +-
 .../segment/loading/LocalDataSegmentPusher.java    |  106 +-
 .../loading/LocalDataSegmentPusherConfig.java      |    8 +
 .../druid/segment/loading/LocalLoadSpec.java       |    2 +-
 .../appenderator/SinkQuerySegmentWalker.java       |   12 +-
 .../UnifiedIndexerAppenderatorsManager.java        |    9 +-
 .../druid/segment/realtime/plumber/Sink.java       |    4 +-
 .../apache/druid/server/ClientInfoResource.java    |    3 +-
 .../druid/server/ClientQuerySegmentWalker.java     |   16 +-
 .../druid/server/LocalQuerySegmentWalker.java      |   19 +-
 .../org/apache/druid/server/QueryResource.java     |  385 +--
 .../org/apache/druid/server/QueryResultPusher.java |  477 ++++
 .../org/apache/druid/server/SegmentManager.java    |    2 +-
 .../druid/server/coordination/ServerManager.java   |   17 +-
 .../DataSourceCompactionConfigAuditEntry.java      |  124 +
 .../DataSourceCompactionConfigHistory.java         |   95 +
 .../http/CoordinatorCompactionConfigsResource.java |   75 +-
 .../druid/server/http/SelfDiscoveryResource.java   |    1 +
 .../druid/server/initialization/ServerConfig.java  |   19 +-
 .../jetty/CliIndexerServerModule.java              |    3 +-
 .../initialization/jetty/DruidGuiceContainer.java  |   93 +
 .../initialization/jetty/JettyServerInitUtils.java |   26 +
 .../initialization/jetty/JettyServerModule.java    |   57 +-
 .../jetty/StandardResponseHeaderFilterHolder.java  |    5 +-
 .../PreResponseAuthorizationCheckFilter.java       |   42 +-
 .../druid/catalog/model/TableMetadataTest.java     |    7 +-
 .../catalog/model/table/BaseExternTableTest.java   |   90 +
 .../catalog/model/table/CsvInputFormatTest.java    |  111 +
 .../catalog/model/table/DatasourceTableTest.java   |  229 +-
 .../model/table/DelimitedInputFormatTest.java      |  123 +
 .../catalog/model/table/ExternalTableTest.java     |  218 ++
 .../model/table/HttpInputSourceDefnTest.java       |  481 ++++
 .../catalog/model/table/HttpInputTableTest.java    |  212 --
 .../model/table/InlineInputSourceDefnTest.java     |  217 ++
 .../druid/catalog/model/table/InlineTableTest.java |   90 -
 .../druid/catalog/model/table/InputFormatTest.java |  284 ---
 .../catalog/model/table/JsonInputFormatTest.java   |  111 +
 .../model/table/LocalInputSourceDefnTest.java      |  540 ++++
 .../druid/catalog/model/table/LocalTableTest.java  |  204 --
 .../apache/druid/client/BrokerServerViewTest.java  |   17 +-
 .../druid/client/JsonParserIteratorTest.java       |    2 +-
 .../org/apache/druid/client/SimpleServerView.java  |    2 +-
 .../client/BatchServerInventoryViewTest.java       |    3 +-
 .../apache/druid/guice/StorageNodeModuleTest.java  |    2 +-
 .../druid/initialization/ServerConfigTest.java     |    5 +-
 .../SQLMetadataStorageActionHandlerTest.java       |   24 +-
 .../apache/druid/metadata/input/SqlEntityTest.java |   76 +-
 .../druid/metadata/input/SqlInputSourceTest.java   |  116 +-
 .../apache/druid/metadata/input/SqlTestUtils.java  |   45 +-
 .../query/dimension/LookupDimensionSpecTest.java   |    4 +-
 .../druid/segment/indexing/ReaderUtilsTest.java    |  367 +++
 .../loading/CacheTestSegmentCacheManager.java      |   79 -
 .../loading/LocalDataSegmentKillerTest.java        |   88 +-
 .../loading/LocalDataSegmentPusherTest.java        |  132 +-
 .../segment/loading/NoopSegmentCacheManager.java   |   69 +
 .../UnifiedIndexerAppenderatorsManagerTest.java    |    9 +-
 .../realtime/firehose/SqlFirehoseFactoryTest.java  |   54 +-
 .../org/apache/druid/server/QueryResourceTest.java |  642 ++---
 .../apache/druid/server/SegmentManagerTest.java    |    7 +-
 .../server/TestClusterQuerySegmentWalker.java      |   16 +-
 .../apache/druid/server/WebserverTestUtils.java    |   16 +-
 .../coordination/SegmentLoadDropHandlerTest.java   |   57 +-
 .../server/coordination/ServerManagerTest.java     |   55 +-
 .../server/coordinator/BalanceSegmentsTest.java    |    4 +-
 .../coordinator/CostBalancerStrategyBenchmark.java |    6 +-
 .../coordinator/CostBalancerStrategyTest.java      |    9 +-
 .../DataSourceCompactionConfigAuditEntryTest.java  |   99 +
 .../DataSourceCompactionConfigHistoryTest.java     |  185 ++
 .../DiskNormalizedCostBalancerStrategyTest.java    |    6 +-
 .../server/coordinator/LoadQueuePeonTest.java      |    6 +-
 .../druid/server/coordinator/RunRulesTest.java     |   34 +-
 .../coordinator/duty/KillUnusedSegmentsTest.java   |    3 +-
 .../server/coordinator/rules/LoadRuleTest.java     |    4 +-
 .../CoordinatorCompactionConfigsResourceTest.java  |  166 +-
 .../PreResponseAuthorizationCheckFilterTest.java   |  164 +-
 .../druid/server/initialization/JettyTest.java     |    3 +-
 .../druid/server/mocks/ExceptionalInputStream.java |   51 +
 .../druid/server/mocks/MockAsyncContext.java       |  137 +
 .../druid/server/mocks/MockHttpServletRequest.java |  531 ++++
 .../server/mocks/MockHttpServletResponse.java      |  340 +++
 .../java/org/apache/druid/cli/CliOverlord.java     |    6 +-
 .../cli/CoordinatorJettyServerInitializer.java     |    6 +-
 .../cli/MiddleManagerJettyServerInitializer.java   |    1 +
 .../druid/cli/QueryJettyServerInitializer.java     |    2 +
 .../druid/cli/RouterJettyServerInitializer.java    |    6 +-
 .../cli/WebConsoleJettyServerInitializer.java      |    3 +-
 .../server/AsyncQueryForwardingServletTest.java    |   36 +-
 sql/pom.xml                                        |   48 +-
 sql/src/main/codegen/config.fmpp                   |    3 +
 sql/src/main/codegen/includes/from.ftl             |  349 +++
 .../java/org/apache/druid/sql/DirectStatement.java |    3 +-
 .../org/apache/druid/sql/SqlPlanningException.java |   33 +-
 .../druid/sql/avatica/DruidJdbcResultSet.java      |    6 +-
 .../druid/sql/calcite/expression/Expressions.java  |   42 +
 .../external/BaseUserDefinedTableMacro.java        |  222 ++
 .../CatalogExternalTableOperatorConversion.java    |  178 ++
 .../druid/sql/calcite/external/ExtendOperator.java |   74 +
 .../sql/calcite/external/ExternalDataSource.java   |    7 +
 .../external/ExternalOperatorConversion.java       |  162 +-
 .../sql/calcite/external/ExternalTableMacro.java   |  134 +-
 .../druid/sql/calcite/external/Externals.java      |  317 +++
 .../calcite/external/FunctionParameterImpl.java    |   81 +
 .../calcite/external/HttpOperatorConversion.java   |   35 +
 .../calcite/external/InlineOperatorConversion.java |   37 +
 .../calcite/external/LocalOperatorConversion.java  |   39 +
 .../sql/calcite/external/ParameterizeOperator.java |   69 +
 .../external/UserDefinedTableMacroFunction.java    |  255 ++
 .../sql/calcite/planner/DruidOperatorTable.java    |   14 +-
 .../druid/sql/calcite/planner/DruidTypeSystem.java |    2 +
 .../calcite/planner/SqlParameterizerShuttle.java   |   47 +
 .../sql/calcite/rel/DruidCorrelateUnnestRel.java   |  330 +++
 .../druid/sql/calcite/rel/DruidJoinQueryRel.java   |    4 +-
 .../apache/druid/sql/calcite/rel/DruidQuery.java   |   45 +-
 .../sql/calcite/rel/DruidUnnestDatasourceRel.java  |  180 ++
 .../druid/sql/calcite/rel/PartialDruidQuery.java   |   58 +-
 .../apache/druid/sql/calcite/rel/Windowing.java    |  323 ++-
 .../sql/calcite/rule/DruidCorrelateUnnestRule.java |  177 ++
 .../sql/calcite/rule/DruidRelToDruidRule.java      |    3 +-
 .../apache/druid/sql/calcite/rule/DruidRules.java  |    4 +-
 .../calcite/rule/DruidUnnestDatasourceRule.java    |  107 +
 .../druid/sql/calcite/run/NativeQueryMaker.java    |   11 +-
 .../calcite/schema/DruidCalciteSchemaModule.java   |    4 +-
 .../sql/calcite/schema/SegmentMetadataCache.java   |   19 +-
 .../druid/sql/calcite/table/ExternalTable.java     |   20 +-
 .../java/org/apache/druid/sql/guice/SqlModule.java |    3 +
 .../org/apache/druid/sql/http/SqlResource.java     |  372 +--
 .../druid/sql/avatica/DruidAvaticaHandlerTest.java |    3 +-
 .../druid/sql/calcite/BaseCalciteQueryTest.java    |   64 +-
 .../druid/sql/calcite/CalciteArraysQueryTest.java  |  703 ++++++
 .../druid/sql/calcite/CalciteIngestionDmlTest.java |   40 +-
 .../druid/sql/calcite/CalciteInsertDmlTest.java    |   14 +-
 .../sql/calcite/CalciteNestedDataQueryTest.java    |  445 +++-
 .../apache/druid/sql/calcite/CalciteQueryTest.java |  202 ++
 .../druid/sql/calcite/CalciteReplaceDmlTest.java   |   10 +-
 .../sql/calcite/CalciteScanSignatureTest.java      |    6 +-
 .../druid/sql/calcite/CalciteWindowQueryTest.java  |   59 +-
 .../druid/sql/calcite/IngestTableFunctionTest.java |  481 ++++
 .../apache/druid/sql/calcite/QueryTestBuilder.java |   39 +
 .../apache/druid/sql/calcite/QueryTestRunner.java  |  118 +-
 .../druid/sql/calcite/QueryVerification.java       |    2 +-
 .../schema/SegmentDataCacheConcurrencyTest.java    |    4 +-
 .../druid/sql/calcite/util/CalciteTestBase.java    |   19 +
 .../druid/sql/calcite/util/SqlTestFramework.java   |   25 +-
 .../druid/sql/calcite/util/TestDataBuilder.java    |  122 +-
 .../org/apache/druid/sql/http/SqlResourceTest.java |  708 ++++--
 .../calcite/tests/window/simpleSum.sqlTest         |   31 +-
 .../wikipediaAggregationsMultipleOrdering.sqlTest  | 1013 ++++++++
 ...kipediaAggregationsMultipleOrderingDesc.sqlTest |   25 +
 .../window/wikipediaCumulativeOrdered.sqlTest      | 2037 +++++++--------
 .../window/wikipediaFramedAggregations.sqlTest     | 1008 ++++++++
 .../tests/window/wikipediaSimplePartition.sqlTest  | 2019 +++++++--------
 web-console/.eslintrc.js                           |    1 +
 web-console/e2e-tests/auto-compaction.spec.ts      |    4 +-
 web-console/e2e-tests/cancel-query.spec.ts         |    2 +-
 .../e2e-tests/component/datasources/compaction.ts  |    2 +-
 .../e2e-tests/component/datasources/overview.ts    |    2 +-
 .../e2e-tests/component/ingestion/overview.ts      |    2 +-
 .../component/load-data/config/partition.ts        |    2 +-
 .../load-data/data-connector/data-connector.ts     |    2 +-
 .../load-data/data-connector/local-file.ts         |    5 +-
 .../component/load-data/data-connector/reindex.ts  |    5 +-
 .../e2e-tests/component/load-data/data-loader.ts   |   12 +-
 web-console/e2e-tests/component/query/overview.ts  |    2 +-
 .../e2e-tests/component/workbench/overview.ts      |    2 +-
 web-console/e2e-tests/multi-stage-query.spec.ts    |    2 +-
 web-console/e2e-tests/reindexing.spec.ts           |    2 +-
 web-console/e2e-tests/tutorial-batch.spec.ts       |    2 +-
 web-console/e2e-tests/util/debug.ts                |    2 +-
 web-console/e2e-tests/util/table.ts                |    2 +-
 web-console/jest.unit.config.js                    |    1 -
 web-console/lib/keywords.js                        |    7 +
 web-console/package-lock.json                      | 2612 +++-----------------
 web-console/package.json                           |   15 +-
 web-console/script/create-sql-docs.js              |    4 +-
 web-console/script/mkcomp                          |    5 +-
 web-console/src/bootstrap/react-table-defaults.tsx |   16 +-
 .../src/components/action-cell/action-cell.tsx     |    3 +-
 .../src/components/action-icon/action-icon.tsx     |    3 +-
 .../src/components/array-input/array-input.tsx     |    6 +-
 .../__snapshots__/auto-form.spec.tsx.snap          |   15 +-
 .../src/components/auto-form/auto-form.spec.tsx    |    2 +-
 web-console/src/components/auto-form/auto-form.tsx |    2 +-
 .../components/braced-text/braced-text.spec.tsx    |    3 +-
 .../src/components/braced-text/braced-text.tsx     |    6 +-
 .../cell-filter-menu/cell-filter-menu.tsx          |   16 +-
 .../components/center-message/center-message.tsx   |    3 +-
 .../date-range-selector/date-range-selector.tsx    |    3 +-
 .../src/components/external-link/external-link.tsx |    3 +-
 .../components/fancy-tab-pane/fancy-tab-pane.tsx   |    6 +-
 .../form-json-selector/form-json-selector.spec.tsx |    3 +-
 .../components/formatted-input/formatted-input.tsx |    5 +-
 .../__snapshots__/header-bar.spec.tsx.snap         |    1 +
 .../src/components/header-bar/header-bar.spec.tsx  |    4 +-
 .../src/components/header-bar/header-bar.tsx       |    2 +-
 .../highlight-text/highlight-text.spec.tsx         |    3 +-
 .../components/interval-input/interval-input.tsx   |    6 +-
 .../json-collapse/json-collapse.spec.tsx           |    3 +-
 .../src/components/json-input/json-input.tsx       |    2 +-
 .../src/components/menu-checkbox/menu-checkbox.tsx |    3 +-
 .../src/components/menu-tristate/menu-tristate.tsx |    3 +-
 .../numeric-input-with-default.spec.tsx            |    3 +-
 .../numeric-input-with-default.tsx                 |    3 +-
 .../query-error-pane/query-error-pane.spec.tsx     |    3 +-
 .../query-error-pane/query-error-pane.tsx          |    2 +-
 .../record-table-pane/record-table-pane.tsx        |    7 +-
 .../components/refresh-button/refresh-button.tsx   |    5 +-
 .../__snapshots__/rule-editor.spec.tsx.snap        |  192 +-
 .../components/rule-editor/rule-editor.spec.tsx    |   10 +-
 .../src/components/rule-editor/rule-editor.tsx     |    5 +-
 .../src/components/segment-timeline/bar-group.tsx  |    4 +-
 .../segment-timeline/segment-timeline.spec.tsx     |    2 +-
 .../segment-timeline/segment-timeline.tsx          |   19 +-
 .../segment-timeline/stacked-bar-chart.tsx         |    3 +-
 .../src/components/show-history/show-history.tsx   |    3 +-
 .../src/components/show-log/show-log.spec.tsx      |    4 +-
 web-console/src/components/show-log/show-log.tsx   |   10 +-
 .../suggestible-input/suggestible-input.tsx        |    6 +-
 .../table-clickable-cell/table-clickable-cell.tsx  |    6 +-
 .../table-filterable-cell.tsx                      |    8 +-
 .../components/timed-button/timed-button.spec.tsx  |    3 +-
 .../src/components/timed-button/timed-button.tsx   |    6 +-
 .../view-control-bar/view-control-bar.tsx          |    3 +-
 .../warning-checklist/warning-checklist.tsx        |    3 +-
 web-console/src/console-application.tsx            |   33 +-
 .../async-action-dialog/async-action-dialog.tsx    |   17 +-
 .../compaction-dialog/compaction-dialog.scss       |    5 +
 .../compaction-dialog/compaction-dialog.spec.tsx   |    3 +-
 .../compaction-dialog/compaction-dialog.tsx        |   34 +-
 .../coordinator-dynamic-config-dialog.spec.tsx     |    3 +-
 .../coordinator-dynamic-config-dialog.tsx          |   15 +-
 .../datasource-columns-table.spec.tsx              |    5 +-
 .../datasource-columns-table.tsx                   |    3 +-
 .../datasource-preview-pane.tsx                    |    3 +-
 .../datasource-table-action-dialog.tsx             |    5 +-
 .../src/dialogs/diff-dialog/diff-dialog.tsx        |    3 +-
 .../src/dialogs/doctor-dialog/doctor-dialog.tsx    |    2 +-
 .../edit-context-dialog/edit-context-dialog.tsx    |    2 +-
 .../src/dialogs/history-dialog/history-dialog.scss |    8 +-
 .../index-spec-dialog/index-spec-dialog.spec.tsx   |    3 +-
 .../index-spec-dialog/index-spec-dialog.tsx        |    6 +-
 .../__snapshots__/lookup-edit-dialog.spec.tsx.snap |    2 -
 .../lookup-edit-dialog/lookup-edit-dialog.spec.tsx |    3 +-
 .../lookup-edit-dialog/lookup-edit-dialog.tsx      |    6 +-
 .../lookup-table-action-dialog.tsx                 |    5 +-
 .../overload-dynamic-config-dialog.spec.tsx        |    3 +-
 .../overlord-dynamic-config-dialog.tsx             |    3 +-
 .../__snapshots__/retention-dialog.spec.tsx.snap   |    6 +-
 .../dialogs/retention-dialog/retention-dialog.tsx  |    7 +-
 .../segment-table-action-dialog.tsx                |    5 +-
 .../segments-preview-pane.tsx                      |    3 +-
 .../src/dialogs/snitch-dialog/snitch-dialog.tsx    |    7 +-
 .../src/dialogs/spec-dialog/spec-dialog.tsx        |    4 +-
 .../src/dialogs/status-dialog/status-dialog.tsx    |    3 +-
 .../supervisor-statistics-table.spec.tsx           |    4 +-
 .../supervisor-statistics-table.tsx                |    3 +-
 .../supervisor-table-action-dialog.tsx             |    5 +-
 .../table-action-dialog/table-action-dialog.tsx    |    9 +-
 .../task-table-action-dialog.tsx                   |    9 +-
 .../compaction-config/compaction-config.tsx        |   31 +-
 .../compaction-status/compaction-status.spec.ts    |  151 +-
 .../compaction-status/compaction-status.ts         |   21 +-
 .../coordinator-dynamic-config.tsx                 |    2 +-
 .../druid-models/dimension-spec/dimension-spec.ts  |    4 +-
 .../src/druid-models/execution/execution.ts        |    9 +-
 .../external-config/external-config.ts             |    6 +-
 web-console/src/druid-models/filter/filter.tsx     |    5 +-
 .../src/druid-models/flatten-spec/flatten-spec.tsx |    3 +-
 .../src/druid-models/index-spec/index-spec.tsx     |    2 +-
 .../ingest-query-pattern/ingest-query-pattern.ts   |    5 +-
 .../ingestion-spec/ingestion-spec.spec.ts          |    2 +-
 .../druid-models/ingestion-spec/ingestion-spec.tsx |   46 +-
 .../src/druid-models/input-format/input-format.tsx |    6 +-
 .../src/druid-models/input-source/input-source.tsx |    3 +-
 .../src/druid-models/lookup-spec/lookup-spec.tsx   |    3 +-
 .../src/druid-models/metric-spec/metric-spec.tsx   |   48 +-
 .../overlord-dynamic-config.tsx                    |    2 +-
 .../druid-models/query-context/query-context.tsx   |    5 +-
 web-console/src/druid-models/stages/stages.ts      |    4 +-
 .../druid-models/timestamp-spec/timestamp-spec.tsx |    7 +-
 .../druid-models/transform-spec/transform-spec.tsx |    3 +-
 .../workbench-query/workbench-query-part.ts        |   15 +-
 .../workbench-query/workbench-query.spec.ts        |   14 +-
 .../workbench-query/workbench-query.ts             |   51 +-
 web-console/src/entry.ts                           |    5 +-
 web-console/src/helpers/capabilities.ts            |  303 +++
 web-console/src/helpers/capacity.ts                |    8 +-
 web-console/src/helpers/execution/general.ts       |    6 +-
 .../src/helpers/execution/sql-task-execution.ts    |   14 +-
 web-console/src/helpers/index.ts                   |    1 +
 web-console/src/helpers/spec-conversion.ts         |    5 +-
 web-console/src/hooks/index.ts                     |    1 +
 web-console/src/hooks/use-clock.ts                 |   41 +
 web-console/src/hooks/use-local-storage-state.ts   |    6 +-
 web-console/src/hooks/use-query-manager.ts         |    3 +-
 web-console/src/links.ts                           |    2 +-
 web-console/src/react-table/react-table-extra.scss |    4 +
 web-console/src/react-table/react-table-inputs.tsx |    2 +-
 web-console/src/react-table/react-table-utils.ts   |    7 +-
 web-console/src/setup-tests.ts                     |    5 -
 .../src/singletons/ace-editor-state-cache.ts       |    2 +-
 web-console/src/singletons/api.ts                  |   24 +-
 .../src/singletons/execution-state-cache.ts        |    4 +-
 .../src/singletons/workbench-running-promises.ts   |    2 +-
 web-console/src/utils/basic-action.tsx             |    3 +-
 web-console/src/utils/capabilities.ts              |  279 ---
 web-console/src/utils/date.ts                      |    2 +-
 web-console/src/utils/download.ts                  |    2 +-
 web-console/src/utils/druid-query.ts               |    5 +-
 web-console/src/utils/general.tsx                  |   11 +-
 web-console/src/utils/index.tsx                    |    1 -
 web-console/src/utils/load-rule.ts                 |   32 +-
 .../src/utils/local-storage-backed-visibility.tsx  |    3 +-
 web-console/src/utils/query-action.ts              |    2 +-
 web-console/src/utils/query-cursor.ts              |    3 +-
 web-console/src/utils/query-manager.tsx            |   13 +-
 web-console/src/utils/sample-query.tsx             |    5 +-
 web-console/src/utils/sampler.mock.ts              |    2 +-
 web-console/src/utils/sampler.ts                   |   18 +-
 web-console/src/utils/shallow-renderer.ts          |   41 +
 web-console/src/utils/table-helpers.ts             |    2 +-
 web-console/src/utils/types.ts                     |    4 +-
 web-console/src/utils/utils.spec.ts                |    2 +-
 web-console/src/variables.scss                     |    2 +-
 .../__snapshots__/datasources-view.spec.tsx.snap   |    2 +-
 .../datasources-view/datasources-view.spec.tsx     |    4 +-
 .../views/datasources-view/datasources-view.tsx    |   75 +-
 .../__snapshots__/home-view.spec.tsx.snap          |  164 +-
 .../datasources-card/datasources-card.spec.tsx     |    2 +-
 .../datasources-card/datasources-card.tsx          |    5 +-
 .../home-view/home-view-card/home-view-card.scss   |    2 +-
 .../home-view/home-view-card/home-view-card.tsx    |    6 +-
 web-console/src/views/home-view/home-view.spec.tsx |    4 +-
 web-console/src/views/home-view/home-view.tsx      |    2 +-
 .../home-view/lookups-card/lookups-card.spec.tsx   |    2 +-
 .../views/home-view/lookups-card/lookups-card.tsx  |    3 +-
 .../home-view/segments-card/segments-card.spec.tsx |    2 +-
 .../home-view/segments-card/segments-card.tsx      |    3 +-
 .../home-view/services-card/services-card.spec.tsx |    2 +-
 .../home-view/services-card/services-card.tsx      |    3 +-
 .../supervisors-card/supervisors-card.spec.tsx     |    2 +-
 .../supervisors-card/supervisors-card.tsx          |    3 +-
 .../views/home-view/tasks-card/tasks-card.spec.tsx |    2 +-
 .../src/views/home-view/tasks-card/tasks-card.tsx  |  113 +-
 .../__snapshots__/ingestion-view.spec.tsx.snap     |  126 +-
 .../views/ingestion-view/ingestion-view.spec.tsx   |    4 +-
 .../src/views/ingestion-view/ingestion-view.tsx    |    9 +-
 .../__snapshots__/load-data-view.spec.tsx.snap     |  106 +-
 .../example-picker/example-picker.tsx              |    2 +-
 .../load-data-view/filter-table/filter-table.tsx   |    8 +-
 .../load-data-view/form-editor/form-editor.tsx     |    5 +-
 .../src/views/load-data-view/info-messages.tsx     |    3 +-
 .../views/load-data-view/load-data-view.spec.tsx   |    3 +-
 .../src/views/load-data-view/load-data-view.tsx    |   58 +-
 .../parse-data-table/parse-data-table.tsx          |    7 +-
 .../parse-time-table/parse-time-table.spec.tsx     |    3 +-
 .../parse-time-table/parse-time-table.tsx          |    8 +-
 .../load-data-view/schema-table/schema-table.tsx   |   10 +-
 .../transform-table/transform-table.tsx            |    7 +-
 .../src/views/lookups-view/lookups-view.spec.tsx   |    3 +-
 .../src/views/lookups-view/lookups-view.tsx        |   12 +-
 .../__snapshots__/segments-view.spec.tsx.snap      |   36 +-
 .../src/views/segments-view/segments-view.spec.tsx |    4 +-
 .../src/views/segments-view/segments-view.tsx      |   64 +-
 .../__snapshots__/services-view.spec.tsx.snap      |    4 +-
 .../src/views/services-view/services-view.spec.tsx |    5 +-
 .../src/views/services-view/services-view.tsx      |  138 +-
 .../column-actions/column-actions.tsx              |    6 +-
 .../column-editor/column-editor.tsx                |    3 +-
 .../destination-dialog/destination-dialog.tsx      |    3 +-
 .../destination-form/destination-form.tsx          |    2 +-
 .../ingestion-progress-dialog.tsx                  |   27 +-
 .../schema-step/column-list/column-list.tsx        |    2 +-
 .../expression-entry/expression-entry.tsx          |    3 +-
 .../schema-step/preview-table/preview-table.tsx    |   15 +-
 .../rollup-analysis-pane/rollup-analysis-pane.tsx  |    7 +-
 .../schema-step/schema-step.tsx                    |   13 +-
 .../sql-data-loader-view/sql-data-loader-view.tsx  |   81 +-
 .../title-frame/title-frame.tsx                    |    3 +-
 .../capacity-alert/capacity-alert.tsx              |    8 +-
 .../__snapshots__/column-tree.spec.tsx.snap        |    2 -
 .../number-menu-items/number-menu-items.tsx        |    3 +-
 .../string-menu-items/string-menu-items.tsx        |    3 +-
 .../time-menu-items/time-menu-items.tsx            |    3 +-
 .../column-tree/column-tree.spec.tsx               |    4 +-
 .../workbench-view/column-tree/column-tree.tsx     |   34 +-
 .../connect-external-data-dialog.tsx               |   20 +-
 .../src/views/workbench-view/demo-queries.ts       |    3 +-
 .../execution-details-dialog.tsx                   |    4 +-
 .../execution-details-pane-loader.tsx              |    8 +-
 .../execution-details-pane.spec.tsx                |    2 +-
 .../execution-details-pane.tsx                     |    2 +-
 .../execution-error-pane.spec.tsx.snap             |   26 +-
 .../execution-error-pane.spec.tsx                  |    2 +-
 .../execution-error-pane/execution-error-pane.tsx  |    6 +-
 .../execution-progress-bar-pane.spec.tsx.snap      |   21 +-
 .../execution-progress-bar-pane.spec.tsx           |    2 +-
 .../execution-progress-pane.tsx                    |    2 +-
 .../execution-stages-pane-loader.tsx               |    2 +-
 .../execution-stages-pane.spec.tsx.snap            |   16 +-
 .../execution-stages-pane.scss                     |   16 +-
 .../execution-stages-pane.spec.tsx                 |    2 +-
 .../execution-stages-pane.tsx                      |  211 +-
 .../execution-summary-panel.tsx                    |    2 +-
 .../execution-timer-panel.tsx                      |    2 +-
 .../execution-warnings-pane.tsx                    |    2 +-
 .../execution-warnings-pane/warning-callout.tsx    |    2 +-
 .../__snapshots__/explain-dialog.spec.tsx.snap     |    2 -
 .../explain-dialog/explain-dialog.spec.tsx         |    5 +-
 .../explain-dialog/explain-dialog.tsx              |    5 +-
 .../flexible-query-input/flexible-query-input.tsx  |    5 +-
 .../workbench-view/helper-query/helper-query.tsx   |   47 +-
 .../ingest-success-pane.spec.tsx                   |    2 +-
 .../ingest-success-pane/ingest-success-pane.tsx    |    5 +-
 .../input-format-step/input-format-step.tsx        |   15 +-
 .../input-source-step/example-inputs.ts            |    5 +-
 .../input-source-step/input-source-info.tsx        |    2 +-
 .../input-source-step/input-source-step.tsx        |   22 +-
 .../__snapshots__/max-tasks-button.spec.tsx.snap   |   87 +-
 .../max-tasks-button/max-tasks-button.spec.tsx     |    7 +-
 .../max-tasks-button/max-tasks-button.tsx          |   43 +-
 .../workbench-view/metadata-change-detector.tsx    |   10 +-
 .../views/workbench-view/metadata-state-store.ts   |    6 +-
 .../views/workbench-view/query-tab/query-tab.tsx   |   52 +-
 .../recent-query-task-panel.tsx                    |   36 +-
 .../result-table-pane/result-table-pane.tsx        |   20 +-
 .../views/workbench-view/run-panel/run-panel.tsx   |   25 +-
 .../time-floor-menu-item/time-floor-menu-item.tsx  |    3 +-
 .../src/views/workbench-view/work-state-store.ts   |    6 +-
 .../workbench-history-dialog.tsx                   |    8 +-
 .../src/views/workbench-view/workbench-view.tsx    |   32 +-
 web-console/tsconfig.json                          |    2 +-
 web-console/typings/react-shallow-renderer.d.ts    |   25 +
 website/.spelling                                  |   21 +-
 website/i18n/en.json                               |   31 +-
 website/package-lock.json                          |  294 +++
 website/sidebars.json                              |    4 +
 1227 files changed, 64289 insertions(+), 21538 deletions(-)
 create mode 100755 .github/scripts/unit_tests_script.sh
 create mode 100644 .github/workflows/codeql-config.yml
 create mode 100644 .github/workflows/codeql.yml
 create mode 100644 .github/workflows/reusable-revised-its.yml
 create mode 100644 .github/workflows/reusable-standard-its.yml
 create mode 100644 .github/workflows/reusable-unit-tests.yml
 create mode 100644 .github/workflows/revised-its.yml
 create mode 100644 .github/workflows/standard-its.yml
 create mode 100644 .github/workflows/unit-and-integration-tests-unified.yml
 create mode 100644 .github/workflows/unit-tests.yml
 create mode 100644 benchmarks/src/test/java/org/apache/druid/benchmark/JsonLineReaderBenchmark.java
 create mode 100644 benchmarks/src/test/java/org/apache/druid/benchmark/indexing/StringDimensionIndexerProcessBenchmark.java
 create mode 100644 core/src/main/java/org/apache/druid/collections/fastutil/DruidIntList.java
 create mode 100644 core/src/main/java/org/apache/druid/data/input/BytesCountingInputEntity.java
 create mode 100644 core/src/main/java/org/apache/druid/data/input/InputStats.java
 create mode 100644 core/src/main/java/org/apache/druid/data/input/impl/FastLineIterator.java
 create mode 100644 core/src/main/java/org/apache/druid/java/util/common/function/TriConsumer.java
 create mode 100644 core/src/main/java/org/apache/druid/java/util/common/parsers/FlattenerJsonProvider.java
 create mode 100644 core/src/test/java/org/apache/druid/collections/fastutil/DruidIntListTest.java
 create mode 100644 core/src/test/java/org/apache/druid/data/input/BytesCountingInputEntityTest.java
 create mode 100644 core/src/test/java/org/apache/druid/data/input/impl/FastLineIteratorTest.java
 create mode 100644 core/src/test/java/org/apache/druid/data/input/impl/InputStatsImpl.java
 create mode 100644 core/src/test/java/org/apache/druid/java/util/common/function/TriConsumerTest.java
 create mode 100644 core/src/test/java/org/apache/druid/java/util/common/parsers/FlattenerJsonProviderTest.java
 delete mode 100644 docs/assets/files/kttm-nested-data.json.tgz
 create mode 100644 docs/assets/tutorial-sql-aggregate-query.png
 create mode 100644 docs/assets/tutorial-sql-auto-queries.png
 create mode 100644 docs/assets/tutorial-sql-count-distinct-help.png
 create mode 100644 docs/assets/tutorial-sql-count-distinct.png
 create mode 100644 docs/assets/tutorial-sql-demo-queries.png
 create mode 100644 docs/assets/tutorial-sql-query-plan.png
 create mode 100644 docs/assets/tutorial-sql-result-column-actions.png
 create mode 100644 docs/operations/python.md
 create mode 100644 docs/tutorials/tutorial-jupyter-index.md
 create mode 100644 docs/tutorials/tutorial-sql-query-view.md
 create mode 100644 docs/tutorials/tutorial-unnest-datasource.md
 create mode 100755 examples/bin/start-druid
 create mode 100644 examples/bin/start-druid-main.py
 create mode 100644 examples/conf/druid/auto/_common/common.jvm.config
 copy examples/conf/druid/{cluster => auto}/_common/common.runtime.properties (100%)
 copy examples/conf/druid/{single-server/large => auto}/_common/log4j2.xml (100%)
 create mode 100644 examples/conf/druid/auto/broker/runtime.properties
 copy examples/conf/druid/{cluster/master => auto}/coordinator-overlord/runtime.properties (100%)
 create mode 100644 examples/conf/druid/auto/historical/runtime.properties
 create mode 100644 examples/conf/druid/auto/indexer/runtime.properties
 create mode 100644 examples/conf/druid/auto/middleManager/runtime.properties
 create mode 100644 examples/conf/druid/auto/router/runtime.properties
 create mode 100644 examples/quickstart/jupyter-notebooks/README.md
 create mode 100644 examples/quickstart/jupyter-notebooks/api-tutorial.ipynb
 delete mode 100644 extensions-core/druid-catalog/src/test/java/org/apache/druid/server/http/catalog/DummyRequest.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/RetryTask.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/MSQFaultUtils.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/TooManyAttemptsForJob.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/indexing/error/TooManyAttemptsForWorker.java
 create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/kernel/controller/ControllerWorkerStagePhase.java
 delete mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/shuffle/DurableStorageOutputChannelFactory.java
 delete mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/shuffle/DurableStorageUtils.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/WorkerImplTest.java
 delete mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/WorkerSketchFetcherAutoModeTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/indexing/MSQWorkerTaskTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/indexing/WorkerChatHandlerTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/kernel/controller/ControllerQueryKernelTest.java
 delete 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/NonShufflingWorkersWithRetryKernelTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/kernel/controller/ShufflingWorkersWithRetryKernelTest.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/CalciteMSQTestsHelper.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/CalciteSelectQueryTestMSQ.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/CounterSnapshotBuilder.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/ExtractResultsFactory.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/VerifyMSQSupportedNativeQueriesFactory.java
 create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/util/MSQFaultUtilsTest.java
 create mode 100644 extensions-core/protobuf-extensions/src/main/java/org/apache/druid/data/input/protobuf/ProtobufConverter.java
 create mode 100644 extensions-core/protobuf-extensions/src/main/java/org/apache/druid/data/input/protobuf/ProtobufFlattenerMaker.java
 create mode 100644 extensions-core/protobuf-extensions/src/main/java/org/apache/druid/data/input/protobuf/ProtobufJsonProvider.java
 create mode 100644 extensions-core/s3-extensions/src/main/java/org/apache/druid/catalog/model/table/S3InputSourceDefn.java
 create mode 100644 extensions-core/s3-extensions/src/test/java/org/apache/druid/catalog/model/table/S3InputSourceDefnTest.java
 create mode 100644 indexing-service/src/main/java/org/apache/druid/indexing/common/AdjustedRuntimeInfo.java
 create mode 100644 indexing-service/src/test/java/org/apache/druid/indexing/common/task/ParseExceptionReport.java
 create mode 100644 integration-tests-ex/cases/cluster/AzureDeepStorage/docker-compose.yaml
 copy integration-tests-ex/cases/cluster/BatchIndex/{docker-compose.yaml => docker-compose-indexer.yaml} (100%)
 create mode 100644 integration-tests-ex/cases/cluster/GcsDeepStorage/docker-compose.yaml
 create mode 100644 integration-tests-ex/cases/cluster/MultiStageQueryWithMM/docker-compose.yaml
 create mode 100644 integration-tests-ex/cases/cluster/S3DeepStorage/docker-compose.yaml
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/categories/AzureDeepStorage.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/categories/GcsDeepStorage.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/categories/InputFormat.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/categories/InputSource.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/categories/MultiStageQueryWithMM.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/categories/S3DeepStorage.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/indexer/AbstractAzureInputSourceParallelIndexTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/indexer/AbstractCloudInputSourceParallelIndexTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/indexer/AbstractGcsInputSourceParallelIndexTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/indexer/AbstractS3InputSourceParallelIndexTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/indexer/ITAzureToAzureParallelIndexTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/indexer/ITGcsToGcsParallelIndexTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/indexer/ITHttpInputSourceTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/indexer/ITLocalInputSourceAllFormatSchemalessTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/indexer/ITLocalInputSourceAllInputFormatTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/indexer/ITS3ToS3ParallelIndexTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/indexer/ITSqlInputSourceTest.java
 delete mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/msq/AbstractITSQLBasedIngestion.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/msq/ITAzureSQLBasedIngestionTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/msq/ITGcsSQLBasedIngestionTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/msq/ITMultiStageQueryWorkerFaultTolerance.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/msq/ITS3SQLBasedIngestionTest.java
 delete mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/msq/ITSQLBasedBatchIngestion.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/msq/ITSQLBasedBatchIngestionTest.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/utils/AzureTestUtil.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/utils/GcsTestUtil.java
 create mode 100644 integration-tests-ex/cases/src/test/java/org/apache/druid/testsEx/utils/S3TestUtil.java
 create mode 100644 integration-tests-ex/cases/src/test/resources/cluster/AzureDeepStorage/docker.yaml
 create mode 100644 integration-tests-ex/cases/src/test/resources/cluster/GcsDeepStorage/docker.yaml
 create mode 100644 integration-tests-ex/cases/src/test/resources/cluster/InputSource/docker.yaml
 create mode 100644 integration-tests-ex/cases/src/test/resources/cluster/MultiStageQueryWithMM/docker.yaml
 create mode 100644 integration-tests-ex/cases/src/test/resources/cluster/S3DeepStorage/docker.yaml
 create mode 100644 integration-tests-ex/cases/src/test/resources/indexer/wikipedia_index_schemaless_queries.json
 create mode 100644 integration-tests-ex/cases/src/test/resources/indexer/wikipedia_local_input_source_index_task_schemaless.json
 create mode 100644 integration-tests-ex/cases/src/test/resources/multi-stage-query/wikipedia_cloud_index_msq.sql
 create mode 100644 integration-tests-ex/cases/src/test/resources/multi-stage-query/wikipedia_msq_select_query_ha.json
 create mode 100644 integration-tests/src/test/resources/data/batch_index/multiple_schema_parquet/wikipedia_index_data1.parquet
 create mode 100644 integration-tests/src/test/resources/data/batch_index/multiple_schema_parquet/wikipedia_index_data2.parquet
 create mode 100644 integration-tests/src/test/resources/data/batch_index/multiple_schema_parquet/wikipedia_index_data3.parquet
 create mode 100644 integration-tests/src/test/resources/hadoop/wikipedia_hadoop_paquet_parser_index_data.json
 create mode 100644 integration-tests/src/test/resources/hadoop/wikipedia_hadoop_paquet_parser_query_data.json
 copy licenses/bin/{react-dom.MIT => use-sync-external-store.MIT} (100%)
 create mode 100644 processing/src/main/java/org/apache/druid/frame/channel/ByteTracker.java
 create mode 100644 processing/src/main/java/org/apache/druid/frame/channel/ComposingReadableFrameChannel.java
 create mode 100644 processing/src/main/java/org/apache/druid/frame/channel/ComposingWritableFrameChannel.java
 create mode 100644 processing/src/main/java/org/apache/druid/frame/channel/DurableStoragePartitionedReadableFrameChannel.java
 create mode 100644 processing/src/main/java/org/apache/druid/frame/channel/PartitionedReadableFrameChannel.java
 create mode 100644 processing/src/main/java/org/apache/druid/frame/file/FrameFileFooter.java
 create mode 100644 processing/src/main/java/org/apache/druid/frame/processor/ComposingOutputChannelFactory.java
 create mode 100644 processing/src/main/java/org/apache/druid/frame/processor/DurableStorageOutputChannelFactory.java
 create mode 100644 processing/src/main/java/org/apache/druid/frame/processor/PartitionedOutputChannel.java
 create mode 100644 processing/src/main/java/org/apache/druid/frame/util/DurableStorageUtils.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/operator/ColumnWithDirection.java
 delete mode 100644 processing/src/main/java/org/apache/druid/query/operator/LimitedRowsAndColumns.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/operator/NaiveSortOperator.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/operator/NaiveSortOperatorFactory.java
 delete mode 100644 processing/src/main/java/org/apache/druid/query/operator/WindowOperatorFactory.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/operator/join/JoinConfig.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/operator/join/JoinPartDefn.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/operator/join/SortedInnerJoinOperator.java
 delete mode 100644 processing/src/main/java/org/apache/druid/query/operator/window/WindowAggregateProcessor.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/operator/window/WindowFrame.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/operator/window/WindowFramedAggregateProcessor.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/operator/window/WindowOperatorFactory.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/AppendableMapOfColumns.java
 delete mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/AppendableRowsAndColumns.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/ConcatRowsAndColumns.java
 delete mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/DefaultGroupPartitioner.java
 delete mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/DefaultOnHeapAggregatable.java
 delete mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/DefaultSortedGroupPartitioner.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/EmptyRowsAndColumns.java
 delete mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/GroupPartitioner.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/LimitedRowsAndColumns.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/MapOfColumnsRowsAndColumns.java
 delete mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/OnHeapAggregatable.java
 delete mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/OnHeapCumulativeAggregatable.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/RearrangedRowsAndColumns.java
 delete mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/SortedGroupPartitioner.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/column/BinarySearchableAccessor.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/column/ColumnValueSwapper.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/column/DefaultVectorCopier.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/column/LimitedColumn.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/column/NullColumn.java
 delete mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/column/NullColumnAccessor.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/column/VectorCopier.java
 delete mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/frame/AppendableMapOfColumns.java
 delete mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/frame/MapOfColumnsRowsAndColumns.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/semantic/AppendableRowsAndColumns.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/semantic/ClusteredGroupPartitioner.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/semantic/ColumnSelectorFactoryMaker.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/semantic/DefaultClusteredGroupPartitioner.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/semantic/DefaultColumnSelectorFactoryMaker.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/semantic/DefaultFramedOnHeapAggregatable.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/semantic/DefaultGroupPartitioner.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/semantic/DefaultNaiveSortMaker.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/semantic/DefaultSortedMatrixMaker.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/semantic/FramedOnHeapAggregatable.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/semantic/GroupPartitioner.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/semantic/NaiveSortMaker.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/semantic/SortedMatrixMaker.java
 create mode 100644 processing/src/main/java/org/apache/druid/query/rowsandcols/util/FindResult.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/CloseableShapeshifter.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/SimpleDictionaryMergingIterator.java
 delete mode 100644 processing/src/main/java/org/apache/druid/segment/incremental/MutableRowIngestionMeters.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/incremental/SimpleRowIngestionMeters.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/nested/NestedDataColumnV3.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/nested/NestedDataColumnV4.java
 create mode 100644 processing/src/main/java/org/apache/druid/segment/virtual/FallbackVirtualColumn.java
 create mode 100644 processing/src/test/java/org/apache/druid/frame/processor/ComposingOutputChannelFactoryTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/frame/processor/DurableStorageOutputChannelFactoryTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/frame/processor/FileOutputChannelFactoryTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/frame/processor/OutputChannelFactoryTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/groupby/UnnestGroupByQueryRunnerTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/groupby/epinephelinae/GroupByTestColumnSelectorFactory.java
 delete mode 100644 processing/src/test/java/org/apache/druid/query/groupby/epinephelinae/TestColumnSelectorFactory.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/operator/ExceptionalReceiver.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/operator/OperatorTestHelper.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/operator/SegmentToRowsAndColumnsOperatorTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/operator/SortedInnerJoinOperatorTest.java
 delete mode 100644 processing/src/test/java/org/apache/druid/query/operator/window/WindowAggregateProcessorTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/operator/window/WindowFramedAggregateProcessorTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/rowsandcols/AsOnlyTestRowsAndColumns.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/rowsandcols/ConcatRowsAndColumnsTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/rowsandcols/NoAsRowsAndColumns.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/rowsandcols/RearrangedRowsAndColumnsTest.java
 delete mode 100644 processing/src/test/java/org/apache/druid/query/rowsandcols/column/NullColumnAccessorTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/rowsandcols/column/NullColumnTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/rowsandcols/semantic/AppendableRowsAndColumnsTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/rowsandcols/semantic/ClusteredGroupPartitionerTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/rowsandcols/semantic/CombinedSemanticInterfacesTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/rowsandcols/semantic/FramedOnHeapAggregatableTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/rowsandcols/semantic/NaiveSortMakerTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/rowsandcols/semantic/SemanticTestBase.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/scan/UnnestScanQueryRunnerTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/query/topn/UnnestTopNQueryRunnerTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/SimpleDictionaryMergingIteratorTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/TestColumnSelector.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/TestColumnSelectorFactory.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/TestSegmentForAs.java
 delete mode 100644 processing/src/test/java/org/apache/druid/segment/incremental/MutableRowIngestionMetersTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/incremental/OnheapIncrementalIndexTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/incremental/RowMeters.java
 delete mode 100644 processing/src/test/java/org/apache/druid/segment/incremental/SimpleRowIngestionMeters.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/incremental/SimpleRowIngestionMetersTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/nested/NestedFieldLiteralColumnSelectorsTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/vector/NilVectorSelectorTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/vector/TestVectorColumnSelectorFactory.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/virtual/ExpressionVectorSelectorsCastTest.java
 create mode 100644 processing/src/test/java/org/apache/druid/segment/virtual/FallbackVirtualColumnTest.java
 create mode 100644 processing/src/test/resources/nested_segment_v3/index.zip
 create mode 100644 processing/src/test/resources/types-test-data-parser.json
 create mode 100644 processing/src/test/resources/types-test-data.json
 delete mode 100644 server/src/main/java/org/apache/druid/catalog/model/ColumnDefn.java
 delete mode 100644 server/src/main/java/org/apache/druid/catalog/model/facade/ColumnFacade.java
 delete mode 100644 server/src/main/java/org/apache/druid/catalog/model/table/AbstractDatasourceDefn.java
 create mode 100644 server/src/main/java/org/apache/druid/catalog/model/table/BaseInputSourceDefn.java
 create mode 100644 server/src/main/java/org/apache/druid/catalog/model/table/BaseTableFunction.java
 create mode 100644 server/src/main/java/org/apache/druid/catalog/model/table/FormattedInputSourceDefn.java
 create mode 100644 server/src/main/java/org/apache/druid/catalog/model/table/HttpInputSourceDefn.java
 delete mode 100644 server/src/main/java/org/apache/druid/catalog/model/table/HttpTableDefn.java
 create mode 100644 server/src/main/java/org/apache/druid/catalog/model/table/InlineInputSourceDefn.java
 delete mode 100644 server/src/main/java/org/apache/druid/catalog/model/table/InlineTableDefn.java
 create mode 100644 server/src/main/java/org/apache/druid/catalog/model/table/InputFormatDefn.java
 create mode 100644 server/src/main/java/org/apache/druid/catalog/model/table/InputSourceDefn.java
 create mode 100644 server/src/main/java/org/apache/druid/catalog/model/table/LocalInputSourceDefn.java
 delete mode 100644 server/src/main/java/org/apache/druid/catalog/model/table/LocalTableDefn.java
 create mode 100644 server/src/main/java/org/apache/druid/catalog/model/table/ResolvedExternalTable.java
 create mode 100644 server/src/main/java/org/apache/druid/catalog/model/table/TableFunction.java
 create mode 100644 server/src/main/java/org/apache/druid/segment/indexing/ReaderUtils.java
 create mode 100644 server/src/main/java/org/apache/druid/server/QueryResultPusher.java
 create mode 100644 server/src/main/java/org/apache/druid/server/coordinator/DataSourceCompactionConfigAuditEntry.java
 create mode 100644 server/src/main/java/org/apache/druid/server/coordinator/DataSourceCompactionConfigHistory.java
 create mode 100644 server/src/main/java/org/apache/druid/server/initialization/jetty/DruidGuiceContainer.java
 create mode 100644 server/src/test/java/org/apache/druid/catalog/model/table/BaseExternTableTest.java
 create mode 100644 server/src/test/java/org/apache/druid/catalog/model/table/CsvInputFormatTest.java
 create mode 100644 server/src/test/java/org/apache/druid/catalog/model/table/DelimitedInputFormatTest.java
 create mode 100644 server/src/test/java/org/apache/druid/catalog/model/table/ExternalTableTest.java
 create mode 100644 server/src/test/java/org/apache/druid/catalog/model/table/HttpInputSourceDefnTest.java
 delete mode 100644 server/src/test/java/org/apache/druid/catalog/model/table/HttpInputTableTest.java
 create mode 100644 server/src/test/java/org/apache/druid/catalog/model/table/InlineInputSourceDefnTest.java
 delete mode 100644 server/src/test/java/org/apache/druid/catalog/model/table/InlineTableTest.java
 delete mode 100644 server/src/test/java/org/apache/druid/catalog/model/table/InputFormatTest.java
 create mode 100644 server/src/test/java/org/apache/druid/catalog/model/table/JsonInputFormatTest.java
 create mode 100644 server/src/test/java/org/apache/druid/catalog/model/table/LocalInputSourceDefnTest.java
 delete mode 100644 server/src/test/java/org/apache/druid/catalog/model/table/LocalTableTest.java
 create mode 100644 server/src/test/java/org/apache/druid/segment/indexing/ReaderUtilsTest.java
 delete mode 100644 server/src/test/java/org/apache/druid/segment/loading/CacheTestSegmentCacheManager.java
 create mode 100644 server/src/test/java/org/apache/druid/segment/loading/NoopSegmentCacheManager.java
 create mode 100644 server/src/test/java/org/apache/druid/server/coordinator/DataSourceCompactionConfigAuditEntryTest.java
 create mode 100644 server/src/test/java/org/apache/druid/server/coordinator/DataSourceCompactionConfigHistoryTest.java
 create mode 100644 server/src/test/java/org/apache/druid/server/mocks/ExceptionalInputStream.java
 create mode 100644 server/src/test/java/org/apache/druid/server/mocks/MockAsyncContext.java
 create mode 100644 server/src/test/java/org/apache/druid/server/mocks/MockHttpServletRequest.java
 create mode 100644 server/src/test/java/org/apache/druid/server/mocks/MockHttpServletResponse.java
 create mode 100644 sql/src/main/codegen/includes/from.ftl
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/external/BaseUserDefinedTableMacro.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/external/CatalogExternalTableOperatorConversion.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/external/ExtendOperator.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/external/Externals.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/external/FunctionParameterImpl.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/external/HttpOperatorConversion.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/external/InlineOperatorConversion.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/external/LocalOperatorConversion.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/external/ParameterizeOperator.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/external/UserDefinedTableMacroFunction.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/rel/DruidCorrelateUnnestRel.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/rel/DruidUnnestDatasourceRel.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/rule/DruidCorrelateUnnestRule.java
 create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/rule/DruidUnnestDatasourceRule.java
 create mode 100644 sql/src/test/java/org/apache/druid/sql/calcite/IngestTableFunctionTest.java
 create mode 100644 sql/src/test/resources/calcite/tests/window/wikipediaAggregationsMultipleOrdering.sqlTest
 create mode 100644 sql/src/test/resources/calcite/tests/window/wikipediaAggregationsMultipleOrderingDesc.sqlTest
 create mode 100644 sql/src/test/resources/calcite/tests/window/wikipediaFramedAggregations.sqlTest
 create mode 100644 web-console/src/helpers/capabilities.ts
 create mode 100644 web-console/src/hooks/use-clock.ts
 delete mode 100644 web-console/src/utils/capabilities.ts
 create mode 100644 web-console/src/utils/shallow-renderer.ts
 create mode 100644 web-console/typings/react-shallow-renderer.d.ts


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