This is an automated email from the ASF dual-hosted git repository. xvrl pushed a change to branch dependabot/maven/commons-codec-commons-codec-1.16.0 in repository https://gitbox.apache.org/repos/asf/druid.git
omit 7f4e4121272 update licenses.yaml omit a529681c6c6 Bump commons-codec:commons-codec from 1.13 to 1.16.0 add d5d483fdc94 Bump org.apache.rat:apache-rat-plugin from 0.12 to 0.15 (#14817) add 5f54ae7d274 Bump org.apache.maven.plugins:maven-surefire-plugin (#14813) add 76c79639796 Bump com.github.oshi:oshi-core from 6.4.2 to 6.4.4 (#14814) add 0967048dca5 Bump org.scala-lang:scala-library from 2.13.9 to 2.13.11 (#14826) add f0a79fa0e4d Bump org.apache.maven.plugins:maven-source-plugin from 2.2.1 to 3.3.0 (#14812) add 2fdf5b195f0 Bump org.assertj:assertj-core from 3.19.0 to 3.24.2 (#14815) add e33d2db2359 202307-notebooks Template amends (#14683) add 8abdaa239bc Bump dropwizard.metrics.version from 4.0.0 to 4.2.19 (#14824) add aeeeed3b354 Bump protobuf.version from 3.21.7 to 3.24.0 (#14823) add a38579ab3c0 Retention rules API documentation refactor (#14623) add 8fa78594ea6 Druid SQL API documentation refactor (#14711) add 0b2563fea32 Web console: adding format notice for CSV and TSV (#14783) add 9be0f64f506 Bump org.apache.commons:commons-compress from 1.21 to 1.23.0 (#14820) add d9221e46e4b Completely disable cachingCost balancer strategy (#14798) add 7911a04064b Refactoring of multi-topic kafka ingestion docs (#14828) add e55fe67535f Bump apache.curator.version from 5.4.0 to 5.5.0 (#14843) add 8be7751dbd9 Bump org.tukaani:xz from 1.8 to 1.9 (#14839) add 97c37730121 Bump commons-cli:commons-cli from 1.3.1 to 1.5.0 (#14837) add 3954685aae1 Report more metrics to monitor K8s task runner (#14771) add faf79470ae5 Bump io.dropwizard.metrics:metrics-graphite from 3.1.2 to 4.2.19 (#14842) add 2561477e875 Jupyter nested columns tutorial (#14788) add f585f0a8ed9 202306-docs-notebook topn (#14478) add 26d82fd342d fix filtering bug in filtering unnest cols and dim cols: Received a non-applicable rewrite (#14587) add 6b14dde50ef deprecate config-magic in favor of json configuration stuff (#14695) add 6b4dda964d4 Docusaurus2 upgrade for master (#14411) add cb27d0d2ed0 Web console: enable Kafka multi-topic ingestion from the data loader (#14833) add 5d4ac641783 Adapt maxSegmentsToMove based on cluster skew (#14584) add dc2ae1e99c7 Web console: improving the helper queries by allowing for running inline helper queries (#14801) add b97cc45d813 Add clarification to the docs for multi-topic Kafka ingestion (#14847) add fffb2e4fe72 Speed up SQLMetadataStorageActionHandlerTest (#14856) add 2a7fbf2ab46 Bump org.apache.directory.api:api-util from 1.0.3 to 2.1.3 (#14852) add 2cc3bd63839 Bump joda-time:joda-time from 2.12.4 to 2.12.5 (#14855) add 37db5d9b81b Reset offsets supervisor API (#14772) add 59415ba9b2b Web console: expose new coordinator properties in the dialog (#14791) add 7e147ee9054 Web console: Reset to specific offsets dialog (#14863) add 9c124f2cde0 Add a configurable bufferPeriod between when a segment is marked unused and deleted by KillUnusedSegments duty (#12599) add a8eaa1e4ed8 Skip streaming auto-scaling action if supervisor is idle (#14773) add 1e14df4c496 Bump com.ibm.icu:icu4j from 55.1 to 73.2 (#14853) add 097b6450057 Clean up after add kill bufferPeriod (#14868) add 263ac36e8d7 docs: fix autolabeler for jupyter notebooks (#14862) add 9065ef1aff0 Fix a bug in QosFilter (#14859) add 07a193a1420 Use separate executor for each coordinator duty group (#14869) add c211dcc4b31 Clean up compaction logs on coordinator (#14875) add 92906059d29 Remove segmentsToBeDropped from SegmentTransactionInsertAction (#14883) add a38b4f04919 Add topic name as a column in the Kafka Input format (#14857) add 631dc3b589e add Kafka topic column controls (#14865) add 0dfd99e3811 202307-notebook-unionall (#14726) add 9fe7c01c16c Automatic compaction API documentation refactor (#14740) add 5f74ef56f18 Clean up Kafka supervisor topic (#14651) add 5d1412949e4 enable sql compatible null handling mode by default (#14792) add 18f7cb69262 Fixed broken URL of python api tutorial (#14881) add d87056e708c Upgrade guava version to 31.1-jre (#14767) add 194a9c9abc1 set druid.expressions.useStrictBooleans to true by default (#14734) add bd505062de1 Improve streaming ingestion completion timeout error message (#14636) add 14c1aff150d Fix error messages relating to OVERWRITE keyword (#14870) add 9376d8d6e1c Refactor: Move `UpdateCoordinatorStateAndPrepareCluster` duty out of `DruidCoordinator` (#14845) add b9a33949fd4 Fix aggregation filter expression processing in the absense of projection (#14893) add 6817de9376c Doc changes for avatica transparent reconnection (#14896) add fb053c399cf consolidate json and auto indexers, remove v4 nested column serializer (#14456) add 7b5012ea6e3 override retry attempts for InputEntityIteratingReaderTest for much faster test run (#14897) add e806d093099 Allow EARLIEST/EARLIEST_BY/LATEST/LATEST_BY for STRING columns without specifying maxStringBytes (#14848) add 76e5048aabe fix supervisor spec api submission commands (#14877) add 989ed8d0c20 Fix null check for JWT claims (#14872) add dfb5a988882 Add coordinator API for unused segments (#14846) add 0c76df1c7dc Enable Continuous auto kill (#14831) add 36e659a5015 remove group-by v1 (#14866) add f9f734cde5b Display the output column name in InvalidNullByteException (#14780) add 54336e2a3e2 Imporve on incremental compilation (#14860) add 3c7b237c225 Add docs for ingesting Kafka topic name (#14894) add 388d5ecf78d Fix reported CVEs (#14882) add e51181957c5 Use num cores to determine balancerComputeThreads (#14902) add ad32f845867 Fix capacity response in mm-less ingestion (#14888) add 95b0de61d17 Move some lifecycle management from doTask -> shutdown for the mm-less task runner (#14895) add 9142f4b8d7a docs: update note in automatic compaction doc (#14908) add 30c49c4cfc3 Web console: misc fixes and SQL query re-formatting (#14906) add 9fcbf05c5d5 Adjusting `SqlStatementResource` and `SqlTaskResource` to set request attribute via a new method. (#14878) add d6565f46b00 Increase the computed value of replicationThrottleLimit (#14913) add 8885805bb39 Update filters.md (#14917) add 004cd012e1c HttpClient: Include error handler on all connection attempts. (#14915) add d201ea0ece0 prometheus-emitter: add extraLabels parameter (#14728) add 8263f0d1e93 Reduce coordinator logs when operating normally (#14926) add d295b9158ff Web console: dynamic query parameters UI (#14921) add 42cfb999cd5 Added brush to time-chart (#14929) add 04a1153d0f5 line chart fix others not mapping correctly (#14931) add 680669fd3a7 show execution dialog in task view (#14930) add dea9d4f1a75 cleaning DruidProcessingConfig bindings (#14927) add 7f26b80e213 Simplify ServiceMetricEvent.Builder (#14933) add ec630e36710 Remove deprecated coordinator dynamic configs (#14923) add d4e972e1e4b Add checking for new checkpoint (#14353) add 289ee1e0114 Refactor: Cleanup NoopTask (#14938) add 9d6ca61ac1f Verify statsd mock client interaction in unit test (#14939) add 8088a763a69 Vectorize earliest aggregator for both numeric and string types (#14408) add 425ebaa387c Query tips doc (#14922) add 706b57c0b2a fixup array and mvd sql docs (#14928) add 959148ad370 Add code to wait for segments generated to be loaded on historicals (#14322) add 6ee0b06e38d Auto configuration for maxSubqueryBytes (#14808) add 23308c050da Remove DruidAggregateCaseToFilterRule (#14940) add a8fa979115a Unnest dont push down not (#14942) add 88f3c9baed5 Fix bug in computed value of balancerComputeThreads (#14947) add e100b18e86f Updated documentation for OshiSysMonitor (#14912) add f9cf500a695 Extend GHA autolabeler to other areas (#14903) add 647686aee2a Add test and metrics for KillStalePendingSegments duty (#14951) add 699893bcff2 Fix StringLastAggregatorFactory equals/toString (#14907) add 09f7dfe3278 docs: update docusaurus 2 stuff (#14864) add 2b7f2c51190 use VectorValueSelector instead of BaseLongVectorValueSelector for StringFirstAggregatorFactory.factorizeVector (#14957) add dec6a0aa14d Update google client apis to latest version (#14414) add 7871e633c68 Fix bug in KillStalePendingSegments (#14961) add 3a453f7a3cd docs: add note about transparent_reconnection (#14953) add f773d839147 Mixed task runner for migration to mm-less ingestion (#14918) add 757603a773d Set task location as k8sPodName for mm-less ingestion (#14959) add 5cecf6ce8f5 fix issue with segment metadata cache and complex types when doing out of order upgrades from 0.22 (#14948) add 0f38a37b9d8 Tweak GHA runner label. (#14963) add 5d16d0edf08 Count distinct returned incorrect results without useApproximateCountDistinct (#14748) add 891f0a3fe99 longer compatibility window for nested column format v4 (#14955) add 6371721e17e Add DOAP file for Druid (#14954) add 286eecad7cf Simplify DruidCoordinatorConfig and binding of metadata cleanup duties (#14891) add 23b78c0f955 use mmap for nested column value to dictionary id lookup for more chill heap usage during serialization (#14919) add b7bb5ee1dbf Upload docker and druid service logs as artifacts on GitHub Actions IT run failure (#14967) add 4c575049605 Fix the uncaught exceptions when materializing results as frames (#14970) add 7f757e33f06 Fix the created property in DOAP RDF file (#14971) add bf99d2c7b2e Fix for schema mismatch to go down using the non vectorize path till we update the vectorized aggs properly (#14924) add 5c42ac8c4db Fix for latest agg to handle nulls in time column. Also adding optimi⦠(#14911) add 7bbefd57413 Updating version in from.ftl (#14982) add 0e3df2d2e9e Clean up stale locks if segment allocation fails (#14966) add 3ae5e978012 Add IS [NOT] TRUE, IS [NOT] FALSE native functions. (#14977) add 279b3818f0e Make Unnest work with nullif operator (#14993) add 0fc5d5405a7 Tweak GHA runner label for MSQ (#14992) add 39d95955f55 Do not eagerly close inner iterators in CloseableIterator#flatMap (#14986) add 973fbaf962f Adding addition logging for taskIdReady in MSQ for debugging lock races. (#14998) add d459df8d6e3 Fix log syntax (#15004) add 4f498e64691 SQL: Plan non-equijoin conditions as cross join followed by filter. (#14978) add 73bab2f0205 Add option to copy query results directly to clipboard (#14889) add e8773f4d0f5 Enable already passing tests in DecoupledPlanningCalciteQueryTest (#14996) add 79f882f48c1 Fix exception cause logging in QueryResultPusher (#14975) add 823f620edea Add IS [NOT] DISTINCT FROM to SQL and join matchers. (#14976) add 08cf290da27 Configure caching for static-check actions (#15010) add 82e809c8d05 fix (#15017) add 22abc10f245 update RoaringBitmap to 0.9.49 (#15006) add 883c2692d23 Adding new function decode_base64_utf8 and expr macro (#14943) add ebb794632ac Allow users with STATE permissions to read and write the state APIs for querying with deep storage (#14944) add e76962f4538 Use annotation to mark DecoupleIgnore (#15005) add 409bffe7f28 Rename IMSC.announceHistoricalSegments to commitSegments (#15021) add 5cee9f61484 Allow cancellation of MSQ tasks if they are waiting for segments to load (#15000) add be3f93e3cf0 Restore tasks when lifecycle start (#14909) add d7c152c82c1 Add a TaskReport for "kill" tasks (#15023) add c62193c4d75 Add support for concurrent batch Append and Replace (#14407) add c184b5250f1 Unnest now works on MSQ (#14886) add 0850e615b2f Remove istrue, isfalse vectorized impls. (#14991) add 48b6d2abf97 skip org.owasp:dependency-check on extensions-contrib modules and suppress false-positive gRPC CVEs (#15026) add f7a549123b9 Commit segments only when they are covered by active locks (#15027) add ba6101ad752 Remove `EOFException` catch block from the Avro decoders (#15018) add 75af741a96d Revert "SQL: Plan non-equijoin conditions as cross join followed by filter. (#14978)" (#15029) add 7301e60a9c5 Add metrics for number of segments generated per task in MSQ (#14980) add 3dabfead050 Fix getResultType for HLL, quantiles aggregators. (#15043) add 8e22a178cc9 Support getTaskLocation for mixed task runner (#15033) add fc929e6d25f upgrade shade (#15042) add 022950a0c53 MV_FILTER_ONLY may run into Exceptions in case duplicate values were processed (#15012) add fa61e654e47 fix uploading IT docker logs to GHA artifacts (#15046) add 5f3b3101153 Build reliablity fixes (#15048) add db71e28808c Enable SortProjectTransposeRule (#15002) add 9a4433bbad7 Fix invalid segment path when using hdfs as the intermediate deepstore (#14984) add ebb9724c264 Pass jvm option to write heap dump on out of memory (#15053) add 2f1bcd67178 Adding `"segment/scan/active" metric for processing thread pool. (#15060) add 86087cee0a0 Fix Peon not fail gracefully (#14880) add 07c28f17ca6 Fix missing format strings in calls to DruidException.build (#15056) add 2785e062d72 Correct quotation in drill query files (#15044) add d038237ecee memcached cache: switch to AWS elasticache-java-cluster-client and add TLS support (#14827) add f1edd671fb4 Exposing optional replaceMissingValueWith in lookup function and macros (#14956) add 261f54dc040 coalesce on unnest row mismatch fix (#15019) add f3d1c8b70ee Enable back testcases in CalciteWindowQueryTest (#15045) add 64754b6799a Allow users to pass task payload via deep storage instead of environment variable (#14887) add cb050282a03 Intervals are updated properly for Unnest queries (#15020) add adef2069b15 Make unit tests pass with Java 21 (#15014) add 3342e03ea8b Windowing processing may have run into Exceptions when the whole table was processed (#15064) add 7e8f3e69ef7 Avoid intermediate offsets in bucketStart calculation logic to handle DST transition (#15038) add 2ed4fd1ae31 Compute broadcast-join segmentMapFn only once per worker. (#15007) add 28870c702ae Resolve reported CVEs (#15081) add 632811b2858 fix json compat layer to not rewrite v4 into v5 after segment merging (#14997) add a9021e4cd7d Fix NPE with lenient aggregators merging in segmentMetadata. (#15078) add c888ac5d61e fix path of druid service IT logs (#15082) add 90e4b25620b Fix lead/lag to be usable without offset (#15057) add 88476e0e835 docs: add note about transparent_reconnection for Avatica (#15066) add 30cf76db994 Field writers for numerical arrays (#14900) add 3afe09a19d9 urlencode nested serializer temp file names so they dont explode stuff (#15068) add b8d03d36b09 Free up the resources when materializing the results as Frames (#15032) add b4bc9b69506 fix issue with auto columns with mix of scalar values and empty arrays (#15083) add 2c286d6f428 Fix monomorphic processing code running on JDK8 since it references a non-existing method (#15092) add 7e987e3d696 Add query context parameter for segment load wait (#15076) new 770ddca88b2 Bump commons-codec:commons-codec from 1.13 to 1.16.0 new 79d51f528ce update licenses.yaml new 0a5c7c07056 update licences.yaml 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 (7f4e4121272) \ N -- N -- N refs/heads/dependabot/maven/commons-codec-commons-codec-1.16.0 (0a5c7c07056) 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. The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .github/labeler.yml | 51 +- .github/workflows/codeql.yml | 7 +- .github/workflows/reusable-revised-its.yml | 32 + .github/workflows/reusable-standard-its.yml | 35 +- .github/workflows/standard-its.yml | 1 + .github/workflows/static-checks.yml | 55 +- .../unit-and-integration-tests-unified.yml | 1 + .gitignore | 7 + README.md | 6 +- benchmarks/pom.xml | 2 +- .../benchmark/FlattenJSONBenchmarkUtilTest.java | 29 +- .../benchmark/GroupByTypeInterfaceBenchmark.java | 41 +- .../query/CachingClusteredClientBenchmark.java | 53 +- .../druid/benchmark/query/GroupByBenchmark.java | 41 +- .../benchmark/query/SqlExpressionBenchmark.java | 25 +- .../benchmark/query/SqlNestedDataBenchmark.java | 14 +- .../NewestSegmentFirstPolicyBenchmark.java | 9 +- codestyle/guava16-forbidden-apis.txt | 3 - dev/druid_intellij_formatting.xml | 4 + distribution/asf-release-process-guide.md | 33 +- distribution/bin/check-licenses.py | 2 +- distribution/docker/peon.sh | 5 +- doap_Druid.rdf | 42 + docs/api-reference/automatic-compaction-api.md | 781 +- docs/api-reference/data-management-api.md | 4 +- docs/api-reference/dynamic-configuration-api.md | 2 +- docs/api-reference/json-querying-api.md | 77 +- docs/api-reference/legacy-metadata-api.md | 39 +- docs/api-reference/retention-rules-api.md | 541 +- docs/api-reference/service-status-api.md | 462 +- docs/api-reference/sql-api.md | 567 +- docs/api-reference/sql-ingestion-api.md | 112 +- docs/api-reference/sql-jdbc.md | 27 +- docs/api-reference/supervisor-api.md | 504 +- docs/api-reference/tasks-api.md | 510 +- docs/configuration/extensions.md | 28 +- docs/configuration/index.md | 161 +- docs/configuration/logging.md | 14 +- docs/data-management/automatic-compaction.md | 18 +- docs/data-management/compaction.md | 16 +- docs/data-management/update.md | 4 +- docs/design/coordinator.md | 10 +- docs/design/extensions-contrib/dropwizard.md | 4 + docs/design/indexer.md | 6 +- docs/design/metadata-storage.md | 12 +- docs/design/router.md | 4 +- docs/design/segments.md | 13 +- docs/design/zookeeper.md | 4 +- docs/development/experimental-features.md | 1 - docs/development/extensions-contrib/k8s-jobs.md | 22 +- docs/development/extensions-contrib/prometheus.md | 3 +- .../extensions-core/approximate-histograms.md | 4 +- .../extensions-core/datasketches-hll.md | 34 +- docs/development/extensions-core/druid-lookups.md | 10 +- .../extensions-core/druid-ranger-security.md | 12 +- .../development/extensions-core/kafka-ingestion.md | 18 +- .../extensions-core/kafka-supervisor-operations.md | 68 +- .../extensions-core/kafka-supervisor-reference.md | 285 +- .../extensions-core/kinesis-ingestion.md | 28 +- .../extensions-core/lookups-cached-global.md | 18 +- docs/development/extensions-core/mysql.md | 8 +- docs/development/extensions-core/stats.md | 14 +- docs/ingestion/data-formats.md | 83 +- docs/ingestion/ingestion-spec.md | 76 +- docs/ingestion/input-sources.md | 42 +- docs/ingestion/native-batch-firehose.md | 4 +- docs/ingestion/native-batch-simple-task.md | 6 +- docs/ingestion/native-batch.md | 20 +- docs/ingestion/schema-design.md | 10 +- docs/ingestion/tasks.md | 12 +- docs/multi-stage-query/concepts.md | 8 +- docs/multi-stage-query/examples.md | 8 +- docs/multi-stage-query/index.md | 8 +- docs/multi-stage-query/known-issues.md | 8 +- docs/multi-stage-query/reference.md | 9 +- docs/multi-stage-query/security.md | 12 +- docs/operations/auth-ldap.md | 8 +- docs/operations/basic-cluster-tuning.md | 12 +- docs/operations/clean-metadata-store.md | 12 +- docs/operations/getting-started.md | 48 - docs/operations/metadata-migration.md | 6 + docs/operations/metrics.md | 78 +- docs/operations/mixed-workloads.md | 4 +- docs/operations/pull-deps.md | 8 +- docs/operations/rule-configuration.md | 4 +- docs/operations/security-overview.md | 27 +- docs/operations/segment-optimization.md | 14 +- docs/operations/web-console.md | 4 +- docs/querying/aggregations.md | 29 +- docs/querying/caching.md | 11 +- docs/querying/datasource.md | 112 +- docs/querying/datasourcemetadataquery.md | 8 +- docs/querying/dimensionspecs.md | 14 +- docs/querying/filters.md | 44 +- docs/querying/geo.md | 6 +- docs/querying/granularities.md | 14 +- docs/querying/groupbyquery.md | 138 +- docs/querying/having.md | 10 +- docs/querying/limitspec.md | 8 +- docs/querying/lookups.md | 14 +- docs/querying/math-expr.md | 40 +- docs/querying/multi-value-dimensions.md | 4 +- docs/querying/nested-columns.md | 34 +- docs/querying/post-aggregations.md | 14 +- docs/querying/query-execution.md | 10 +- docs/querying/querying.md | 18 +- docs/querying/scan-query.md | 10 +- docs/querying/searchquery.md | 8 +- docs/querying/segmentmetadataquery.md | 10 +- docs/querying/sorting-orders.md | 10 +- docs/querying/sql-aggregations.md | 65 +- docs/querying/sql-array-functions.md | 14 +- docs/querying/sql-data-types.md | 53 +- docs/querying/sql-functions.md | 34 +- docs/querying/sql-metadata-tables.md | 20 +- docs/querying/sql-multivalue-string-functions.md | 14 +- docs/querying/sql-operators.md | 8 +- docs/querying/sql-query-context.md | 8 +- docs/querying/sql-scalar.md | 8 +- docs/querying/sql-translation.md | 10 +- docs/querying/sql.md | 20 +- docs/querying/timeboundaryquery.md | 8 +- docs/querying/timeseriesquery.md | 10 +- docs/querying/tips-good-queries.md | 200 + docs/querying/topnmetricspec.md | 8 +- docs/querying/topnquery.md | 10 +- docs/querying/troubleshooting.md | 2 +- docs/querying/virtual-columns.md | 10 +- docs/tutorials/cluster.md | 22 +- docs/tutorials/tutorial-batch-native.md | 5 +- docs/tutorials/tutorial-compaction.md | 4 +- docs/tutorials/tutorial-jupyter-docker.md | 6 +- docs/tutorials/tutorial-jupyter-index.md | 2 +- docs/tutorials/tutorial-kafka.md | 16 +- docs/tutorials/tutorial-msq-convert-spec.md | 8 +- docs/tutorials/tutorial-msq-extern.md | 8 +- docs/tutorials/tutorial-query.md | 32 +- docs/tutorials/tutorial-sketches-theta.md | 4 +- docs/tutorials/tutorial-unnest-arrays.md | 49 +- .../02-working-with-nested-columns.ipynb | 426 + .../notebooks/03-query/02-approxRanking.ipynb | 596 + .../notebooks/03-query/04-UnionOperations.ipynb | 509 + .../99-contributing/notebook-template.ipynb | 242 +- extensions-contrib/aliyun-oss-extensions/pom.xml | 7 + extensions-contrib/ambari-metrics-emitter/pom.xml | 7 + .../src/main/resources/defaultWhiteListMap.json | 1 + ...ListBasedDruidToTimelineEventConverterTest.java | 18 +- extensions-contrib/cassandra-storage/pom.xml | 11 + extensions-contrib/cloudfiles-extensions/pom.xml | 13 +- .../cloudfiles/CloudFilesStorageDruidModule.java | 2 +- extensions-contrib/compressed-bigdecimal/pom.xml | 13 +- .../CompressedBigDecimalAggregatorFactoryBase.java | 3 - .../CompressedBigDecimalMaxAggregatorFactory.java | 15 - .../CompressedBigDecimalMinAggregatorFactory.java | 14 - .../CompressedBigDecimalSumAggregatorFactory.java | 14 - .../CompressedBigDecimalMaxFactoryTest.java | 5 - .../CompressedBigDecimalMinFactoryTest.java | 6 +- .../CompressedBigDecimalSumFactoryTest.java | 6 +- extensions-contrib/distinctcount/pom.xml | 11 + .../DistinctCountAggregatorFactory.java | 8 - .../DistinctCountGroupByQueryTest.java | 1 - extensions-contrib/dropwizard-emitter/pom.xml | 12 + .../main/resources/defaultMetricDimensions.json | 4 + .../druid-iceberg-extensions/pom.xml | 12 + extensions-contrib/gce-extensions/pom.xml | 12 + extensions-contrib/graphite-emitter/pom.xml | 14 +- .../src/main/resources/defaultWhiteListMap.json | 1 + .../graphite/WhiteListBasedConverterTest.java | 17 +- extensions-contrib/influx-extensions/pom.xml | 7 + extensions-contrib/influxdb-emitter/pom.xml | 12 + .../emitter/influxdb/InfluxdbEmitterTest.java | 8 +- extensions-contrib/kafka-emitter/pom.xml | 12 + .../druid/emitter/kafka/KafkaEmitterTest.java | 2 +- .../kubernetes-overlord-extensions/pom.xml | 12 +- .../overlord/KubernetesAndWorkerTaskRunner.java | 292 + .../KubernetesAndWorkerTaskRunnerConfig.java | 81 + .../KubernetesAndWorkerTaskRunnerFactory.java | 70 + .../k8s/overlord/KubernetesOverlordModule.java | 5 + .../k8s/overlord/KubernetesPeonLifecycle.java | 43 +- .../druid/k8s/overlord/KubernetesTaskRunner.java | 79 +- .../k8s/overlord/KubernetesTaskRunnerFactory.java | 13 +- .../druid/k8s/overlord/KubernetesWorkItem.java | 9 - .../k8s/overlord/common/DruidK8sConstants.java | 1 + .../k8s/overlord/common/KubernetesPeonClient.java | 29 +- .../k8s/overlord/taskadapter/K8sTaskAdapter.java | 69 +- .../taskadapter/MultiContainerTaskAdapter.java | 6 +- .../taskadapter/PodTemplateTaskAdapter.java | 87 +- .../taskadapter/SingleContainerTaskAdapter.java | 6 +- .../k8s/overlord/taskadapter/TaskAdapter.java | 7 + .../KubernetesAndWorkerTaskRunnerConfigTest.java | 55 + .../KubernetesAndWorkerTaskRunnerFactoryTest.java | 94 + .../KubernetesAndWorkerTaskRunnerTest.java | 344 + .../k8s/overlord/KubernetesPeonLifecycleTest.java | 77 +- .../k8s/overlord/KubernetesTaskRunnerTest.java | 254 +- .../druid/k8s/overlord/KubernetesWorkItemTest.java | 4 +- .../druid/k8s/overlord/common/K8sTestUtils.java | 8 + .../overlord/common/KubernetesPeonClientTest.java | 29 +- .../DruidPeonClientIntegrationTest.java | 16 +- .../overlord/taskadapter/K8sTaskAdapterTest.java | 214 +- .../taskadapter/MultiContainerTaskAdapterTest.java | 31 +- .../taskadapter/PodTemplateTaskAdapterTest.java | 222 +- .../SingleContainerTaskAdapterTest.java | 9 +- .../src/test/resources/expectedNoopJob.yaml | 6 +- .../src/test/resources/expectedNoopJobLongIds.yaml | 6 +- .../test/resources/expectedNoopJobNoTaskJson.yaml | 47 + .../test/resources/expectedNoopJobTlsEnabled.yaml | 6 +- .../kubernetesAndWorkerTaskRunnerConfig.json | 4 + .../materialized-view-maintenance/pom.xml | 11 + .../MaterializedViewSupervisor.java | 6 + .../MaterializedViewSupervisorTest.java | 39 +- .../materialized-view-selection/pom.xml | 12 + .../DataSourceOptimizerMonitor.java | 12 +- .../DataSourceOptimizerMonitorTest.java | 68 + .../materializedview/DatasourceOptimizerTest.java | 11 +- .../MaterializedViewQueryQueryToolChestTest.java | 10 +- .../MaterializedViewQueryTest.java | 9 + .../aggregator/MomentSketchAggregatorFactory.java | 13 - .../movingaverage/AveragerFactoryWrapper.java | 9 - .../movingaverage/MovingAverageQueryTest.java | 36 +- extensions-contrib/opentelemetry-emitter/pom.xml | 2 +- .../opentelemetry/OpenTelemetryEmitterTest.java | 68 +- extensions-contrib/opentsdb-emitter/pom.xml | 12 + .../druid/emitter/opentsdb/EventConverterTest.java | 18 +- extensions-contrib/prometheus-emitter/pom.xml | 12 + .../apache/druid/emitter/prometheus/Metrics.java | 9 +- .../emitter/prometheus/PrometheusEmitter.java | 7 +- .../prometheus/PrometheusEmitterConfig.java | 30 +- .../src/main/resources/defaultMetrics.json | 1 + .../druid/emitter/prometheus/MetricsTest.java | 49 +- .../prometheus/PrometheusEmitterConfigTest.java | 51 + .../emitter/prometheus/PrometheusEmitterTest.java | 157 +- extensions-contrib/redis-cache/pom.xml | 12 + .../druid/client/cache/AbstractRedisCache.java | 4 +- .../sqlserver-metadata-storage/pom.xml | 11 + .../storage/sqlserver/SQLServerConnectorTest.java | 16 +- extensions-contrib/statsd-emitter/pom.xml | 12 + .../main/resources/defaultMetricDimensions.json | 2 + .../emitter/statsd/DimensionConverterTest.java | 3 +- .../druid/emitter/statsd/StatsDEmitterTest.java | 35 +- extensions-contrib/tdigestsketch/pom.xml | 11 + .../TDigestSketchAggregatorFactory.java | 12 - extensions-contrib/thrift-extensions/pom.xml | 7 + extensions-contrib/time-min-max/pom.xml | 12 + .../aggregation/TimestampMaxAggregatorFactory.java | 10 - .../aggregation/TimestampMinAggregatorFactory.java | 11 - extensions-contrib/virtual-columns/pom.xml | 11 + .../druid/segment/MapVirtualColumnGroupByTest.java | 76 +- .../input/avro/InlineSchemaAvroBytesDecoder.java | 12 +- .../input/avro/InlineSchemasAvroBytesDecoder.java | 18 +- .../avro/SchemaRepoBasedAvroBytesDecoder.java | 15 +- .../data/input/AvroStreamInputFormatTest.java | 12 +- .../data/input/AvroStreamInputRowParserTest.java | 41 + .../avro/InlineSchemaAvroBytesDecoderTest.java | 49 + .../avro/InlineSchemasAvroBytesDecoderTest.java | 74 + extensions-core/azure-extensions/pom.xml | 5 +- .../hll/HllSketchAggregatorFactory.java | 27 +- .../kll/KllDoublesSketchAggregatorFactory.java | 15 - .../kll/KllFloatsSketchAggregatorFactory.java | 15 - .../quantiles/DoublesSketchAggregatorFactory.java | 20 +- .../theta/SketchMergeAggregatorFactory.java | 17 - .../ArrayOfDoublesSketchAggregatorFactory.java | 14 - .../hll/HllSketchAggregatorFactoryTest.java | 47 +- .../datasketches/hll/HllSketchAggregatorTest.java | 2 +- .../kll/KllDoublesSketchAggregatorTest.java | 130 +- .../kll/KllFloatsSketchAggregatorTest.java | 130 +- .../DoublesSketchAggregatorFactoryTest.java | 10 +- .../quantiles/DoublesSketchAggregatorTest.java | 130 +- .../bloom/BloomFilterAggregatorFactory.java | 6 - .../bloom/BloomFilterMergeAggregatorFactory.java | 8 - .../query/aggregation/bloom/BloomFilterSerde.java | 4 +- .../bloom/BloomFilterGroupByQueryTest.java | 11 - extensions-core/druid-pac4j/pom.xml | 7 + .../apache/druid/security/pac4j/JwtAuthFilter.java | 2 +- .../druid/security/pac4j/JwtAuthenticatorTest.java | 96 + .../druid/storage/hdfs/HdfsDataSegmentPusher.java | 23 +- .../storage/hdfs/HdfsDataSegmentPusherTest.java | 40 + .../ApproximateHistogramAggregatorFactory.java | 16 - .../FixedBucketsHistogramAggregatorFactory.java | 16 - .../ApproximateHistogramGroupByQueryTest.java | 45 - .../FixedBucketsHistogramGroupByQueryTest.java | 45 - .../data/input/kafkainput/KafkaInputFormat.java | 21 +- .../data/input/kafkainput/KafkaInputReader.java | 8 +- .../druid/indexing/kafka/KafkaConsumerMonitor.java | 2 +- .../druid/indexing/kafka/KafkaRecordSupplier.java | 2 +- .../indexing/kafka/supervisor/KafkaSupervisor.java | 8 +- .../kafka/supervisor/KafkaSupervisorIOConfig.java | 45 +- .../kafka/supervisor/KafkaSupervisorSpec.java | 4 +- .../input/kafkainput/KafkaInputFormatTest.java | 50 +- .../kafka/KafkaDataSourceMetadataTest.java | 56 + .../druid/indexing/kafka/KafkaIndexTaskTest.java | 7 +- .../indexing/kafka/KafkaRecordSupplierTest.java | 125 +- .../druid/indexing/kafka/KafkaSamplerSpecTest.java | 65 +- .../supervisor/KafkaSupervisorIOConfigTest.java | 35 +- .../kafka/supervisor/KafkaSupervisorSpecTest.java | 86 +- .../kafka/supervisor/KafkaSupervisorTest.java | 10 +- .../kinesis/supervisor/KinesisSupervisorSpec.java | 2 +- .../kinesis/KinesisDataSourceMetadataTest.java | 55 + .../indexing/kinesis/KinesisIndexTaskTest.java | 5 +- .../kinesis/supervisor/KinesisSupervisorTest.java | 3 +- extensions-core/lookups-cached-global/pom.xml | 6 +- .../lookup/namespace/cache/CacheScheduler.java | 2 +- .../OffHeapNamespaceExtractionCacheManager.java | 4 +- .../OnHeapNamespaceExtractionCacheManager.java | 4 +- extensions-core/multi-stage-query/pom.xml | 6 + .../apache/druid/msq/exec/ControllerContext.java | 3 + .../org/apache/druid/msq/exec/ControllerImpl.java | 211 +- .../msq/exec/ExceptionWrappingWorkerClient.java | 4 +- .../druid/msq/exec/SegmentLoadStatusFetcher.java | 461 + .../druid/msq/exec/TaskDataSegmentProvider.java | 15 +- .../java/org/apache/druid/msq/exec/WorkerImpl.java | 72 +- .../druid/msq/exec/WorkerMemoryParameters.java | 11 +- .../apache/druid/msq/exec/WorkerSketchFetcher.java | 10 +- .../msq/indexing/IndexerControllerContext.java | 7 + .../druid/msq/indexing/IndexerFrameContext.java | 6 +- .../druid/msq/indexing/MSQControllerTask.java | 18 +- .../druid/msq/indexing/MSQWorkerTaskLauncher.java | 24 +- .../msq/indexing/client/IndexerWorkerClient.java | 4 +- .../msq/indexing/error/InvalidNullByteFault.java | 3 +- .../druid/msq/indexing/error/MSQErrorReport.java | 35 +- .../SegmentGeneratorFrameProcessorFactory.java | 42 +- .../druid/msq/indexing/report/MSQStatusReport.java | 16 +- .../druid/msq/input/ParseExceptionUtils.java | 5 +- .../msq/input/table/SegmentsInputSliceReader.java | 6 +- .../org/apache/druid/msq/kernel/FrameContext.java | 4 +- .../druid/msq/kernel/FrameProcessorFactory.java | 27 +- .../druid/msq/kernel/ProcessorsAndChannels.java | 18 +- .../msq/querykit/BaseFrameProcessorFactory.java | 22 +- .../druid/msq/querykit/BaseLeafFrameProcessor.java | 136 +- .../querykit/BaseLeafFrameProcessorFactory.java | 229 +- .../querykit/BaseLeafFrameProcessorManager.java | 206 + .../druid/msq/querykit/BroadcastJoinHelper.java | 182 - .../BroadcastJoinSegmentMapFnProcessor.java | 265 + .../msq/querykit/ChainedProcessorManager.java | 114 + .../druid/msq/querykit/DataSegmentProvider.java | 3 +- .../apache/druid/msq/querykit/DataSourcePlan.java | 128 +- .../druid/msq/querykit/InputNumberDataSource.java | 15 +- .../msq/querykit/SimpleSegmentMapFnProcessor.java | 75 + .../querykit/common/OffsetLimitFrameProcessor.java | 9 +- .../common/OffsetLimitFrameProcessorFactory.java | 15 +- .../common/SortMergeJoinFrameProcessor.java | 9 +- .../common/SortMergeJoinFrameProcessorFactory.java | 10 +- .../groupby/GroupByPostShuffleFrameProcessor.java | 15 +- .../GroupByPostShuffleFrameProcessorFactory.java | 13 +- .../groupby/GroupByPreShuffleFrameProcessor.java | 55 +- .../GroupByPreShuffleFrameProcessorFactory.java | 16 +- .../results/QueryResultFrameProcessorFactory.java | 10 +- .../results/QueryResultsFrameProcessor.java | 9 +- .../msq/querykit/scan/ScanQueryFrameProcessor.java | 35 +- .../scan/ScanQueryFrameProcessorFactory.java | 21 +- .../shuffle/input/WorkerInputChannelFactory.java | 4 +- .../org/apache/druid/msq/sql/MSQTaskSqlEngine.java | 4 +- .../msq/sql/resources/SqlStatementResource.java | 130 +- .../druid/msq/sql/resources/SqlTaskResource.java | 15 +- .../druid/msq/util/DimensionSchemaUtils.java | 4 + .../org/apache/druid/msq/util/MSQFutureUtils.java | 4 +- .../druid/msq/util/MultiStageQueryContext.java | 20 + .../msq/util/PassthroughAggregatorFactory.java | 6 - .../druid/msq/util/SqlStatementResourceHelper.java | 2 +- .../apache/druid/msq/exec/MSQDataSketchesTest.java | 98 + .../org/apache/druid/msq/exec/MSQFaultsTest.java | 26 - .../org/apache/druid/msq/exec/MSQInsertTest.java | 277 + .../druid/msq/exec/MSQParseExceptionsTest.java | 38 + .../org/apache/druid/msq/exec/MSQReplaceTest.java | 183 +- .../org/apache/druid/msq/exec/MSQSelectTest.java | 205 +- .../msq/exec/SegmentLoadStatusFetcherTest.java | 172 + .../msq/exec/TaskDataSegmentProviderTest.java | 4 +- .../msq/indexing/report/MSQTaskReportTest.java | 44 +- .../msq/querykit/BroadcastJoinHelperTest.java | 277 - .../BroadcastJoinSegmentMapFnProcessorTest.java | 273 + .../common/SortMergeJoinFrameProcessorTest.java | 5 +- .../results/QueryResultsFrameProcessorTest.java | 5 +- .../querykit/scan/ScanQueryFrameProcessorTest.java | 16 +- .../resources/SqlMSQStatementResourcePostTest.java | 8 +- .../sql/resources/SqlStatementResourceTest.java | 194 +- .../druid/msq/test/CalciteArraysQueryMSQTest.java | 98 + .../druid/msq/test/CalciteMSQTestsHelper.java | 24 +- .../org/apache/druid/msq/test/MSQTestBase.java | 84 +- .../druid/msq/test/MSQTestControllerContext.java | 11 +- .../druid/msq/test/MSQTestWorkerContext.java | 3 +- .../metadata/storage/mysql/MySQLConnectorTest.java | 2 +- .../apache/druid/data/input/orc/OrcReaderTest.java | 22 +- .../parquet/NestedColumnParquetReaderTest.java | 14 +- .../postgresql/PostgreSQLConnectorTest.java | 20 +- extensions-core/protobuf-extensions/pom.xml | 1 - .../input/protobuf/ProtobufInputFormatTest.java | 2 +- .../org/apache/druid/storage/s3/S3TaskLogs.java | 15 + .../druid/data/input/s3/S3InputSourceTest.java | 17 +- .../apache/druid/storage/s3/S3TaskLogsTest.java | 76 + .../variance/VarianceAggregatorFactory.java | 6 - indexing-hadoop/pom.xml | 13 +- .../updater/MetadataStorageUpdaterJobSpec.java | 1 + .../indexer/DeterminePartitionsJobSamplerTest.java | 4 +- indexing-service/pom.xml | 1 - .../druid/guice/IndexingServiceTaskLogsModule.java | 2 + .../common/IngestionStatsAndErrorsTaskReport.java | 6 +- .../druid/indexing/common/KillTaskReport.java | 133 + .../apache/druid/indexing/common/TaskReport.java | 3 +- .../common/actions/LocalTaskActionClient.java | 2 +- .../common/actions/SegmentAllocationQueue.java | 4 +- .../common/actions/SegmentInsertAction.java | 5 +- .../actions/SegmentMetadataUpdateAction.java | 4 +- .../indexing/common/actions/SegmentNukeAction.java | 4 +- .../actions/SegmentTransactionalAppendAction.java | 140 + .../actions/SegmentTransactionalInsertAction.java | 37 +- .../actions/SegmentTransactionalReplaceAction.java | 147 + .../druid/indexing/common/actions/TaskAction.java | 2 + .../druid/indexing/common/actions/TaskLocks.java | 89 +- .../common/stats/TaskRealtimeMetricsMonitor.java | 38 +- .../common/task/AbstractBatchIndexTask.java | 93 +- .../druid/indexing/common/task/AbstractTask.java | 36 +- .../task/AppenderatorDriverRealtimeIndexTask.java | 17 +- .../druid/indexing/common/task/CompactionTask.java | 2 +- .../druid/indexing/common/task/IndexTask.java | 17 +- .../druid/indexing/common/task/IndexTaskUtils.java | 11 + .../common/task/KillUnusedSegmentsTask.java | 109 +- .../druid/indexing/common/task/NoopTask.java | 102 +- .../apache/druid/indexing/common/task/Task.java | 26 + .../druid/indexing/common/task/TaskLockHelper.java | 21 +- .../apache/druid/indexing/common/task/Tasks.java | 7 +- .../batch/parallel/ParallelIndexPhaseRunner.java | 4 +- .../parallel/ParallelIndexSupervisorTask.java | 20 +- .../SinglePhaseParallelIndexTaskRunner.java | 8 +- .../task/batch/parallel/SinglePhaseSubTask.java | 3 +- .../druid/indexing/input/DruidInputSource.java | 2 +- .../overlord/LockRequestForNewSegment.java | 20 +- .../overlord/QuotableWhiteSpaceSplitter.java | 2 +- .../druid/indexing/overlord/RemoteTaskRunner.java | 20 +- .../overlord/SingleTaskBackgroundRunner.java | 5 +- .../druid/indexing/overlord/TaskLockbox.java | 117 +- .../apache/druid/indexing/overlord/TaskQueue.java | 2 +- .../apache/druid/indexing/overlord/TaskRunner.java | 24 +- .../indexing/overlord/TimeChunkLockRequest.java | 4 +- .../overlord/hrtr/HttpRemoteTaskRunner.java | 17 +- .../indexing/overlord/http/OverlordResource.java | 40 +- .../overlord/http/TotalWorkerCapacityResponse.java | 15 +- .../overlord/supervisor/SupervisorManager.java | 8 +- .../overlord/supervisor/SupervisorResource.java | 25 +- .../SeekableStreamIndexTaskClientAsyncImpl.java | 7 +- .../SeekableStreamIndexTaskRunner.java | 19 +- .../indexing/seekablestream/SequenceMetadata.java | 9 +- .../supervisor/SeekableStreamSupervisor.java | 201 +- .../supervisor/SeekableStreamSupervisorSpec.java | 2 +- .../druid/indexing/worker/WorkerTaskManager.java | 4 +- .../worker/executor/ExecutorLifecycle.java | 4 +- .../worker/http/TaskManagementResource.java | 4 +- .../indexing/worker/shuffle/ShuffleMonitor.java | 4 +- .../druid/indexing/common/TaskToolboxTest.java | 1 + .../apache/druid/indexing/common/TestTasks.java | 8 +- .../common/actions/RemoteTaskActionClientTest.java | 4 +- .../actions/RetrieveSegmentsActionsTest.java | 4 +- .../common/actions/SegmentAllocateActionTest.java | 12 +- .../common/actions/SegmentAllocationQueueTest.java | 2 +- .../common/actions/SegmentInsertActionTest.java | 4 +- .../SegmentTransactionalInsertActionTest.java | 60 - .../indexing/common/actions/TaskLocksTest.java | 130 +- .../indexing/common/task/AbstractTaskTest.java | 6 +- .../AppenderatorDriverRealtimeIndexTaskTest.java | 15 +- .../indexing/common/task/IngestionTestBase.java | 30 +- .../common/task/KillUnusedSegmentsTaskTest.java | 62 +- .../druid/indexing/common/task/NoopTaskTest.java | 2 +- .../AbstractParallelIndexSupervisorTaskTest.java | 5 +- .../parallel/ParallelIndexPhaseRunnerTest.java | 2 - .../task/batch/parallel/TaskMonitorTest.java | 2 +- .../common/task/concurrent/ActionsTestTask.java | 104 + .../common/task/concurrent/CommandQueueTask.java | 217 + .../concurrent/ConcurrentReplaceAndAppendTest.java | 854 + .../overlord/HeapMemoryTaskStorageTest.java | 8 +- .../IndexerMetadataStorageAdapterTest.java | 8 +- .../indexing/overlord/RemoteTaskRunnerTest.java | 5 + .../overlord/SingleTaskBackgroundRunnerTest.java | 32 +- .../druid/indexing/overlord/TaskLifecycleTest.java | 137 +- .../overlord/TaskLockBoxConcurrencyTest.java | 13 +- .../druid/indexing/overlord/TaskLockboxTest.java | 209 +- .../indexing/overlord/TaskQueueScaleTest.java | 29 +- .../druid/indexing/overlord/TestTaskRunner.java | 3 +- .../druid/indexing/overlord/ZkWorkerTest.java | 6 +- .../overlord/hrtr/HttpRemoteTaskRunnerTest.java | 56 +- .../indexing/overlord/hrtr/WorkerHolderTest.java | 8 +- .../overlord/http/OverlordResourceTest.java | 46 +- .../druid/indexing/overlord/http/OverlordTest.java | 57 +- .../sampler/InputSourceSamplerDiscoveryTest.java | 140 +- .../overlord/sampler/SamplerResponseTest.java | 6 +- ...butionWithAffinityWorkerSelectStrategyTest.java | 13 +- ...onWithCategorySpecWorkerSelectStrategyTest.java | 2 +- .../EqualDistributionWorkerSelectStrategyTest.java | 45 +- ...pacityWithAffinityWorkerSelectStrategyTest.java | 13 +- ...tyWithCategorySpecWorkerSelectStrategyTest.java | 2 +- .../overlord/supervisor/SupervisorManagerTest.java | 30 + .../supervisor/SupervisorResourceTest.java | 49 + .../SeekableStreamSupervisorSpecTest.java | 67 +- .../seekablestream/SequenceMetadataTest.java | 34 +- .../TestSeekableStreamDataSourceMetadata.java | 48 + .../SeekableStreamSupervisorStateTest.java | 849 +- .../TestIndexerMetadataStorageCoordinator.java | 32 +- .../indexing/worker/WorkerTaskManagerTest.java | 6 +- integration-tests-ex/cases/pom.xml | 6 +- .../apache/druid/testsEx/config/Initializer.java | 4 +- .../wikipedia_msq_select_query1.json | 6 +- .../wikipedia_msq_select_query_ha.json | 12 +- ...wikipedia_msq_select_query_sequential_test.json | 2 +- .../docker/environment-configs/historical | 2 +- .../test-data/high-availability-sample-data.sql | 10 +- .../docker/test-data/ldap-security-sample-data.sql | 2 +- .../docker/test-data/query-error-sample-data.sql | 10 +- .../docker/test-data/query-retry-sample-data.sql | 10 +- .../docker/test-data/query-sample-data.sql | 10 +- .../docker/test-data/security-sample-data.sql | 2 +- .../script/copy_resources_template.sh | 3 +- .../testing/utils/AbstractTestQueryHelper.java | 3 +- .../coordinator/duty/ITAutoCompactionTest.java | 14 +- .../queries/wikipedia_editstream_queries.json | 20 +- it.sh | 12 +- licenses.yaml | 167 +- ...e-frame.MIT => @babel-helper-string-parser.MIT} | 0 licenses/bin/commander.MIT | 22 + licenses/bin/d3-dsv.BSD3 | 27 + licenses/bin/iconv-lite.MIT | 21 + licenses/bin/icu4j.ICU | 854 +- licenses/bin/rw.BSD3 | 26 + licenses/bin/safer-buffer.MIT | 21 + owasp-dependency-check-suppressions.xml | 46 +- pom.xml | 130 +- processing/pom.xml | 14 +- .../collections/bitmap/BatchIteratorAdapter.java | 12 +- .../druid/collections/bitmap/ImmutableBitmap.java | 2 +- .../apache/druid/common/config/ConfigManager.java | 27 +- .../common/config/NullValueHandlingConfig.java | 2 +- .../org/apache/druid/common/guava/FutureUtils.java | 10 +- .../druid/data/input/impl/DimensionSchema.java | 4 +- .../java/org/apache/druid/error/ErrorResponse.java | 2 +- .../apache/druid/error/InternalServerError.java | 62 + .../apache/druid/error/QueryExceptionCompat.java | 2 +- .../druid/frame/field/DoubleArrayFieldReader.java | 62 + .../druid/frame/field/DoubleFieldReader.java | 74 +- .../druid/frame/field/DoubleFieldWriter.java | 62 +- .../org/apache/druid/frame/field/FieldReaders.java | 27 +- .../org/apache/druid/frame/field/FieldWriters.java | 53 +- .../druid/frame/field/FloatArrayFieldReader.java | 62 + .../apache/druid/frame/field/FloatFieldReader.java | 69 +- .../apache/druid/frame/field/FloatFieldWriter.java | 65 +- .../druid/frame/field/LongArrayFieldReader.java | 62 + .../apache/druid/frame/field/LongFieldReader.java | 76 +- .../apache/druid/frame/field/LongFieldWriter.java | 62 +- .../druid/frame/field/NumericArrayFieldReader.java | 59 + .../frame/field/NumericArrayFieldSelector.java | 204 + .../druid/frame/field/NumericArrayFieldWriter.java | 249 + .../druid/frame/field/NumericFieldReader.java | 131 + .../druid/frame/field/NumericFieldWriter.java | 139 + .../frame/field/NumericFieldWriterFactory.java | 33 + .../druid/frame/field/SettableFieldPointer.java | 40 + .../druid/frame/field/StringArrayFieldReader.java | 34 + .../druid/frame/field/StringFieldReader.java | 7 +- .../apache/druid/frame/field/TransformUtils.java | 86 + .../frame/processor/FrameProcessorExecutor.java | 24 +- .../druid/frame/processor/FrameProcessors.java | 4 +- .../druid/frame/processor/RunAllFullyWidget.java | 196 +- .../manager/AccumulatingProcessorManager.java | 83 + .../processor/manager/ProcessorAndCallback.java | 53 + .../frame/processor/manager/ProcessorManager.java | 98 + .../frame/processor/manager/ProcessorManagers.java | 70 + .../manager/SequenceProcessorManager.java | 110 + .../org/apache/druid/frame/read/FrameReader.java | 7 +- .../frame/read/columnar/FrameColumnReaders.java | 18 +- .../UnsupportedColumnTypeFrameColumnReader.java | 57 + .../apache/druid/frame/write/FrameWriterUtils.java | 46 +- .../org/apache/druid/guice/ConfigProvider.java | 6 +- .../org/apache/druid/guice/ExpressionModule.java | 106 + .../org/apache/druid/guice/NestedDataModule.java | 90 +- .../org/apache/druid/indexer/TaskLocation.java | 21 + .../java/org/apache/druid/indexer/TaskStatus.java | 21 +- .../apache/druid/java/util/common/DateTimes.java | 31 + .../druid/java/util/common/DefineClassUtils.java | 14 +- .../org/apache/druid/java/util/common/Unit.java | 53 + .../common/concurrent/ExecutorServiceConfig.java | 57 - .../java/util/common/granularity/Granularity.java | 12 +- .../util/common/granularity/PeriodGranularity.java | 8 +- .../druid/java/util/common/guava/Sequences.java | 1 + .../util/common/parsers/CloseableIterator.java | 42 +- .../java/util/emitter/service/ServiceEmitter.java | 2 +- .../util/emitter/service/ServiceMetricEvent.java | 74 +- .../http/client/pool/ChannelResourceFactory.java | 87 +- .../util/metrics/AllocationMetricCollector.java | 2 +- .../java/util/metrics/BasicMonitorScheduler.java | 4 +- .../druid/java/util/metrics/CgroupCpuMonitor.java | 4 +- .../java/util/metrics/CgroupCpuSetMonitor.java | 8 +- .../java/util/metrics/CgroupMemoryMonitor.java | 4 +- .../metrics/ClockDriftSafeMonitorScheduler.java | 4 +- .../java/util/metrics/CpuAcctDeltaMonitor.java | 8 +- .../util/metrics/DruidMonitorSchedulerConfig.java | 45 + .../java/util/metrics/HttpPostEmitterMonitor.java | 24 +- .../druid/java/util/metrics/JvmCpuMonitor.java | 4 +- .../apache/druid/java/util/metrics/JvmMonitor.java | 36 +- .../druid/java/util/metrics/JvmThreadsMonitor.java | 10 +- .../druid/java/util/metrics/MonitorScheduler.java | 6 +- .../java/util/metrics/MonitorSchedulerConfig.java | 33 - .../druid/java/util/metrics/OshiSysMonitor.java | 18 +- .../apache/druid/java/util/metrics/SysMonitor.java | 22 +- ...OperatorExpr.java => BinaryEvalOpExprBase.java} | 0 .../druid/math/expr/BinaryLogicalOperatorExpr.java | 6 + .../druid/math/expr/BinaryMathOperatorExpr.java | 6 + .../apache/druid/math/expr/BuiltInExprMacros.java | 70 + .../java/org/apache/druid/math/expr/ExprEval.java | 3 - .../org/apache/druid/math/expr/ExprMacroTable.java | 3 +- .../math/expr/ExpressionProcessingConfig.java | 13 +- .../java/org/apache/druid/math/expr/Exprs.java | 50 +- .../java/org/apache/druid/math/expr/Function.java | 231 + .../org/apache/druid/math/expr/FunctionalExpr.java | 6 + .../apache/druid/math/expr/UnaryOperatorExpr.java | 7 + .../druid/metadata/MetadataStorageConnector.java | 2 + .../metadata/MetadataStorageTablesConfig.java | 14 +- .../druid/query/ChainedExecutionQueryRunner.java | 6 +- .../apache/druid/query/DefaultQueryMetrics.java | 2 +- .../druid/query/DruidProcessingBufferConfig.java | 78 + .../apache/druid/query/DruidProcessingConfig.java | 232 +- .../druid/query/DruidProcessingIndexesConfig.java | 67 + .../druid/query/GroupByMergedQueryRunner.java | 207 - .../druid/query/IterableRowsCursorHelper.java | 61 +- .../org/apache/druid/query/JoinDataSource.java | 157 +- .../query/MetricsEmittingQueryProcessingPool.java | 3 +- .../druid/query/PrioritizedExecutorService.java | 8 + .../query/QueryCapacityExceededException.java | 2 +- .../java/org/apache/druid/query/QueryContext.java | 9 +- .../apache/druid/query/QueryProcessingPool.java | 2 +- .../druid/query/aggregation/AggregatorFactory.java | 18 +- .../query/aggregation/CountAggregatorFactory.java | 7 - .../aggregation/DoubleMaxAggregatorFactory.java | 8 - .../aggregation/DoubleMinAggregatorFactory.java | 8 - .../aggregation/DoubleSumAggregatorFactory.java | 8 - .../ExpressionLambdaAggregatorFactory.java | 24 - .../aggregation/FilteredAggregatorFactory.java | 6 - .../aggregation/FloatMaxAggregatorFactory.java | 8 - .../aggregation/FloatMinAggregatorFactory.java | 8 - .../aggregation/FloatSumAggregatorFactory.java | 8 - .../aggregation/GroupingAggregatorFactory.java | 6 - .../aggregation/HistogramAggregatorFactory.java | 7 - .../aggregation/JavaScriptAggregatorFactory.java | 20 - .../aggregation/LongMaxAggregatorFactory.java | 8 - .../aggregation/LongMinAggregatorFactory.java | 8 - .../aggregation/LongSumAggregatorFactory.java | 8 - .../SerializablePairLongStringColumnHeader.java | 10 +- .../aggregation/SuppressedAggregatorFactory.java | 6 - .../any/DoubleAnyAggregatorFactory.java | 8 +- .../aggregation/any/FloatAnyAggregatorFactory.java | 8 +- .../aggregation/any/LongAnyAggregatorFactory.java | 8 +- .../query/aggregation/any/NilVectorAggregator.java | 123 + .../any/NumericNilVectorAggregator.java | 113 - .../any/StringAnyAggregatorFactory.java | 6 - .../cardinality/CardinalityAggregatorFactory.java | 17 - .../first/DoubleFirstAggregatorFactory.java | 35 +- .../first/DoubleFirstVectorAggregator.java | 61 + .../first/FloatFirstAggregatorFactory.java | 31 +- .../first/FloatFirstVectorAggregator.java | 61 + .../first/LongFirstAggregatorFactory.java | 33 +- .../first/LongFirstVectorAggregator.java | 60 + .../first/NumericFirstVectorAggregator.java | 174 + ...SingleStringFirstDimensionVectorAggregator.java | 125 + .../aggregation/first/StringFirstAggregator.java | 6 +- .../first/StringFirstAggregatorFactory.java | 84 +- .../first/StringFirstBufferAggregator.java | 6 +- .../aggregation/first/StringFirstLastUtils.java | 4 + .../first/StringFirstVectorAggregator.java | 184 + .../hyperloglog/HyperUniquesAggregatorFactory.java | 11 - .../last/DoubleLastAggregatorFactory.java | 22 +- .../last/FloatLastAggregatorFactory.java | 24 +- .../last/LongLastAggregatorFactory.java | 22 +- .../SingleStringLastDimensionVectorAggregator.java | 124 + .../aggregation/last/StringLastAggregator.java | 6 +- .../last/StringLastAggregatorFactory.java | 46 +- .../last/StringLastBufferAggregator.java | 6 +- .../last/StringLastVectorAggregator.java | 24 +- .../mean/DoubleMeanAggregatorFactory.java | 6 - .../query/dimension/ListFilteredDimensionSpec.java | 12 +- .../druid/query/expression/LookupExprMacro.java | 27 +- .../org/apache/druid/query/filter/InDimFilter.java | 34 +- .../apache/druid/query/groupby/GroupByQuery.java | 7 - .../druid/query/groupby/GroupByQueryConfig.java | 52 +- .../druid/query/groupby/GroupByQueryEngine.java | 460 - .../druid/query/groupby/GroupByQueryHelper.java | 247 - .../query/groupby/GroupByQueryQueryToolChest.java | 116 +- .../druid/query/groupby/GroupByQueryResources.java | 154 + .../query/groupby/GroupByQueryRunnerFactory.java | 27 +- .../apache/druid/query/groupby/GroupingEngine.java | 789 + .../groupby/epinephelinae/GroupByBinaryFnV2.java | 2 +- .../epinephelinae/GroupByMergingQueryRunnerV2.java | 2 +- .../epinephelinae/GroupByQueryEngineV2.java | 7 +- .../groupby/epinephelinae/GroupByRowProcessor.java | 8 +- .../query/groupby/orderby/DefaultLimitSpec.java | 6 - .../druid/query/groupby/orderby/LimitSpec.java | 2 - .../druid/query/groupby/orderby/NoopLimitSpec.java | 6 - .../groupby/resource/GroupByQueryResource.java | 93 - .../query/groupby/strategy/GroupByStrategy.java | 205 - .../groupby/strategy/GroupByStrategySelector.java | 70 - .../query/groupby/strategy/GroupByStrategyV1.java | 293 - .../query/groupby/strategy/GroupByStrategyV2.java | 729 - .../SegmentMetadataQueryQueryToolChest.java | 25 +- .../rowsandcols/concrete/FrameRowsAndColumns.java | 2 +- .../druid/query/scan/ScanQueryQueryToolChest.java | 38 +- .../druid/query/scan/ScanResultValueIterator.java | 62 + .../timeseries/TimeseriesQueryQueryToolChest.java | 8 +- .../druid/query/topn/TopNQueryQueryToolChest.java | 8 +- .../apache/druid/segment/AutoTypeColumnMerger.java | 6 +- .../druid/segment/DefaultColumnFormatConfig.java | 87 + .../java/org/apache/druid/segment/IndexIO.java | 5 + .../druid/segment/NestedDataColumnHandlerV4.java | 105 + .../druid/segment/NestedDataColumnIndexer.java | 501 - .../druid/segment/NestedDataColumnIndexerV4.java | 501 + .../druid/segment/NestedDataColumnMerger.java | 216 - .../druid/segment/NestedDataColumnMergerV4.java | 214 + .../druid/segment/NestedDataColumnSchema.java | 129 + .../druid/segment/NestedDataDimensionHandler.java | 105 - .../druid/segment/NestedDataDimensionSchema.java | 56 - .../java/org/apache/druid/segment/RowWalker.java | 8 +- .../apache/druid/segment/UnnestStorageAdapter.java | 264 +- .../apache/druid/segment/column/ColumnConfig.java | 20 +- .../druid/segment/column/ColumnTypeFactory.java | 2 + .../segment/column/StringEncodingStrategies.java | 37 + .../druid/segment/data/FixedIndexedWriter.java | 12 +- .../segment/data/FrontCodedIndexedWriter.java | 1 + .../druid/segment/data/GenericIndexedWriter.java | 12 +- .../org/apache/druid/segment/filter/Filters.java | 16 + .../incremental/IncrementalIndexAdapter.java | 7 +- .../IncrementalIndexStorageAdapter.java | 9 +- .../incremental/OnheapIncrementalIndex.java | 4 +- .../org/apache/druid/segment/join/Equality.java | 14 +- .../druid/segment/join/JoinConditionAnalysis.java | 29 +- .../org/apache/druid/segment/join/Joinable.java | 20 +- .../druid/segment/join/JoinableFactoryWrapper.java | 4 +- .../segment/join/filter/JoinFilterAnalyzer.java | 4 +- .../JoinFilterColumnCorrelationAnalysis.java | 5 +- .../join/filter/JoinFilterCorrelations.java | 5 +- .../druid/segment/join/lookup/LookupJoinable.java | 41 +- .../segment/join/table/FrameBasedIndexedTable.java | 2 +- .../druid/segment/join/table/IndexedTable.java | 11 +- .../join/table/IndexedTableJoinMatcher.java | 52 +- .../segment/join/table/IndexedTableJoinable.java | 31 +- .../apache/druid/segment/join/table/MapIndex.java | 73 +- .../segment/join/table/RowBasedIndexBuilder.java | 41 +- .../segment/join/table/UniqueLongArrayIndex.java | 17 +- .../druid/segment/nested/DictionaryIdLookup.java | 338 +- .../apache/druid/segment/nested/FieldTypeInfo.java | 74 +- .../GlobalDictionaryEncodedFieldColumnWriter.java | 14 +- .../nested/NestedCommonFormatColumnSerializer.java | 12 +- .../segment/nested/NestedDataColumnSerializer.java | 45 +- .../nested/NestedDataColumnSerializerV4.java | 18 +- .../segment/nested/NestedDataColumnSupplier.java | 73 +- .../segment/nested/NestedDataColumnSupplierV4.java | 130 +- .../druid/segment/nested/NestedDataColumnV4.java | 4 +- .../segment/nested/NestedDataComplexTypeSerde.java | 8 +- .../nested/ScalarDoubleColumnSerializer.java | 24 +- .../nested/ScalarDoubleFieldColumnWriter.java | 2 +- .../segment/nested/ScalarLongColumnSerializer.java | 24 +- .../nested/ScalarLongFieldColumnWriter.java | 2 +- .../ScalarNestedCommonFormatColumnSerializer.java | 8 +- .../nested/ScalarStringColumnAndIndexSupplier.java | 43 +- .../nested/ScalarStringColumnSerializer.java | 27 +- .../nested/ScalarStringFieldColumnWriter.java | 3 +- .../druid/segment/nested/ValueDictionary.java | 6 +- .../nested/VariantColumnAndIndexSupplier.java | 51 +- .../segment/nested/VariantColumnSerializer.java | 44 +- .../segment/nested/VariantFieldColumnWriter.java | 3 +- .../serde/DictionaryEncodedColumnPartSerde.java | 40 +- .../segment/virtual/ListFilteredVirtualColumn.java | 8 +- .../org/apache/druid/tasklogs/NoopTaskLogs.java | 12 + .../java/org/apache/druid/tasklogs/TaskLogs.java | 3 +- .../apache/druid/tasklogs/TaskPayloadManager.java | 57 + .../org/apache/druid/audit/NoopAuditManager.java | 71 + .../org/apache/druid/audit/TestAuditManager.java | 71 - .../druid/collections/CombiningIteratorTest.java | 1 + .../bitmap/BatchIteratorAdapterTest.java | 42 + .../collections/spatial/ImmutableRTreeTest.java | 1 + .../java/org/apache/druid/common/UnitTest.java | 39 + .../druid/common/config/ConfigManagerTest.java | 4 +- .../apache/druid/common/utils/JodaUtilsTest.java | 1 + .../input/impl/InputEntityIteratingReaderTest.java | 17 +- .../org/apache/druid/error/ErrorResponseTest.java | 28 + .../druid/error/InternalServerErrorTest.java | 59 + .../frame/field/DoubleArrayFieldReaderTest.java | 234 + .../druid/frame/field/DoubleFieldReaderTest.java | 16 +- .../frame/field/FloatArrayFieldReaderTest.java | 235 + .../druid/frame/field/FloatFieldReaderTest.java | 16 +- .../druid/frame/field/IndexArrayFieldPointer.java | 56 + .../frame/field/LongArrayFieldReaderTest.java | 211 + .../druid/frame/field/LongFieldReaderTest.java | 16 +- .../druid/frame/field/StringFieldReaderTest.java | 50 +- .../druid/frame/field/TransformUtilsTest.java | 187 + .../frame/processor/RunAllFullyWidgetTest.java | 450 +- .../manager/SequenceProcessorManagerTest.java | 169 + .../apache/druid/frame/write/FrameWriterTest.java | 36 + .../druid/frame/write/FrameWriterTestData.java | 65 + .../apache/druid/frame/write/FrameWritersTest.java | 36 - .../druid/granularity/QueryGranularityTest.java | 89 +- .../guice/MetadataStorageTablesConfigTest.java | 1 + .../apache/druid/guice/NestedDataModuleTest.java | 113 + .../org/apache/druid/indexer/TaskLocationTest.java | 43 + .../druid/java/util/common/DateTimesTest.java | 30 + .../druid/java/util/common/StringUtilsTest.java | 15 + .../util/common/parsers/CloseableIteratorTest.java | 41 + .../core/HttpPostEmitterLoggerStressTest.java | 4 +- .../emitter/core/HttpPostEmitterStressTest.java | 6 +- .../emitter/service/ServiceMetricEventTest.java | 31 +- .../java/util/http/client/JankyServersTest.java | 72 + .../util/metrics/BasicMonitorSchedulerTest.java | 4 +- .../ClockDriftSafeMonitorSchedulerTest.java | 18 +- .../java/util/metrics/MonitorSchedulerTest.java | 4 +- .../java/org/apache/druid/math/expr/EvalTest.java | 239 +- .../java/org/apache/druid/math/expr/ExprsTest.java | 50 +- .../org/apache/druid/math/expr/FunctionTest.java | 9 + .../org/apache/druid/math/expr/ParserTest.java | 2 +- .../druid/math/expr/VectorExprSanityTest.java | 14 - .../metadata/TestMetadataStorageConnector.java | 6 + .../metadata/TestMetadataStorageTablesConfig.java | 1 + .../query/ChainedExecutionQueryRunnerTest.java | 1 + .../org/apache/druid/query/DoubleStorageTest.java | 3 +- .../druid/query/DruidProcessingConfigTest.java | 98 +- .../FrameBasedInlineDataSourceSerializerTest.java | 7 +- .../druid/query/IterableRowsCursorHelperTest.java | 4 +- .../MetricsEmittingQueryProcessingPoolTest.java | 6 +- .../druid/query/MultiValuedDimensionTest.java | 49 +- .../apache/druid/query/NestedDataTestUtils.java | 30 +- .../org/apache/druid/query/QueryContextTest.java | 17 + .../constant/LongConstantBufferAggregatorTest.java | 6 +- .../constant/LongConstantVectorAggregatorTest.java | 6 +- .../first/DoubleFirstVectorAggregationTest.java | 246 + .../first/FloatFirstVectorAggregationTest.java | 250 + .../first/LongFirstVectorAggregationTest.java | 241 + .../first/StringFirstVectorAggregatorTest.java | 362 + .../last/StringLastVectorAggregatorTest.java | 329 +- .../query/expression/LookupExprMacroTest.java | 95 + .../druid/query/expression/TestExprMacroTable.java | 57 +- .../expression/VectorExpressionsSanityTest.java | 15 - .../apache/druid/query/filter/InDimFilterTest.java | 2 +- ...GroupByLimitPushDownInsufficientBufferTest.java | 64 +- .../GroupByLimitPushDownMultiNodeMergeTest.java | 62 +- .../query/groupby/GroupByMultiSegmentTest.java | 36 +- .../query/groupby/GroupByQueryConfigTest.java | 13 - .../query/groupby/GroupByQueryMergeBufferTest.java | 50 +- .../groupby/GroupByQueryQueryToolChestTest.java | 27 +- .../groupby/GroupByQueryRunnerFailureTest.java | 40 +- .../query/groupby/GroupByQueryRunnerTest.java | 775 +- .../groupby/GroupByTimeseriesQueryRunnerTest.java | 1 - .../query/groupby/NestedDataGroupByQueryTest.java | 9 +- .../query/groupby/NestedGroupByArrayQueryTest.java | 5 - .../query/groupby/NestedQueryPushDownTest.java | 71 +- .../groupby/UnnestGroupByQueryRunnerTest.java | 41 +- .../druid/query/metadata/SegmentAnalyzerTest.java | 6 - .../SegmentMetadataQueryQueryToolChestTest.java | 38 + .../druid/query/scan/NestedDataScanQueryTest.java | 142 +- .../timeseries/TimeseriesQueryRunnerTest.java | 6 - .../segment/DefaultColumnFormatsConfigTest.java | 58 + .../druid/segment/NestedDataColumnIndexerTest.java | 612 - .../segment/NestedDataColumnIndexerV4Test.java | 612 + .../druid/segment/NestedDataColumnSchemaTest.java | 101 + .../SimpleDictionaryMergingIteratorTest.java | 2 +- .../druid/segment/UnnestStorageAdapterTest.java | 305 +- .../druid/segment/data/FixedIndexedTest.java | 29 + .../ExpressionFilterNonStrictBooleansTest.java | 53 + .../filter/ExpressionFilterStrictBooleansTest.java | 53 - .../druid/segment/filter/ExpressionFilterTest.java | 2 +- .../IncrementalIndexStorageAdapterTest.java | 93 +- .../segment/incremental/IncrementalIndexTest.java | 2 +- .../BaseHashJoinSegmentStorageAdapterTest.java | 19 + .../join/HashJoinSegmentStorageAdapterTest.java | 65 +- .../druid/segment/join/JoinFilterAnalyzerTest.java | 3 +- .../segment/join/lookup/LookupJoinableTest.java | 54 +- .../table/BroadcastSegmentIndexedTableTest.java | 12 +- .../join/table/FrameBasedIndexedTableTest.java | 24 +- .../join/table/IndexedTableJoinMatcherTest.java | 34 +- .../join/table/IndexedTableJoinableTest.java | 110 +- .../join/table/RowBasedIndexBuilderTest.java | 118 +- .../join/table/RowBasedIndexedTableTest.java | 2 +- .../nested/NestedDataColumnSupplierTest.java | 2 +- .../nested/NestedDataColumnSupplierV4Test.java | 46 +- .../nested/NestedFieldColumnIndexSupplierTest.java | 16 +- .../segment/nested/NestedFieldTypeInfoTest.java | 62 + .../druid/segment/transform/TransformerTest.java | 3 +- .../apache/druid/tasklogs/NoopTaskLogsTest.java | 7 + .../druid/tasklogs/TaskPayloadManagerTest.java | 43 + .../test/resources/nested-all-types-test-data.json | 14 +- .../src/test/resources/test.runtime.properties | 1 + server/pom.xml | 4 +- .../org/apache/druid/client/BrokerServerView.java | 2 +- .../druid/client/CachingClusteredClient.java | 22 +- .../apache/druid/client/CoordinatorServerView.java | 2 +- .../druid/client/HttpServerInventoryView.java | 6 +- .../apache/druid/client/cache/CacheMonitor.java | 24 +- .../apache/druid/client/cache/CaffeineCache.java | 12 +- .../apache/druid/client/cache/MemcachedCache.java | 80 +- .../druid/client/cache/MemcachedCacheConfig.java | 24 + .../MemcachedCustomConnectionFactoryBuilder.java | 43 +- .../client/coordinator/CoordinatorClient.java | 5 +- .../client/coordinator/CoordinatorClientImpl.java | 7 +- .../ClientKillUnusedSegmentsTaskQuery.java | 9 +- .../apache/druid/client/indexing/QueryStatus.java | 12 +- .../curator/DruidConnectionStateListener.java | 4 +- .../org/apache/druid/discovery/BrokerClient.java | 125 + .../org/apache/druid/discovery/ClientUtils.java | 62 + .../apache/druid/discovery/DruidLeaderClient.java | 36 +- .../apache/druid/guice/BrokerProcessingModule.java | 11 +- .../druid/guice/DruidProcessingConfigModule.java | 35 - .../apache/druid/guice/DruidProcessingModule.java | 24 +- .../org/apache/druid/guice/ExpressionModule.java | 102 - .../LegacyBrokerParallelMergeConfigModule.java | 42 + .../druid/guice/QueryRunnerFactoryModule.java | 3 - .../apache/druid/guice/RouterProcessingModule.java | 13 +- .../org/apache/druid/guice/StorageNodeModule.java | 5 +- .../CoordinatorIndexingServiceDuty.java | 36 - .../CoordinatorMetadataStoreManagementDuty.java | 36 - .../SQLMetadataStorageUpdaterJobHandler.java | 11 +- .../indexing/overlord/DataSourceMetadata.java | 4 +- .../IndexerMetadataStorageCoordinator.java | 64 +- .../overlord/supervisor/NoopSupervisorSpec.java | 5 + .../indexing/overlord/supervisor/Supervisor.java | 13 + .../druid/initialization/CoreInjectorBuilder.java | 2 - .../IndexerSQLMetadataStorageCoordinator.java | 655 +- .../org/apache/druid/metadata/ReplaceTaskLock.java | 80 + .../druid/metadata/SQLMetadataConnector.java | 246 +- .../druid/metadata/SQLMetadataRuleManager.java | 5 +- .../metadata/SQLMetadataSegmentPublisher.java | 14 +- .../metadata/SQLMetadataStorageActionHandler.java | 49 +- .../druid/metadata/SegmentsMetadataManager.java | 21 +- .../druid/metadata/SqlSegmentsMetadataManager.java | 139 +- .../SqlSegmentsMetadataManagerProvider.java | 3 +- .../druid/metadata/SqlSegmentsMetadataQuery.java | 34 +- .../metadata/storage/derby/DerbyConnector.java | 58 +- .../druid/query/BrokerParallelMergeConfig.java | 215 + .../query/LegacyBrokerParallelMergeConfig.java | 74 + .../query/lookup/LookupReferencesManager.java | 4 + .../rpc/indexing/SpecificTaskServiceLocator.java | 4 +- .../segment/realtime/DbSegmentPublisherConfig.java | 28 - .../segment/realtime/RealtimeMetricsMonitor.java | 34 +- .../realtime/appenderator/AppenderatorImpl.java | 4 +- .../realtime/appenderator/AppenderatorPlumber.java | 7 +- .../appenderator/BaseAppenderatorDriver.java | 5 +- .../realtime/appenderator/BatchAppenderator.java | 3 +- .../appenderator/BatchAppenderatorDriver.java | 9 +- .../realtime/appenderator/StreamAppenderator.java | 4 +- .../appenderator/StreamAppenderatorDriver.java | 18 +- .../TransactionalSegmentPublisher.java | 3 - .../druid/server/ClientQuerySegmentWalker.java | 121 +- .../java/org/apache/druid/server/DruidNode.java | 2 +- .../org/apache/druid/server/QueryScheduler.java | 2 +- .../druid/server/SubqueryGuardrailHelper.java | 160 + .../apache/druid/server/audit/SQLAuditManager.java | 2 +- .../server/coordinator/CompactionStatistics.java | 73 - .../coordinator/CoordinatorCompactionConfig.java | 36 - .../coordinator/CoordinatorConfigManager.java | 130 + .../coordinator/CoordinatorDynamicConfig.java | 177 +- .../druid/server/coordinator/DruidCoordinator.java | 389 +- .../server/coordinator/DruidCoordinatorConfig.java | 32 + .../coordinator/DruidCoordinatorRuntimeParams.java | 40 +- .../coordinator/KillStalePendingSegments.java | 106 - .../druid/server/coordinator/MetadataManager.java | 107 + .../coordinator/SegmentCountsPerInterval.java | 25 +- .../druid/server/coordinator/ServerHolder.java | 24 +- .../coordinator/balancer/BalancerStrategy.java | 5 +- .../balancer/BalancerStrategyFactory.java | 47 +- .../balancer/CachingCostBalancerStrategy.java | 5 + .../CachingCostBalancerStrategyFactory.java | 10 +- .../coordinator/balancer/CostBalancerStrategy.java | 14 +- .../balancer/CostBalancerStrategyFactory.java | 8 +- ...DisabledCachingCostBalancerStrategyFactory.java | 34 + .../DiskNormalizedCostBalancerStrategy.java | 21 +- .../DiskNormalizedCostBalancerStrategyFactory.java | 8 +- .../balancer/RandomBalancerStrategy.java | 2 +- .../balancer/RandomBalancerStrategyFactory.java | 6 +- .../balancer/SegmentToMoveCalculator.java | 307 + .../coordinator/balancer/TierSegmentBalancer.java | 112 +- .../compact/CompactionSegmentIterator.java | 49 + .../compact/CompactionSegmentSearchPolicy.java | 43 + .../coordinator/compact/CompactionStatistics.java | 57 + .../coordinator/compact/CompactionStatus.java | 352 + .../compact/NewestSegmentFirstIterator.java | 528 + .../compact/NewestSegmentFirstPolicy.java | 53 + .../coordinator/compact/SegmentsToCompact.java | 123 + .../server/coordinator/duty/BalanceSegments.java | 74 +- .../duty/CollectSegmentAndServerStats.java | 74 +- .../server/coordinator/duty/CompactSegments.java | 37 +- .../duty/CompactionSegmentIterator.java | 51 - .../duty/CompactionSegmentSearchPolicy.java | 42 - .../server/coordinator/duty/KillAuditLog.java | 8 +- .../coordinator/duty/KillCompactionConfig.java | 66 +- .../coordinator/duty/KillDatasourceMetadata.java | 3 +- .../druid/server/coordinator/duty/KillRules.java | 3 +- .../coordinator/duty/KillStalePendingSegments.java | 135 + .../server/coordinator/duty/KillSupervisors.java | 3 +- .../duty/KillSupervisorsCustomDuty.java | 1 + .../coordinator/duty/KillUnusedSegments.java | 48 +- .../coordinator/duty/MetadataCleanupDuty.java | 21 +- .../duty/NewestSegmentFirstIterator.java | 829 - .../coordinator/duty/NewestSegmentFirstPolicy.java | 53 - .../duty/PrepareBalancerAndLoadQueues.java | 198 + .../coordinator/duty/UnloadUnusedSegments.java | 2 +- .../coordinator/loading/LoadQueueTaskMaster.java | 80 +- .../coordinator/loading/ReplicationThrottler.java | 61 +- .../loading/SegmentLoadQueueManager.java | 12 - .../coordinator/loading/SegmentLoadingConfig.java | 60 +- .../loading/StrategicSegmentAssigner.java | 19 +- .../coordinator/stats/CoordinatorRunStats.java | 2 + .../druid/server/coordinator/stats/Stats.java | 6 +- .../http/CoordinatorCompactionConfigsResource.java | 117 +- .../http/CoordinatorDynamicConfigsResource.java | 13 +- .../druid/server/http/HostAndPortWithScheme.java | 2 +- .../apache/druid/server/http/MetadataResource.java | 7 +- .../druid/server/http/SegmentListerResource.java | 7 +- .../druid/server/initialization/ServerConfig.java | 10 +- .../server/initialization/jetty/JettyBindings.java | 11 +- .../initialization/jetty/JettyServerModule.java | 16 +- .../lookup/cache/LookupCoordinatorManager.java | 3 +- .../metrics/DruidMonitorSchedulerConfig.java | 54 - .../metrics/EventReceiverFirehoseMonitor.java | 4 +- .../server/metrics/HistoricalMetricsMonitor.java | 10 +- .../apache/druid/server/metrics/MetricsModule.java | 1 + .../server/metrics/QueryCountStatsMonitor.java | 2 +- .../druid/server/metrics/SegmentStatsMonitor.java | 4 +- .../druid/server/metrics/ServiceStatusMonitor.java | 2 +- .../server/metrics/SubqueryCountStatsMonitor.java | 89 + .../server/metrics/SubqueryCountStatsProvider.java | 133 + .../server/metrics/TaskCountStatsMonitor.java | 4 +- .../server/metrics/TaskSlotCountStatsMonitor.java | 2 +- .../metrics/WorkerTaskCountStatsMonitor.java | 2 +- .../druid/server/security/AuthorizationUtils.java | 18 + .../CachingClusteredClientFunctionalityTest.java | 19 +- .../client/CachingClusteredClientPerfTest.java | 6 +- .../druid/client/CachingClusteredClientTest.java | 239 +- .../druid/client/JsonParserIteratorTest.java | 2 +- .../druid/client/cache/MemcachedCacheTest.java | 66 + .../coordinator/CoordinatorClientImplTest.java | 29 +- .../client/coordinator/NoopCoordinatorClient.java | 2 +- .../apache/druid/discovery/BrokerClientTest.java | 154 + .../druid/discovery/DruidLeaderClientTest.java | 3 +- .../druid/guice/BrokerProcessingModuleTest.java | 95 +- .../apache/druid/guice/QueryableModuleTest.java | 2 +- .../druid/indexing/NoopSupervisorSpecTest.java | 18 + .../IndexerSQLMetadataStorageCoordinatorTest.java | 542 +- .../apache/druid/metadata/ReplaceTaskLockTest.java | 36 + .../druid/metadata/SQLMetadataConnectorTest.java | 44 +- .../SQLMetadataStorageActionHandlerTest.java | 44 +- .../SqlSegmentsMetadataManagerProviderTest.java | 80 + .../metadata/SqlSegmentsMetadataManagerTest.java | 128 +- .../apache/druid/metadata/TestDerbyConnector.java | 26 + .../QueryRunnerBasedOnClusteredClientTestBase.java | 8 +- .../query/expression/LookupExprMacroTest.java | 7 +- .../realtime/RealtimeMetricsMonitorTest.java | 107 + ...edSegmentsSinksBatchAppenderatorDriverTest.java | 6 +- ...dClosedSegmentsBatchAppenderatorDriverTest.java | 6 +- .../StreamAppenderatorDriverFailTest.java | 4 +- .../appenderator/StreamAppenderatorDriverTest.java | 4 +- .../druid/server/ClientQuerySegmentWalkerTest.java | 12 +- .../org/apache/druid/server/QueryResourceTest.java | 83 + .../apache/druid/server/QueryResultPusherTest.java | 161 + .../apache/druid/server/QuerySchedulerTest.java | 6 - .../org/apache/druid/server/QueryStackTests.java | 53 +- .../druid/server/SubqueryGuardrailHelperTest.java | 160 + .../coordination/ChangeRequestHistoryTest.java | 7 +- .../coordinator/BalanceSegmentsProfiler.java | 11 +- .../coordinator/CuratorDruidCoordinatorTest.java | 9 +- .../server/coordinator/DruidCoordinatorTest.java | 137 +- .../druid/server/coordinator/ServerHolderTest.java | 2 - .../coordinator/TestDruidCoordinatorConfig.java | 64 +- .../balancer/BalancerStrategyFactoryTest.java | 66 + .../balancer/CostBalancerStrategyTest.java | 17 +- .../balancer/SegmentToMoveCalculatorTest.java | 236 + .../compact/NewestSegmentFirstIteratorTest.java | 468 + .../compact/NewestSegmentFirstPolicyTest.java | 1888 ++ .../coordinator/duty/BalanceSegmentsTest.java | 80 +- .../duty/CollectSegmentAndServerStatsTest.java | 26 +- .../coordinator/duty/CompactSegmentsTest.java | 4 +- .../server/coordinator/duty/KillAuditLogTest.java | 8 +- .../coordinator/duty/KillCompactionConfigTest.java | 33 +- .../duty/KillStalePendingSegmentsTest.java | 264 + .../coordinator/duty/KillUnusedSegmentsTest.java | 144 +- .../duty/MarkOvershadowedSegmentsAsUnusedTest.java | 4 +- .../duty/NewestSegmentFirstIteratorTest.java | 468 - .../duty/NewestSegmentFirstPolicyTest.java | 1869 -- .../server/coordinator/duty/RunRulesTest.java | 35 +- .../coordinator/duty/UnloadUnusedSegmentsTest.java | 4 +- .../loading/ReplicationThrottlerTest.java | 70 + .../rules/BroadcastDistributionRuleTest.java | 4 +- .../server/coordinator/rules/LoadRuleTest.java | 6 +- .../simulate/CoordinatorSimulationBaseTest.java | 2 +- .../simulate/CoordinatorSimulationBuilder.java | 46 +- .../coordinator/simulate/SegmentBalancingTest.java | 37 + .../simulate/TestSegmentsMetadataManager.java | 18 +- .../CoordinatorCompactionConfigsResourceTest.java | 97 +- .../server/http/CoordinatorDynamicConfigTest.java | 128 +- .../druid/server/http/MetadataResourceTest.java | 21 +- .../druid/server/initialization/JettyQosTest.java | 59 + .../server/log/ServiceMetricEventSerdeTest.java | 3 +- .../metrics/HistoricalMetricsMonitorTest.java | 69 +- .../server/metrics/SegmentStatsMonitorTest.java | 4 +- .../server/security/AuthorizationUtilsTest.java | 9 + services/pom.xml | 11 + .../main/java/org/apache/druid/cli/CliBroker.java | 4 + .../java/org/apache/druid/cli/CliCoordinator.java | 78 +- .../main/java/org/apache/druid/cli/CliPeon.java | 23 +- .../java/org/apache/druid/cli/CreateTables.java | 1 + .../java/org/apache/druid/cli/DumpSegment.java | 40 +- .../org/apache/druid/cli/ValidateSegments.java | 40 +- .../java/org/apache/druid/cli/CliPeonTest.java | 21 +- .../org/apache/druid/cli/CreateTablesTest.java | 97 + .../java/org/apache/druid/cli/DumpSegmentTest.java | 112 +- .../org/apache/druid/cli/ValidateSegmentsTest.java | 117 + services/src/test/resources/nested-test-aggs.json | 6 - .../src/test/resources/nested-test-parser.json | 20 - sql/src/main/codegen/config.fmpp | 4 + sql/src/main/codegen/includes/from.ftl | 2 +- sql/src/main/codegen/includes/replace.ftl | 5 +- .../org/apache/druid/sql/SqlExecutionReporter.java | 6 +- .../apache/druid/sql/avatica/AvaticaMonitor.java | 4 +- .../builtin/EarliestLatestAnySqlAggregator.java | 13 +- .../builtin/EarliestLatestBySqlAggregator.java | 2 +- .../aggregation/builtin/SumSqlAggregator.java | 11 +- .../druid/sql/calcite/expression/Expressions.java | 10 + .../expression/UnarySuffixOperatorConversion.java | 64 - .../builtin/ArrayOverlapOperatorConversion.java | 9 +- .../builtin/DecodeBase64UTFOperatorConversion.java | 52 + .../builtin/QueryLookupOperatorConversion.java | 32 +- .../sql/calcite/planner/CalciteRulesManager.java | 3 +- .../sql/calcite/planner/DruidOperatorTable.java | 25 +- .../druid/sql/calcite/planner/DruidPlanner.java | 6 +- .../druid/sql/calcite/planner/PlannerContext.java | 12 - .../druid/sql/calcite/planner/QueryHandler.java | 2 +- .../apache/druid/sql/calcite/rel/DruidQuery.java | 65 +- .../apache/druid/sql/calcite/rel/Windowing.java | 4 +- .../sql/calcite/rule/DruidCorrelateUnnestRule.java | 1 + .../druid/sql/calcite/rule/DruidJoinRule.java | 102 +- .../apache/druid/sql/calcite/rule/DruidRules.java | 1 + .../druid/sql/calcite/rule/GroupByRules.java | 11 +- .../logical/DruidAggregateCaseToFilterRule.java | 339 - .../sql/calcite/schema/SegmentMetadataCache.java | 9 +- .../druid/sql/calcite/schema/SystemSchema.java | 19 +- .../druid/sql/calcite/view/ViewSqlEngine.java | 1 - .../druid/sql/calcite/BaseCalciteQueryTest.java | 9 +- .../druid/sql/calcite/CalciteArraysQueryTest.java | 764 +- .../druid/sql/calcite/CalciteJoinQueryTest.java | 127 +- .../calcite/CalciteMultiValueStringQueryTest.java | 45 + .../sql/calcite/CalciteNestedDataQueryTest.java | 170 +- .../apache/druid/sql/calcite/CalciteQueryTest.java | 648 +- .../druid/sql/calcite/CalciteReplaceDmlTest.java | 5 +- .../druid/sql/calcite/CalciteSelectQueryTest.java | 180 + .../druid/sql/calcite/CalciteSimpleQueryTest.java | 52 + .../druid/sql/calcite/CalciteSubqueryTest.java | 88 +- .../druid/sql/calcite/CalciteWindowQueryTest.java | 36 +- .../apache/druid/sql/calcite/DecoupledIgnore.java | 111 + .../calcite/DecoupledPlanningCalciteQueryTest.java | 329 +- .../druid/sql/calcite/IngestionTestSqlEngine.java | 1 + .../apache/druid/sql/calcite/QueryTestRunner.java | 15 +- .../calcite/SqlVectorizedExpressionSanityTest.java | 3 - .../calcite/planner/CalcitePlannerModuleTest.java | 8 +- .../calcite/rule/DruidLogicalValuesRuleTest.java | 27 +- .../calcite/schema/SegmentMetadataCacheTest.java | 20 +- .../calcite/util/CalciteTestInjectorBuilder.java | 16 +- .../druid/sql/calcite/util/CalciteTests.java | 12 +- .../sql/calcite/util/QueryFrameworkUtils.java | 17 - .../util/SpecificSegmentsQuerySegmentWalker.java | 3 +- .../druid/sql/calcite/util/SqlTestFramework.java | 4 +- .../druid/sql/calcite/util/TestDataBuilder.java | 2 +- .../org/apache/druid/sql/http/SqlResourceTest.java | 2 +- .../calcite/tests/window/lead_lag.sqlTest | 50 + .../calcite/tests/window/no_grouping.sqlTest | 29 + .../calcite/tests/window/simpleSum.sqlTest | 2 +- .../wikipediaAggregationsMultipleOrdering.sqlTest | 2 +- .../window/wikipediaCumulativeOrdered.sqlTest | 2 +- .../window/wikipediaFramedAggregations.sqlTest | 2 +- .../tests/window/wikipediaSimplePartition.sqlTest | 2 +- .../wikipediaSimplePartitionInitialSort.sqlTest | 2 +- .../drill/window/queries/aggregates/aggOWnFn_3.q | 2 +- .../drill/window/queries/aggregates/aggOWnFn_4.q | 2 +- .../window/queries/aggregates/wPrtnOrdrBy_1.q | 2 +- .../window/queries/aggregates/wPrtnOrdrBy_10.q | 2 +- .../window/queries/aggregates/wPrtnOrdrBy_4.q | 2 +- .../window/queries/aggregates/wPrtnOrdrBy_6.q | 2 +- .../window/queries/aggregates/wPrtnOrdrBy_8.q | 2 +- .../drill/window/queries/aggregates/winFnQry_76.q | 2 +- .../drill/window/queries/aggregates/winFnQry_77.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_1.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_10.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_11.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_12.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_13.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_14.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_15.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_16.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_17.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_18.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_19.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_2.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_20.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_21.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_22.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_23.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_24.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_25.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_26.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_3.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_4.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_5.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_6.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_7.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_8.q | 2 +- .../drill/window/queries/aggregates/wo_OrdrBy_9.q | 2 +- .../drill/window/queries/first_val/firstValFn_18.q | 2 +- .../drill/window/queries/first_val/firstValFn_19.q | 2 +- .../drill/window/queries/first_val/firstValFn_21.q | 2 +- .../drill/window/queries/first_val/firstValFn_22.q | 2 +- .../drill/window/queries/first_val/firstValFn_24.q | 2 +- .../drill/window/queries/first_val/firstValFn_25.q | 2 +- .../drill/window/queries/first_val/firstValFn_32.q | 2 +- .../frameclause/subQueries/frmInSubQry_26.q | 2 +- .../frameclause/subQueries/frmInSubQry_27.q | 2 +- .../frameclause/subQueries/frmInSubQry_28.q | 2 +- .../frameclause/subQueries/frmInSubQry_41.q | 2 +- .../frameclause/subQueries/frmInSubQry_42.q | 2 +- .../frameclause/subQueries/frmInSubQry_43.q | 2 +- .../frameclause/subQueries/frmInSubQry_44.q | 2 +- .../frameclause/subQueries/frmInSubQry_45.q | 2 +- .../frameclause/subQueries/frmInSubQry_46.q | 2 +- .../frameclause/subQueries/frmInSubQry_47.q | 2 +- .../frameclause/subQueries/frmInSubQry_48.q | 2 +- .../frameclause/subQueries/frmInSubQry_49.q | 2 +- .../drill/window/queries/lag_func/lag_Fn_100.q | 2 +- .../drill/window/queries/lag_func/lag_Fn_102.q | 2 +- .../drill/window/queries/lag_func/lag_Fn_103.q | 2 +- .../drill/window/queries/lag_func/lag_Fn_109.q | 2 +- .../drill/window/queries/lag_func/lag_Fn_111.q | 2 +- .../drill/window/queries/lag_func/lag_Fn_112.q | 2 +- .../drill/window/queries/lag_func/lag_Fn_17.q | 2 +- .../drill/window/queries/lag_func/lag_Fn_41.q | 2 +- .../drill/window/queries/lag_func/lag_Fn_42.q | 2 +- .../drill/window/queries/lag_func/lag_Fn_45.q | 2 +- .../drill/window/queries/lag_func/lag_Fn_62.q | 2 +- .../drill/window/queries/lag_func/lag_Fn_63.q | 2 +- .../drill/window/queries/lag_func/lag_Fn_64.q | 2 +- .../drill/window/queries/lag_func/lag_Fn_65.q | 2 +- .../drill/window/queries/lag_func/lag_Fn_70.q | 2 +- .../drill/window/queries/lag_func/lag_Fn_71.q | 2 +- .../drill/window/queries/lag_func/lag_Fn_77.q | 2 +- .../drill/window/queries/lag_func/lag_Fn_96.q | 2 +- .../drill/window/queries/lag_func/lag_Fn_97.q | 2 +- .../drill/window/queries/lag_func/lag_Fn_99.q | 2 +- .../drill/window/queries/last_val/lastValFn_18.q | 2 +- .../drill/window/queries/last_val/lastValFn_19.q | 2 +- .../drill/window/queries/last_val/lastValFn_21.q | 2 +- .../drill/window/queries/last_val/lastValFn_22.q | 2 +- .../drill/window/queries/last_val/lastValFn_24.q | 2 +- .../drill/window/queries/last_val/lastValFn_25.q | 2 +- .../drill/window/queries/last_val/lastValFn_33.q | 2 +- .../drill/window/queries/last_val/lastValFn_37.q | 2 +- .../drill/window/queries/lead_func/lead_Fn_104.q | 2 +- .../drill/window/queries/lead_func/lead_Fn_106.q | 2 +- .../drill/window/queries/lead_func/lead_Fn_107.q | 2 +- .../drill/window/queries/lead_func/lead_Fn_17.q | 2 +- .../drill/window/queries/lead_func/lead_Fn_27.q | 2 +- .../drill/window/queries/lead_func/lead_Fn_36.q | 2 +- .../drill/window/queries/lead_func/lead_Fn_45.q | 2 +- .../drill/window/queries/lead_func/lead_Fn_63.q | 2 +- .../drill/window/queries/lead_func/lead_Fn_64.q | 2 +- .../drill/window/queries/lead_func/lead_Fn_65.q | 2 +- .../drill/window/queries/lead_func/lead_Fn_70.q | 2 +- .../drill/window/queries/lead_func/lead_Fn_71.q | 2 +- .../drill/window/queries/lead_func/lead_Fn_8.q | 2 +- .../drill/window/queries/lead_func/lead_Fn_9.q | 2 +- .../drill/window/queries/lead_func/lead_Fn_91.q | 2 +- .../drill/window/queries/lead_func/lead_Fn_92.q | 2 +- .../drill/window/queries/lead_func/lead_Fn_94.q | 2 +- .../drill/window/queries/lead_func/lead_Fn_95.q | 2 +- .../drill/window/queries/lead_func/lead_Fn_97.q | 2 +- .../drill/window/queries/lead_func/lead_Fn_98.q | 2 +- .../drill/window/queries/nestedAggs/cte_win_01.q | 2 +- .../drill/window/queries/nestedAggs/cte_win_02.q | 2 +- .../drill/window/queries/nestedAggs/cte_win_03.q | 2 +- .../drill/window/queries/nestedAggs/cte_win_04.q | 2 +- .../drill/window/queries/ntile_func/ntileFn_57.q | 2 +- .../drill/window/queries/ntile_func/ntileFn_58.q | 2 +- web-console/e2e-tests/tutorial-batch.spec.ts | 2 +- web-console/package-lock.json | 2333 +- web-console/package.json | 8 +- web-console/src/components/auto-form/auto-form.tsx | 1 + .../fancy-numeric-input/fancy-numeric-input.tsx | 18 +- .../components/formatted-input/formatted-input.tsx | 2 + .../query-error-pane/query-error-pane.tsx | 6 +- .../src/components/table-cell/table-cell.scss | 1 + web-console/src/console-application.scss | 2 +- web-console/src/dialogs/index.ts | 1 + .../kill-datasource-dialog.tsx | 2 +- .../supervisor-reset-offsets-dialog.scss | 32 + .../supervisor-reset-offsets-dialog.tsx | 136 + .../druid-models/async-query/async-query.mock.ts | 16 +- .../coordinator-dynamic-config.mock.ts | 4 +- .../coordinator-dynamic-config.tsx | 76 +- web-console/src/druid-models/index.ts | 1 - .../ingest-query-pattern.spec.ts | 16 +- .../druid-models/ingestion-spec/ingestion-spec.tsx | 100 +- .../src/druid-models/input-format/input-format.tsx | 28 +- .../src/druid-models/input-source/input-source.tsx | 3 + .../workbench-query/workbench-query-part.ts | 261 - .../workbench-query/workbench-query.spec.ts | 143 +- .../workbench-query/workbench-query.ts | 430 +- web-console/src/helpers/capacity.ts | 13 +- .../src/helpers/execution/sql-task-execution.ts | 20 +- .../src/singletons/ace-editor-state-cache.ts | 6 +- .../src/singletons/execution-state-cache.ts | 6 - .../src/singletons/workbench-running-promises.ts | 8 +- web-console/src/utils/download.ts | 24 +- web-console/src/utils/druid-query.spec.ts | 39 +- web-console/src/utils/druid-query.ts | 38 +- web-console/src/utils/general.spec.ts | 17 +- web-console/src/utils/general.tsx | 23 +- web-console/src/utils/index.tsx | 1 - web-console/src/utils/query-cursor.ts | 60 - web-console/src/utils/sample-query.spec.tsx | 8 +- web-console/src/utils/sql.spec.ts | 355 + web-console/src/utils/sql.ts | 86 +- web-console/src/utils/types.ts | 3 + .../views/datasources-view/datasources-view.tsx | 4 +- .../explore-view/modules/table-react-module.tsx | 47 +- .../modules/time-chart-echarts-module.ts | 102 +- .../src/views/load-data-view/load-data-view.tsx | 8 +- .../column-editor/column-editor.tsx | 1 - .../expression-editor-dialog.tsx | 1 - .../schema-step/schema-step.tsx | 6 +- .../views/supervisors-view/supervisors-view.tsx | 25 +- web-console/src/views/tasks-view/tasks-view.tsx | 76 +- .../string-menu-items/string-menu-items.tsx | 12 +- .../src/views/workbench-view/demo-queries.ts | 2 +- .../execution-details-pane.tsx | 2 +- .../execution-stages-pane.tsx | 2 +- .../execution-summary-panel.tsx | 9 + .../flexible-query-input.spec.tsx.snap | 2 +- .../flexible-query-input/flexible-query-input.scss | 44 + .../flexible-query-input.spec.tsx | 6 +- .../flexible-query-input/flexible-query-input.tsx | 167 +- .../workbench-view/helper-query/helper-query.scss | 100 - .../workbench-view/helper-query/helper-query.tsx | 473 - .../input-source-step/input-source-step.tsx | 37 +- .../query-parameters-dialog.spec.tsx.snap | 457 + .../query-parameters-dialog.scss | 28 + .../query-parameters-dialog.spec.tsx | 42 + .../query-parameters-dialog.tsx | 152 + .../views/workbench-view/query-tab/query-tab.scss | 41 +- .../views/workbench-view/query-tab/query-tab.tsx | 123 +- .../views/workbench-view/run-panel/run-panel.tsx | 26 +- .../src/views/workbench-view/workbench-view.tsx | 11 +- website/.gitignore | 3 - website/.spelling | 14 + website/README.md | 2 +- website/core/Footer.js | 82 - website/docusaurus.config.js | 162 + website/package-lock.json | 28707 ++++++------------- website/package.json | 17 +- website/pages/en/index.js | 29 - website/pom.xml | 127 - website/redirects.js | 316 + website/redirects.json | 219 - website/script/build-to-docs | 58 - website/script/do-redirects.js | 99 - website/script/fix-docsearch.js | 45 - website/script/fix-path.js | 83 - website/script/link-lint.js | 91 - website/scss/custom.scss | 112 - website/sidebars.json | 136 +- website/siteConfig.js | 128 - website/src/css/customTheme.css | 29 + website/src/pages/community/cla.md | 25 + website/src/pages/community/index.mdx | 27 + website/src/pages/community/join-slack.md | 24 + website/src/pages/downloads.md | 23 + website/src/pages/druid-powered.md | 24 + website/src/pages/faq.md | 24 + website/src/pages/index.mdx | 24 + website/src/pages/libraries.md | 26 + website/src/pages/licensing.md | 26 + website/src/pages/technology.md | 25 + website/src/pages/use-cases.md | 25 + website/static/css/custom.css | 12 - 1375 files changed, 59284 insertions(+), 46306 deletions(-) delete mode 100644 codestyle/guava16-forbidden-apis.txt create mode 100644 doap_Druid.rdf delete mode 100644 docs/operations/getting-started.md create mode 100644 docs/querying/tips-good-queries.md create mode 100644 examples/quickstart/jupyter-notebooks/notebooks/02-ingestion/02-working-with-nested-columns.ipynb create mode 100644 examples/quickstart/jupyter-notebooks/notebooks/03-query/02-approxRanking.ipynb create mode 100644 examples/quickstart/jupyter-notebooks/notebooks/03-query/04-UnionOperations.ipynb create mode 100644 extensions-contrib/kubernetes-overlord-extensions/src/main/java/org/apache/druid/k8s/overlord/KubernetesAndWorkerTaskRunner.java create mode 100644 extensions-contrib/kubernetes-overlord-extensions/src/main/java/org/apache/druid/k8s/overlord/KubernetesAndWorkerTaskRunnerConfig.java create mode 100644 extensions-contrib/kubernetes-overlord-extensions/src/main/java/org/apache/druid/k8s/overlord/KubernetesAndWorkerTaskRunnerFactory.java create mode 100644 extensions-contrib/kubernetes-overlord-extensions/src/test/java/org/apache/druid/k8s/overlord/KubernetesAndWorkerTaskRunnerConfigTest.java create mode 100644 extensions-contrib/kubernetes-overlord-extensions/src/test/java/org/apache/druid/k8s/overlord/KubernetesAndWorkerTaskRunnerFactoryTest.java create mode 100644 extensions-contrib/kubernetes-overlord-extensions/src/test/java/org/apache/druid/k8s/overlord/KubernetesAndWorkerTaskRunnerTest.java create mode 100644 extensions-contrib/kubernetes-overlord-extensions/src/test/resources/expectedNoopJobNoTaskJson.yaml create mode 100644 extensions-contrib/kubernetes-overlord-extensions/src/test/resources/kubernetesAndWorkerTaskRunnerConfig.json create mode 100644 extensions-contrib/materialized-view-selection/src/test/java/org/apache/druid/query/materializedview/DataSourceOptimizerMonitorTest.java create mode 100644 extensions-contrib/prometheus-emitter/src/test/java/org/apache/druid/emitter/prometheus/PrometheusEmitterConfigTest.java create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/exec/SegmentLoadStatusFetcher.java create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/BaseLeafFrameProcessorManager.java delete mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/BroadcastJoinHelper.java create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/BroadcastJoinSegmentMapFnProcessor.java create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/ChainedProcessorManager.java create mode 100644 extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/querykit/SimpleSegmentMapFnProcessor.java create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/MSQDataSketchesTest.java create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/exec/SegmentLoadStatusFetcherTest.java delete mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/querykit/BroadcastJoinHelperTest.java create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/querykit/BroadcastJoinSegmentMapFnProcessorTest.java create mode 100644 extensions-core/multi-stage-query/src/test/java/org/apache/druid/msq/test/CalciteArraysQueryMSQTest.java create mode 100644 indexing-service/src/main/java/org/apache/druid/indexing/common/KillTaskReport.java create mode 100644 indexing-service/src/main/java/org/apache/druid/indexing/common/actions/SegmentTransactionalAppendAction.java create mode 100644 indexing-service/src/main/java/org/apache/druid/indexing/common/actions/SegmentTransactionalReplaceAction.java create mode 100644 indexing-service/src/test/java/org/apache/druid/indexing/common/task/concurrent/ActionsTestTask.java create mode 100644 indexing-service/src/test/java/org/apache/druid/indexing/common/task/concurrent/CommandQueueTask.java create mode 100644 indexing-service/src/test/java/org/apache/druid/indexing/common/task/concurrent/ConcurrentReplaceAndAppendTest.java create mode 100644 indexing-service/src/test/java/org/apache/druid/indexing/seekablestream/TestSeekableStreamDataSourceMetadata.java copy licenses/bin/{@babel-code-frame.MIT => @babel-helper-string-parser.MIT} (100%) create mode 100644 licenses/bin/commander.MIT create mode 100644 licenses/bin/d3-dsv.BSD3 create mode 100644 licenses/bin/iconv-lite.MIT create mode 100644 licenses/bin/rw.BSD3 create mode 100644 licenses/bin/safer-buffer.MIT create mode 100644 processing/src/main/java/org/apache/druid/error/InternalServerError.java create mode 100644 processing/src/main/java/org/apache/druid/frame/field/DoubleArrayFieldReader.java create mode 100644 processing/src/main/java/org/apache/druid/frame/field/FloatArrayFieldReader.java create mode 100644 processing/src/main/java/org/apache/druid/frame/field/LongArrayFieldReader.java create mode 100644 processing/src/main/java/org/apache/druid/frame/field/NumericArrayFieldReader.java create mode 100644 processing/src/main/java/org/apache/druid/frame/field/NumericArrayFieldSelector.java create mode 100644 processing/src/main/java/org/apache/druid/frame/field/NumericArrayFieldWriter.java create mode 100644 processing/src/main/java/org/apache/druid/frame/field/NumericFieldReader.java create mode 100644 processing/src/main/java/org/apache/druid/frame/field/NumericFieldWriter.java create mode 100644 processing/src/main/java/org/apache/druid/frame/field/NumericFieldWriterFactory.java create mode 100644 processing/src/main/java/org/apache/druid/frame/field/SettableFieldPointer.java create mode 100644 processing/src/main/java/org/apache/druid/frame/field/StringArrayFieldReader.java create mode 100644 processing/src/main/java/org/apache/druid/frame/field/TransformUtils.java create mode 100644 processing/src/main/java/org/apache/druid/frame/processor/manager/AccumulatingProcessorManager.java create mode 100644 processing/src/main/java/org/apache/druid/frame/processor/manager/ProcessorAndCallback.java create mode 100644 processing/src/main/java/org/apache/druid/frame/processor/manager/ProcessorManager.java create mode 100644 processing/src/main/java/org/apache/druid/frame/processor/manager/ProcessorManagers.java create mode 100644 processing/src/main/java/org/apache/druid/frame/processor/manager/SequenceProcessorManager.java create mode 100644 processing/src/main/java/org/apache/druid/frame/read/columnar/UnsupportedColumnTypeFrameColumnReader.java create mode 100644 processing/src/main/java/org/apache/druid/guice/ExpressionModule.java create mode 100644 processing/src/main/java/org/apache/druid/java/util/common/Unit.java delete mode 100644 processing/src/main/java/org/apache/druid/java/util/common/concurrent/ExecutorServiceConfig.java create mode 100644 processing/src/main/java/org/apache/druid/java/util/metrics/DruidMonitorSchedulerConfig.java delete mode 100644 processing/src/main/java/org/apache/druid/java/util/metrics/MonitorSchedulerConfig.java rename processing/src/main/java/org/apache/druid/math/expr/{BinaryOperatorExpr.java => BinaryEvalOpExprBase.java} (100%) create mode 100644 processing/src/main/java/org/apache/druid/query/DruidProcessingBufferConfig.java create mode 100644 processing/src/main/java/org/apache/druid/query/DruidProcessingIndexesConfig.java delete mode 100644 processing/src/main/java/org/apache/druid/query/GroupByMergedQueryRunner.java create mode 100644 processing/src/main/java/org/apache/druid/query/aggregation/any/NilVectorAggregator.java delete mode 100644 processing/src/main/java/org/apache/druid/query/aggregation/any/NumericNilVectorAggregator.java create mode 100644 processing/src/main/java/org/apache/druid/query/aggregation/first/DoubleFirstVectorAggregator.java create mode 100644 processing/src/main/java/org/apache/druid/query/aggregation/first/FloatFirstVectorAggregator.java create mode 100644 processing/src/main/java/org/apache/druid/query/aggregation/first/LongFirstVectorAggregator.java create mode 100644 processing/src/main/java/org/apache/druid/query/aggregation/first/NumericFirstVectorAggregator.java create mode 100644 processing/src/main/java/org/apache/druid/query/aggregation/first/SingleStringFirstDimensionVectorAggregator.java create mode 100644 processing/src/main/java/org/apache/druid/query/aggregation/first/StringFirstVectorAggregator.java create mode 100644 processing/src/main/java/org/apache/druid/query/aggregation/last/SingleStringLastDimensionVectorAggregator.java delete mode 100644 processing/src/main/java/org/apache/druid/query/groupby/GroupByQueryEngine.java delete mode 100644 processing/src/main/java/org/apache/druid/query/groupby/GroupByQueryHelper.java create mode 100644 processing/src/main/java/org/apache/druid/query/groupby/GroupByQueryResources.java create mode 100644 processing/src/main/java/org/apache/druid/query/groupby/GroupingEngine.java delete mode 100644 processing/src/main/java/org/apache/druid/query/groupby/resource/GroupByQueryResource.java delete mode 100644 processing/src/main/java/org/apache/druid/query/groupby/strategy/GroupByStrategy.java delete mode 100644 processing/src/main/java/org/apache/druid/query/groupby/strategy/GroupByStrategySelector.java delete mode 100644 processing/src/main/java/org/apache/druid/query/groupby/strategy/GroupByStrategyV1.java delete mode 100644 processing/src/main/java/org/apache/druid/query/groupby/strategy/GroupByStrategyV2.java create mode 100644 processing/src/main/java/org/apache/druid/query/scan/ScanResultValueIterator.java create mode 100644 processing/src/main/java/org/apache/druid/segment/DefaultColumnFormatConfig.java create mode 100644 processing/src/main/java/org/apache/druid/segment/NestedDataColumnHandlerV4.java delete mode 100644 processing/src/main/java/org/apache/druid/segment/NestedDataColumnIndexer.java create mode 100644 processing/src/main/java/org/apache/druid/segment/NestedDataColumnIndexerV4.java delete mode 100644 processing/src/main/java/org/apache/druid/segment/NestedDataColumnMerger.java create mode 100644 processing/src/main/java/org/apache/druid/segment/NestedDataColumnMergerV4.java create mode 100644 processing/src/main/java/org/apache/druid/segment/NestedDataColumnSchema.java delete mode 100644 processing/src/main/java/org/apache/druid/segment/NestedDataDimensionHandler.java delete mode 100644 processing/src/main/java/org/apache/druid/segment/NestedDataDimensionSchema.java create mode 100644 processing/src/main/java/org/apache/druid/tasklogs/TaskPayloadManager.java create mode 100644 processing/src/test/java/org/apache/druid/audit/NoopAuditManager.java delete mode 100644 processing/src/test/java/org/apache/druid/audit/TestAuditManager.java create mode 100644 processing/src/test/java/org/apache/druid/collections/bitmap/BatchIteratorAdapterTest.java create mode 100644 processing/src/test/java/org/apache/druid/common/UnitTest.java create mode 100644 processing/src/test/java/org/apache/druid/error/InternalServerErrorTest.java create mode 100644 processing/src/test/java/org/apache/druid/frame/field/DoubleArrayFieldReaderTest.java create mode 100644 processing/src/test/java/org/apache/druid/frame/field/FloatArrayFieldReaderTest.java create mode 100644 processing/src/test/java/org/apache/druid/frame/field/IndexArrayFieldPointer.java create mode 100644 processing/src/test/java/org/apache/druid/frame/field/LongArrayFieldReaderTest.java create mode 100644 processing/src/test/java/org/apache/druid/frame/field/TransformUtilsTest.java create mode 100644 processing/src/test/java/org/apache/druid/frame/processor/manager/SequenceProcessorManagerTest.java create mode 100644 processing/src/test/java/org/apache/druid/guice/NestedDataModuleTest.java create mode 100644 processing/src/test/java/org/apache/druid/query/aggregation/first/DoubleFirstVectorAggregationTest.java create mode 100644 processing/src/test/java/org/apache/druid/query/aggregation/first/FloatFirstVectorAggregationTest.java create mode 100644 processing/src/test/java/org/apache/druid/query/aggregation/first/LongFirstVectorAggregationTest.java create mode 100644 processing/src/test/java/org/apache/druid/query/aggregation/first/StringFirstVectorAggregatorTest.java create mode 100644 processing/src/test/java/org/apache/druid/query/expression/LookupExprMacroTest.java create mode 100644 processing/src/test/java/org/apache/druid/segment/DefaultColumnFormatsConfigTest.java delete mode 100644 processing/src/test/java/org/apache/druid/segment/NestedDataColumnIndexerTest.java create mode 100644 processing/src/test/java/org/apache/druid/segment/NestedDataColumnIndexerV4Test.java create mode 100644 processing/src/test/java/org/apache/druid/segment/NestedDataColumnSchemaTest.java create mode 100644 processing/src/test/java/org/apache/druid/segment/filter/ExpressionFilterNonStrictBooleansTest.java delete mode 100644 processing/src/test/java/org/apache/druid/segment/filter/ExpressionFilterStrictBooleansTest.java create mode 100644 processing/src/test/java/org/apache/druid/tasklogs/TaskPayloadManagerTest.java create mode 100644 server/src/main/java/org/apache/druid/discovery/BrokerClient.java create mode 100644 server/src/main/java/org/apache/druid/discovery/ClientUtils.java delete mode 100644 server/src/main/java/org/apache/druid/guice/DruidProcessingConfigModule.java delete mode 100644 server/src/main/java/org/apache/druid/guice/ExpressionModule.java create mode 100644 server/src/main/java/org/apache/druid/guice/LegacyBrokerParallelMergeConfigModule.java delete mode 100644 server/src/main/java/org/apache/druid/guice/annotations/CoordinatorIndexingServiceDuty.java delete mode 100644 server/src/main/java/org/apache/druid/guice/annotations/CoordinatorMetadataStoreManagementDuty.java create mode 100644 server/src/main/java/org/apache/druid/metadata/ReplaceTaskLock.java create mode 100644 server/src/main/java/org/apache/druid/query/BrokerParallelMergeConfig.java create mode 100644 server/src/main/java/org/apache/druid/query/LegacyBrokerParallelMergeConfig.java delete mode 100644 server/src/main/java/org/apache/druid/segment/realtime/DbSegmentPublisherConfig.java create mode 100644 server/src/main/java/org/apache/druid/server/SubqueryGuardrailHelper.java delete mode 100644 server/src/main/java/org/apache/druid/server/coordinator/CompactionStatistics.java create mode 100644 server/src/main/java/org/apache/druid/server/coordinator/CoordinatorConfigManager.java delete mode 100644 server/src/main/java/org/apache/druid/server/coordinator/KillStalePendingSegments.java create mode 100644 server/src/main/java/org/apache/druid/server/coordinator/MetadataManager.java create mode 100644 server/src/main/java/org/apache/druid/server/coordinator/balancer/DisabledCachingCostBalancerStrategyFactory.java create mode 100644 server/src/main/java/org/apache/druid/server/coordinator/balancer/SegmentToMoveCalculator.java create mode 100644 server/src/main/java/org/apache/druid/server/coordinator/compact/CompactionSegmentIterator.java create mode 100644 server/src/main/java/org/apache/druid/server/coordinator/compact/CompactionSegmentSearchPolicy.java create mode 100644 server/src/main/java/org/apache/druid/server/coordinator/compact/CompactionStatistics.java create mode 100644 server/src/main/java/org/apache/druid/server/coordinator/compact/CompactionStatus.java create mode 100644 server/src/main/java/org/apache/druid/server/coordinator/compact/NewestSegmentFirstIterator.java create mode 100644 server/src/main/java/org/apache/druid/server/coordinator/compact/NewestSegmentFirstPolicy.java create mode 100644 server/src/main/java/org/apache/druid/server/coordinator/compact/SegmentsToCompact.java delete mode 100644 server/src/main/java/org/apache/druid/server/coordinator/duty/CompactionSegmentIterator.java delete mode 100644 server/src/main/java/org/apache/druid/server/coordinator/duty/CompactionSegmentSearchPolicy.java create mode 100644 server/src/main/java/org/apache/druid/server/coordinator/duty/KillStalePendingSegments.java delete mode 100644 server/src/main/java/org/apache/druid/server/coordinator/duty/NewestSegmentFirstIterator.java delete mode 100644 server/src/main/java/org/apache/druid/server/coordinator/duty/NewestSegmentFirstPolicy.java create mode 100644 server/src/main/java/org/apache/druid/server/coordinator/duty/PrepareBalancerAndLoadQueues.java delete mode 100644 server/src/main/java/org/apache/druid/server/metrics/DruidMonitorSchedulerConfig.java create mode 100644 server/src/main/java/org/apache/druid/server/metrics/SubqueryCountStatsMonitor.java create mode 100644 server/src/main/java/org/apache/druid/server/metrics/SubqueryCountStatsProvider.java create mode 100644 server/src/test/java/org/apache/druid/discovery/BrokerClientTest.java create mode 100644 server/src/test/java/org/apache/druid/metadata/ReplaceTaskLockTest.java create mode 100644 server/src/test/java/org/apache/druid/metadata/SqlSegmentsMetadataManagerProviderTest.java create mode 100644 server/src/test/java/org/apache/druid/segment/realtime/RealtimeMetricsMonitorTest.java create mode 100644 server/src/test/java/org/apache/druid/server/QueryResultPusherTest.java create mode 100644 server/src/test/java/org/apache/druid/server/SubqueryGuardrailHelperTest.java create mode 100644 server/src/test/java/org/apache/druid/server/coordinator/balancer/BalancerStrategyFactoryTest.java create mode 100644 server/src/test/java/org/apache/druid/server/coordinator/balancer/SegmentToMoveCalculatorTest.java create mode 100644 server/src/test/java/org/apache/druid/server/coordinator/compact/NewestSegmentFirstIteratorTest.java create mode 100644 server/src/test/java/org/apache/druid/server/coordinator/compact/NewestSegmentFirstPolicyTest.java create mode 100644 server/src/test/java/org/apache/druid/server/coordinator/duty/KillStalePendingSegmentsTest.java delete mode 100644 server/src/test/java/org/apache/druid/server/coordinator/duty/NewestSegmentFirstIteratorTest.java delete mode 100644 server/src/test/java/org/apache/druid/server/coordinator/duty/NewestSegmentFirstPolicyTest.java create mode 100644 server/src/test/java/org/apache/druid/server/coordinator/loading/ReplicationThrottlerTest.java create mode 100644 services/src/test/java/org/apache/druid/cli/CreateTablesTest.java create mode 100644 services/src/test/java/org/apache/druid/cli/ValidateSegmentsTest.java delete mode 100644 services/src/test/resources/nested-test-aggs.json delete mode 100644 services/src/test/resources/nested-test-parser.json delete mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/expression/UnarySuffixOperatorConversion.java create mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/DecodeBase64UTFOperatorConversion.java delete mode 100644 sql/src/main/java/org/apache/druid/sql/calcite/rule/logical/DruidAggregateCaseToFilterRule.java create mode 100644 sql/src/test/java/org/apache/druid/sql/calcite/DecoupledIgnore.java create mode 100644 sql/src/test/resources/calcite/tests/window/lead_lag.sqlTest create mode 100644 sql/src/test/resources/calcite/tests/window/no_grouping.sqlTest create mode 100644 web-console/src/dialogs/supervisor-reset-offsets-dialog/supervisor-reset-offsets-dialog.scss create mode 100644 web-console/src/dialogs/supervisor-reset-offsets-dialog/supervisor-reset-offsets-dialog.tsx delete mode 100644 web-console/src/druid-models/workbench-query/workbench-query-part.ts delete mode 100644 web-console/src/utils/query-cursor.ts create mode 100644 web-console/src/utils/sql.spec.ts delete mode 100644 web-console/src/views/workbench-view/helper-query/helper-query.scss delete mode 100644 web-console/src/views/workbench-view/helper-query/helper-query.tsx create mode 100644 web-console/src/views/workbench-view/query-parameters-dialog/__snapshots__/query-parameters-dialog.spec.tsx.snap create mode 100644 web-console/src/views/workbench-view/query-parameters-dialog/query-parameters-dialog.scss create mode 100644 web-console/src/views/workbench-view/query-parameters-dialog/query-parameters-dialog.spec.tsx create mode 100644 web-console/src/views/workbench-view/query-parameters-dialog/query-parameters-dialog.tsx delete mode 100644 website/.gitignore delete mode 100644 website/core/Footer.js create mode 100644 website/docusaurus.config.js delete mode 100644 website/pages/en/index.js delete mode 100644 website/pom.xml create mode 100644 website/redirects.js delete mode 100644 website/redirects.json delete mode 100755 website/script/build-to-docs delete mode 100644 website/script/do-redirects.js delete mode 100644 website/script/fix-docsearch.js delete mode 100644 website/script/fix-path.js delete mode 100644 website/script/link-lint.js delete mode 100644 website/scss/custom.scss delete mode 100644 website/siteConfig.js create mode 100644 website/src/css/customTheme.css create mode 100644 website/src/pages/community/cla.md create mode 100644 website/src/pages/community/index.mdx create mode 100644 website/src/pages/community/join-slack.md create mode 100644 website/src/pages/downloads.md create mode 100644 website/src/pages/druid-powered.md create mode 100644 website/src/pages/faq.md create mode 100644 website/src/pages/index.mdx create mode 100644 website/src/pages/libraries.md create mode 100644 website/src/pages/licensing.md create mode 100644 website/src/pages/technology.md create mode 100644 website/src/pages/use-cases.md --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@druid.apache.org For additional commands, e-mail: commits-h...@druid.apache.org