This is an automated email from the ASF dual-hosted git repository.
Gabriel39 pushed a change to branch refact_reader_branch
in repository https://gitbox.apache.org/repos/asf/doris.git
omit dc2da7d83ea fix unsigned interger filtering (#64325)
omit 05656abdd18 Support topN filter (#64320)
omit 0f434000d3e fix timestamp (#64299)
omit 0a25d25839e Fix 06092 (#64268)
omit e0d21381b71 [fix](be) Resolve scan columns by name mapping (#64264)
omit 49307d52765 [improvement](be) Add new parquet page-level skip and
profile metrics (#64214)
omit 983d645102a Support read_dense_for_nullable (#64258)
omit 232ab73531f update (#64255)
omit 6d79ffdf924 fix coredump (#64250)
omit 7203e36c23d fix (#64245)
omit 041e53f0fd4 fix wrong slot id -> global index (#64219)
omit b3648ce3cf3 fix tests (#64181)
omit 1be063b5d93 fix test (#64176)
omit 5decd77b25d fix tests (#64173)
omit e9a9b14d5d6 fix tvf read (#64169)
omit 50e9d4e067a [refactor](be) Refine reader column mapping identifiers
(#64159)
omit ecb62eb94ae update (#64150)
omit f0975d5deb8 fix iceberg reader (#64142)
omit 7411ab9560a Fix conjunc (#64111)
omit 8805572c8da [feature](be) Support nested parquet struct predicate
pruning and stats filtering (#64098)
omit d6487e83cd9 [refactor](be) Simplify new parquet complex reader
assembly (#64078)
omit c7e07bf0f43 clone function context (#64079)
omit ef7b2f190fb Test 0603 (#64072)
omit 6e90911d358 [fix](be) Detach shared columns in table reader (#64055)
omit 475e48a1c70 [feature](be) Refactor file table reader stack
add 5969221a595 [fix](fe) Fix int overflow in BeIdComparator causing
stream load failure (#63565)
add 81cc0bfa5cf [fix](cloud) Deduplicate pending one-shot warm up jobs
(#62384)
add ca25452330e [fix](filecache) avoid duplicated FileCache counter
accumulation in NewOlapScanner (#61072)
add eeebf454f70 [fix](load) quote slot labels in routine-load legacy expr
translation to avoid reserved-keyword parse failure (#63747)
add 6a2f56a1d98 [fix](fe) Bound length in MysqlProto.readLenEncodedString
(#63604)
add 88185e89db7 [improvement](nereids) improve show frontends so slow
issue when we don't enable fqdn mode in fe.conf because of using dns resolve
firstly but not ip directly (#62139)
add e9a146d6367 [fix](connect) Align COM_RESET_CONNECTION behavior with
MySQL (#63884)
add 22d6467a8d4 [feature](tls) Add TLS framework (#64016)
add f3759f226c4 [improvement](maxcompute) Simplify FE block ID requests
for MaxCompute writes (#62880)
add 5e30738bad9 [enhance](job) refresh routine load lag more timely
(#63654)
add 58c101ad1f7 [fix](deps) change lzo download link (#63785)
add e9c618e1ad5 [fix](multi-catalog) fixes some issues caused by the
data_lake_reader refactoring #62306 and legacy issues (#62821)
add 75a85150216 [opt](memory) avoid retaining full segment key bounds
buffers (#63968)
add 724a333acb1 [feat](be) Add PLAIN_ENCODING_V3 binary plain page for the
V3 storage format (#63570)
add 0d8654bd33d [fix](be) Fix varbinary literal construction (#64089)
add 0def5012980 [dev](code-owner) add code owner for optimizer and mtmv
(#64101)
add f85e3a26b04 [chore](tools) Add release helper scripts for cutting a
source release candidate (#64062)
add 4a9d7d1f9a9 [improve](streaming-job) add from-to cdc WAL-search
timeout and stale-reader release (#64013)
add a1ce2cd5dcf [improve](streaming-job) support cdc_client JVM opts and
adopt externally-managed cdc_client (#63898)
add fc639a14a6c [docker] skip BE restart in terminating pod (#64118)
add adbff78c0a7 Revert "[Fix](variance) Fix sample variance/stddev NaN res
for single value" (#64099)
add e2c834003fc [regression-test](streaming-job) add cdc cases for
source/jdbc timezone and TIMESTAMP/timestamptz pk (#63543)
add a4857a55662 [fix](be) Release backend thrift service on shutdown
(#64110)
add da0cb3bc1b1 [fix](nereids) Make role-mapping keywords RULE/CEL/MAPPING
non-reserved (#64104)
add 66922d06bd0 [fix](streaming-job) fix postgres cdc multi-table
publication data loss and binlog duplicate key (#64075)
add 43cf4fd43af [fix](auto partition) keep load row metrics monotonic for
auto partition (#64109)
add 31b6fbb3e50 [opt](job) delay Kafka read committed zero-row retries
(#64046)
add 8de3a2fba9f [improvement](fe) Add configurable return mode for insert
publish timeout in ETL scenarios (#63919)
add a567cfe375e [fix](pipeline) fix comment-trigger workflow crash due to
GitHub API rate limit (#63304)
add 1834f8aa8e5 [chore](conf) Remove deprecated/unused FE/BE configs and
stale session variables (#63744)
add 092abb9dd85 [fix](fe) Align convert_tz folding with BE DST handling
(#64029)
add 691189aaad6 [fix](fe) Prevent unsafe runtime filter pushdown through
outer joins (#64102)
add 6e37a86a361 [fix](variant) Avoid mutating shared variant columns
(#64092)
add 98a7a7e9548 [improvement](fe) Preload external table metadata before
internal table lock in mixed queries (#64035)
add 2471d75d8f5 [Enhancement](be) Fix small_file_mgr to support HTTPS when
FE runs in HTTPS-only mode (#63918)
add c27fd0ba968 [refactor](be) Add operator IO wrappers (#64139)
add 6ac210bfc3d [improvement](fe) TopN lazy materialization support
struct/variant nested column pruning (#63736)
add dc7b50ce99e [fix](be) Avoid unsigned underflow in JSON modify path
(#63579)
add 3ab5d8b245d [opt](variant) Reduce sparse variant parse memory (#63970)
add e2aaee4d0ed [fix](serde) match STRUCT sub-fields by name when loading
JSON (#64011)
add 98119b95dfb [fix](variant) return raw string for element_at on
scalar-string variant (#64103)
add 20d68fee949 [fix](ann-index) Fix ANN IVF/PQ recall, avoid init-time
large ANN build-buffer reservation, and skip ANN index build for segments with
insufficient rows. (#64082)
add 236f8666029 [optimize](be) optimize floating fmod fast path (#64161)
add 20c58e46d4f [opt](memory) add BE-level cache for load tablet schemas
(#63508)
add 3ccb4b81e6a [Optimization](array) Avoid materializing const array
columns in element_at (#64175)
add 15add0fc4c4 [fix](partition_prune) Avoid incorrect convert_tz
partition pruning across DST transitions (#63853)
add 5d97b29034a [improvement](be) Optimize count on nullable column
(#64166)
add 62dc78fbb00 [fix](logstash) Replace HttpClient5 async with HttpClient4
sync to fix CircularRedirectException (1.2.0 -> 1.2.1) (#63181)
add 2867e9c0d21 [enhance](struct) Merge struct_element into element_at
(#64027)
add 11a038d87d1 [fix](be) Stop extra operator work after cancellation
(#64077)
add 441f28ae76c [fix](cloud) Fix double assignment in recycler_service.cpp
that cause⦠(#64168)
add ba6a4439eb5 [improvement](fe) Balance runtime filter coordinator
selection (#64130)
add fee3bab76b5 [fix](test) replace removed struct_element with element_at
in regression suites (#64204)
add 4f8ac0954ac [fix](ci) rm some infos (#63228)
add 79226c65326 [fix](fe) Fix datediff folding for zero date (#64084)
add 8255f94bc5f [fix](nereids) Guard UniqueFunction in multiple
filter/topn pushdown rules (#62742)
add f7eac4e7401 [opt](cloud) cache cluster id per query and drop redundant
locks on getBackendId hot path (#63636)
add ab930cd39b7 [chore](build) Update doris-skills submodule (#64240)
add 08b37d52121 [opt](recycler) Optimize rowset recycling for recycler
(#63295)
add 4c4c708cd7f [chore](distribute plan) add Javadoc to
UnassignedJob.computeAssignedJobs and related methods (#63743)
add ad06c797216 [fix](storage) Fix linker error for
SegmentWriter::_is_mow() with -O1/-O3 (#63928)
add 8e19a410cc9 [chore](deps) remove unused commons-lang (2.x) from fe
(#64196)
add 3538497d40b [fix](insert) enable_insert_strict should not affect
semantic of enable_strict_cast (#63794)
add 8ed5a9b2184 [test](iceberg) Add iceberg-v1 hidden row-id column
regression test. (#64144)
add a83ac5125b3 [fix](be) Fix ColumnComplexTest.GetDataAtTest ut failure
(#64185)
add fa64a2eb0f0 [fix](nereids) Guard LogicalView.computeOutput() against
schema drift (IndexOutOfBoundsException) (#64007)
add 2366edffcc6 [bug](iceberg) fix can't get migrated Iceberg tables
format type (#64134)
add 3ece7b5ddc6 [Enhancement](pyudf) Enhance Python process poll init and
repair (#64039)
add 952aede1883 [fix](be) Rename CPU time profile counter (#64238)
add fa91940f8b7 [fix](cloud) Validate recycle rowset key state during
commit rowset (#63985)
add 5ff34855dd2 [fix](function) keep struct_element as an alias of
element_at (#64261)
add 1dd430be7f6 [fix](variant) Reject COUNT DISTINCT on variant arguments
(#63479)
add 6fc8f333400 [fix](fe) Improve MaxCompute catalog validation (#64119)
add 716365826ed [iceberg](fix) Fetch comment PROP from table meta (#64263)
add d1377414429 [fix](cloud) Prevent tablet KV leak after partial recycle
failure (#63377)
add 070f12916f5 [refactor](be) Remove redundant casts from BE code (#64087)
add cff772940bc [chore](codeowner) add more code owners for segment dir
(#64311)
add b8bfe9b7ca0 [fix](variant) fix wrong element type inference for
mixed-type arrays in VARIANT sparse columns (#64273)
add c333631534b [chore](ci) Record Codex review traces in Litefuse (#64319)
add 6a25e4cc74e [fix](ci) Run Codex review without workspace sandbox
(#64323)
add 15c3fc640fc [refactor](be) Refactor file table reader stack
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 (dc2da7d83ea)
\
N -- N -- N refs/heads/refact_reader_branch (15c3fc640fc)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.asf.yaml | 2 +-
.github/CODEOWNERS | 9 +-
.github/scripts/emit_litefuse_otel_io.py | 829 ++++++++++++++
.github/workflows/comment-to-trigger-teamcity.yml | 6 +
.github/workflows/opencode-review-runner.yml | 199 +++-
.gitleaks.toml | 7 +
be/CMakeLists.txt | 11 +
be/benchmark/benchmark_binary_plain_page_v2.hpp | 368 ++++++
be/benchmark/benchmark_fmod.hpp | 442 ++++++++
be/benchmark/benchmark_main.cpp | 32 +-
be/src/agent/heartbeat_server.cpp | 17 -
be/src/agent/heartbeat_server.h | 5 -
be/src/cloud/cloud_backend_service.cpp | 17 +-
be/src/cloud/cloud_backend_service.h | 6 +-
be/src/cloud/cloud_meta_mgr.cpp | 2 +
be/src/cloud/config.cpp | 4 -
be/src/cloud/config.h | 3 -
be/src/common/config.cpp | 123 ++-
be/src/common/config.h | 75 +-
be/src/common/utils.h | 36 +
be/src/core/column/column_variant.cpp | 6 +-
.../data_type/data_type_date_or_datetime_v2.cpp | 8 +-
be/src/core/data_type/data_type_decimal.cpp | 2 +-
be/src/core/data_type/data_type_struct.cpp | 8 +-
be/src/core/data_type/data_type_variant.cpp | 42 +-
.../core/data_type_serde/data_type_array_serde.cpp | 20 +-
.../data_type_serde/data_type_decimal_serde.cpp | 4 +-
.../core/data_type_serde/data_type_hll_serde.cpp | 2 +-
.../data_type_serde/data_type_number_serde.cpp | 2 +-
.../data_type_serde/data_type_struct_serde.cpp | 73 +-
be/src/core/field.h | 4 +
be/src/core/value/vdatetime_value.h | 5 +-
be/src/exec/common/hex.h | 4 +-
be/src/exec/common/variant_util.cpp | 60 +-
.../exec/exchange/local_exchange_sink_operator.cpp | 2 +-
.../exec/exchange/local_exchange_sink_operator.h | 2 +-
.../exchange/local_exchange_source_operator.cpp | 2 +-
.../exec/exchange/local_exchange_source_operator.h | 2 +-
be/src/exec/exchange/vdata_stream_recvr.cpp | 2 +-
be/src/exec/operator/aggregation_sink_operator.cpp | 2 +-
be/src/exec/operator/aggregation_sink_operator.h | 2 +-
.../exec/operator/aggregation_source_operator.cpp | 2 +-
be/src/exec/operator/aggregation_source_operator.h | 2 +-
be/src/exec/operator/analytic_sink_operator.cpp | 7 +-
be/src/exec/operator/analytic_sink_operator.h | 4 +-
be/src/exec/operator/analytic_source_operator.cpp | 3 +-
be/src/exec/operator/analytic_source_operator.h | 2 +-
be/src/exec/operator/blackhole_sink_operator.cpp | 2 +-
be/src/exec/operator/blackhole_sink_operator.h | 2 +-
.../bucketed_aggregation_sink_operator.cpp | 2 +-
.../operator/bucketed_aggregation_sink_operator.h | 2 +-
.../bucketed_aggregation_source_operator.cpp | 2 +-
.../bucketed_aggregation_source_operator.h | 2 +-
be/src/exec/operator/cache_sink_operator.cpp | 2 +-
be/src/exec/operator/cache_sink_operator.h | 2 +-
be/src/exec/operator/cache_source_operator.cpp | 2 +-
be/src/exec/operator/cache_source_operator.h | 2 +-
be/src/exec/operator/datagen_operator.cpp | 2 +-
be/src/exec/operator/datagen_operator.h | 2 +-
be/src/exec/operator/dict_sink_operator.cpp | 2 +-
be/src/exec/operator/dict_sink_operator.h | 2 +-
be/src/exec/operator/empty_set_operator.cpp | 2 +-
be/src/exec/operator/empty_set_operator.h | 2 +-
be/src/exec/operator/exchange_sink_operator.cpp | 2 +-
be/src/exec/operator/exchange_sink_operator.h | 2 +-
be/src/exec/operator/exchange_source_operator.cpp | 2 +-
be/src/exec/operator/exchange_source_operator.h | 2 +-
.../operator/group_commit_block_sink_operator.cpp | 2 +-
.../operator/group_commit_block_sink_operator.h | 2 +-
.../exec/operator/group_commit_scan_operator.cpp | 2 +-
be/src/exec/operator/group_commit_scan_operator.h | 2 +-
be/src/exec/operator/hashjoin_build_sink.cpp | 2 +-
be/src/exec/operator/hashjoin_build_sink.h | 2 +-
be/src/exec/operator/hive_table_sink_operator.h | 2 +-
.../exec/operator/iceberg_delete_sink_operator.h | 2 +-
be/src/exec/operator/iceberg_merge_sink_operator.h | 2 +-
be/src/exec/operator/iceberg_table_sink_operator.h | 2 +-
be/src/exec/operator/jdbc_table_sink_operator.cpp | 2 +-
be/src/exec/operator/jdbc_table_sink_operator.h | 2 +-
.../operator/local_merge_sort_source_operator.cpp | 2 +-
.../operator/local_merge_sort_source_operator.h | 2 +-
be/src/exec/operator/materialization_opertor.cpp | 2 +-
.../exec/operator/maxcompute_table_sink_operator.h | 2 +-
.../exec/operator/memory_scratch_sink_operator.cpp | 2 +-
.../exec/operator/memory_scratch_sink_operator.h | 2 +-
be/src/exec/operator/mock_operator.h | 2 +-
be/src/exec/operator/mock_scan_operator.h | 2 +-
.../exec/operator/multi_cast_data_stream_sink.cpp | 2 +-
be/src/exec/operator/multi_cast_data_stream_sink.h | 2 +-
.../operator/multi_cast_data_stream_source.cpp | 4 +-
.../exec/operator/multi_cast_data_stream_source.h | 2 +-
.../operator/nested_loop_join_build_operator.cpp | 8 +-
.../operator/nested_loop_join_build_operator.h | 2 +-
be/src/exec/operator/olap_table_sink_operator.h | 2 +-
be/src/exec/operator/olap_table_sink_v2_operator.h | 2 +-
be/src/exec/operator/operator.cpp | 6 +-
be/src/exec/operator/operator.h | 23 +-
.../exec/operator/partition_sort_sink_operator.cpp | 2 +-
.../exec/operator/partition_sort_sink_operator.h | 2 +-
.../operator/partition_sort_source_operator.cpp | 4 +-
.../exec/operator/partition_sort_source_operator.h | 2 +-
.../partitioned_aggregation_sink_operator.cpp | 5 +-
.../partitioned_aggregation_sink_operator.h | 2 +-
.../partitioned_aggregation_source_operator.cpp | 6 +-
.../partitioned_aggregation_source_operator.h | 2 +-
.../partitioned_hash_join_probe_operator.cpp | 6 +-
.../partitioned_hash_join_probe_operator.h | 2 +-
.../partitioned_hash_join_sink_operator.cpp | 3 +-
.../operator/partitioned_hash_join_sink_operator.h | 2 +-
.../exec/operator/rec_cte_anchor_sink_operator.h | 2 +-
be/src/exec/operator/rec_cte_scan_operator.h | 2 +-
be/src/exec/operator/rec_cte_sink_operator.h | 2 +-
be/src/exec/operator/rec_cte_source_operator.h | 2 +-
be/src/exec/operator/result_file_sink_operator.cpp | 2 +-
be/src/exec/operator/result_file_sink_operator.h | 2 +-
be/src/exec/operator/result_sink_operator.cpp | 2 +-
be/src/exec/operator/result_sink_operator.h | 2 +-
be/src/exec/operator/scan_operator.cpp | 2 +-
be/src/exec/operator/scan_operator.h | 4 +-
be/src/exec/operator/schema_scan_operator.cpp | 2 +-
be/src/exec/operator/schema_scan_operator.h | 2 +-
be/src/exec/operator/set_probe_sink_operator.cpp | 3 +-
be/src/exec/operator/set_probe_sink_operator.h | 2 +-
be/src/exec/operator/set_sink_operator.cpp | 2 +-
be/src/exec/operator/set_sink_operator.h | 2 +-
be/src/exec/operator/set_source_operator.cpp | 3 +-
be/src/exec/operator/set_source_operator.h | 2 +-
be/src/exec/operator/sort_sink_operator.cpp | 2 +-
be/src/exec/operator/sort_sink_operator.h | 2 +-
be/src/exec/operator/sort_source_operator.cpp | 2 +-
be/src/exec/operator/sort_source_operator.h | 2 +-
.../operator/spill_iceberg_table_sink_operator.cpp | 3 +-
.../operator/spill_iceberg_table_sink_operator.h | 2 +-
be/src/exec/operator/spill_sort_sink_operator.cpp | 6 +-
be/src/exec/operator/spill_sort_sink_operator.h | 2 +-
.../exec/operator/spill_sort_source_operator.cpp | 5 +-
be/src/exec/operator/spill_sort_source_operator.h | 2 +-
be/src/exec/operator/spill_utils.h | 2 +
be/src/exec/operator/tvf_table_sink_operator.h | 2 +-
be/src/exec/operator/union_sink_operator.cpp | 2 +-
be/src/exec/operator/union_sink_operator.h | 2 +-
be/src/exec/operator/union_source_operator.cpp | 2 +-
be/src/exec/operator/union_source_operator.h | 2 +-
be/src/exec/pipeline/pipeline_task.cpp | 3 +-
be/src/exec/scan/file_scanner.cpp | 114 +-
be/src/exec/scan/file_scanner.h | 1 +
be/src/exec/scan/olap_scanner.cpp | 42 +-
be/src/exec/scan/olap_scanner.h | 3 -
be/src/exec/sink/vrow_distribution.cpp | 3 -
.../sink/writer/maxcompute/vmc_table_writer.cpp | 6 +
be/src/exec/sink/writer/vtablet_writer.cpp | 7 +-
be/src/exec/sink/writer/vtablet_writer_v2.cpp | 7 +-
be/src/exprs/aggregate/aggregate_function_count.h | 23 +-
be/src/exprs/aggregate/aggregate_function_stddev.h | 28 +-
be/src/exprs/bloom_filter_func_adaptor.h | 2 +-
.../function/array/function_array_element.cpp | 2 +
.../exprs/function/array/function_array_element.h | 232 +++-
be/src/exprs/function/cast/cast_to_variant.h | 68 +-
be/src/exprs/function/divide.cpp | 2 +-
be/src/exprs/function/fmod_fast.cpp | 160 +++
be/src/exprs/function/fmod_fast.h | 41 +
be/src/exprs/function/function_conv.cpp | 4 +-
be/src/exprs/function/function_convert_tz.cpp | 21 +-
.../function_date_or_datetime_computation.h | 2 +-
be/src/exprs/function/function_jsonb.cpp | 8 +-
be/src/exprs/function/function_string_search.cpp | 26 +-
be/src/exprs/function/function_struct_element.cpp | 148 ---
be/src/exprs/function/function_variant_element.cpp | 9 +
be/src/exprs/function/modulo.cpp | 68 +-
be/src/exprs/function/simple_function_factory.h | 2 -
be/src/exprs/vexpr.cpp | 4 +
be/src/exprs/vexpr.h | 11 +-
be/src/format/generic_reader.h | 2 +-
be/src/format/jni/jni_reader.cpp | 84 ++
be/src/format/jni/jni_reader.h | 6 +
be/src/format/orc/vorc_reader.cpp | 11 +-
be/src/format/parquet/vparquet_group_reader.cpp | 14 +-
be/src/format/parquet/vparquet_reader.cpp | 7 +-
be/src/format/table/hive_reader.cpp | 14 +-
be/src/format/table/hudi_reader.cpp | 10 +-
be/src/format/table/iceberg_reader.cpp | 66 +-
be/src/format/table/iceberg_reader_mixin.h | 2 +-
be/src/format/table/paimon_cpp_reader.cpp | 77 ++
be/src/format/table/paimon_cpp_reader.h | 6 +
be/src/format/table/paimon_predicate_converter.cpp | 2 +-
be/src/format/table/paimon_reader.cpp | 6 +
be/src/format/table/partition_column_filler.h | 76 ++
be/src/format/table/table_format_reader.cpp | 24 +-
be/src/format/table/table_format_reader.h | 25 +-
be/src/format/table/table_schema_change_helper.cpp | 330 ++++++
be/src/format/table/table_schema_change_helper.h | 25 +
be/src/format/table/transactional_hive_reader.cpp | 10 +-
be/src/io/CMakeLists.txt | 5 +-
be/src/io/cache/block_file_cache_factory.cpp | 6 +-
be/src/io/cache/fs_file_cache_storage.cpp | 4 +-
be/src/io/fs/s3_file_writer.cpp | 2 +-
be/src/load/delta_writer/delta_writer_v2.cpp | 42 +-
be/src/load/routine_load/data_consumer.h | 2 +-
be/src/runtime/cdc_client_mgr.cpp | 77 +-
be/src/runtime/cdc_client_mgr.h | 4 +
be/src/runtime/small_file_mgr.cpp | 46 +-
be/src/service/CMakeLists.txt | 8 +
be/src/service/backend_service.cpp | 20 +-
be/src/service/backend_service.h | 14 +-
be/src/service/brpc_service.cpp | 121 --
be/src/service/doris_main.cpp | 69 +-
be/src/service/http/ev_http_server.cpp | 1 +
be/src/service/http/ev_http_server.h | 16 +-
be/src/service/http/http_request.h | 2 +
be/src/service/http/utils.cpp | 8 +
be/src/service/http_service.cpp | 5 +
be/src/service/http_service.h | 1 +
be/src/service/point_query_executor.h | 2 +-
be/src/service/server/be_server_starter_factory.h | 52 +
.../server/oss/be_server_starter_factory.cpp | 317 ++++++
.../{brpc_service.h => server/server_starter.h} | 31 +-
be/src/storage/index/ann/ann_index_writer.cpp | 119 +-
be/src/storage/index/ann/ann_index_writer.h | 20 +-
be/src/storage/index/ann/faiss_ann_index.cpp | 6 +-
.../token_filter/word_delimiter_iterator.cpp | 5 +-
be/src/storage/rowset/beta_rowset_writer.cpp | 43 +-
be/src/storage/rowset_builder.cpp | 38 +-
be/src/storage/segment/binary_dict_page.cpp | 15 +-
be/src/storage/segment/binary_dict_page.h | 5 +-
.../storage/segment/binary_dict_page_pre_decoder.h | 11 +-
be/src/storage/segment/binary_plain_page_v3.h | 175 +++
.../segment/binary_plain_page_v3_pre_decoder.h | 190 ++++
be/src/storage/segment/bitshuffle_page.h | 4 +-
be/src/storage/segment/column_writer.cpp | 6 +-
be/src/storage/segment/encoding_info.cpp | 55 +-
.../storage/segment/historical_row_retriever.cpp | 2 +-
be/src/storage/segment/options.h | 9 +-
be/src/storage/segment/segment_writer.cpp | 8 -
be/src/storage/segment/segment_writer.h | 8 +-
.../segment/variant/variant_column_reader.cpp | 2 +-
.../segment/variant/variant_column_writer_impl.cpp | 514 +++++++--
.../segment/variant/variant_column_writer_impl.h | 6 +
be/src/storage/segment/vertical_segment_writer.cpp | 8 -
be/src/storage/segment/vertical_segment_writer.h | 8 +-
be/src/storage/tablet/tablet.cpp | 4 +-
be/src/storage/tablet/tablet_schema_cache.cpp | 88 ++
be/src/storage/tablet/tablet_schema_cache.h | 17 +
be/src/storage/tablet_info.h | 2 +-
be/src/udf/python/python_server.cpp | 570 +++++++---
be/src/udf/python/python_server.h | 50 +-
be/src/udf/python/python_udf_runtime.cpp | 220 +++-
be/src/udf/python/python_udf_runtime.h | 15 +-
be/src/util/CMakeLists.txt | 5 +
be/src/util/brpc_client_cache.h | 5 +
.../client_connection_provider.h} | 29 +-
be/src/util/jni-util.cpp | 6 +-
be/src/util/jni-util.h | 3 +-
be/src/util/jni_native_method.cpp | 129 ---
be/src/util/jni_native_method.h | 4 -
.../oss/client_connection_provider.cpp} | 19 +-
be/src/util/thrift_client.cpp | 11 +
be/src/util/thrift_client.h | 6 +-
be/src/util/url_coding.cpp | 3 +-
be/test/CMakeLists.txt | 31 +-
be/test/core/block/column_complex_test.cpp | 8 +-
be/test/core/column/column_variant_test.cpp | 57 +
.../data_type_serde/data_type_serde_array_test.cpp | 178 +++
.../data_type_serde_struct_test.cpp | 103 ++
be/test/exec/operator/agg_operator_test.cpp | 2 +-
.../exec/operator/analytic_sink_operator_test.cpp | 66 +-
.../nested_loop_join_build_operator_test.cpp | 141 +++
.../operator/partition_sort_sink_operator_test.cpp | 4 +-
.../partitioned_aggregation_sink_operator_test.cpp | 28 +-
...artitioned_aggregation_source_operator_test.cpp | 48 +
.../operator/partitioned_aggregation_test_helper.h | 4 +-
.../partitioned_hash_join_probe_operator_test.cpp | 33 +
.../partitioned_hash_join_sink_operator_test.cpp | 26 +
.../operator/partitioned_hash_join_test_helper.h | 4 +-
.../exec/operator/query_cache_operator_test.cpp | 4 +-
be/test/exec/operator/sort_operator_test.cpp | 4 +-
.../operator/spill_sort_sink_operator_test.cpp | 79 ++
.../operator/spill_sort_source_operator_test.cpp | 20 +
be/test/exec/operator/spill_sort_test_helper.h | 2 +-
.../exec/operator/streaming_agg_operator_test.cpp | 4 +-
.../exec/operator/table_function_operator_test.cpp | 4 +-
be/test/exec/pipeline/vdata_stream_recvr_test.cpp | 18 +
be/test/exprs/aggregate/agg_count_test.cpp | 21 +
.../function/cast/function_variant_cast_test.cpp | 57 +
.../exprs/function/function_array_element_test.cpp | 230 ++++
...est.cpp => function_element_at_struct_test.cpp} | 60 +-
be/test/exprs/function/function_fmod_fast_test.cpp | 353 ++++++
be/test/exprs/function/function_jsonb_test.cpp | 24 +
be/test/exprs/function/function_time_test.cpp | 17 +
.../function/function_variant_element_test.cpp | 38 +
be/test/exprs/vexpr_test.cpp | 26 +-
be/test/format/parquet/parquet_reader_test.cpp | 2 +
be/test/format/table/table_format_reader_test.cpp | 3 +-
.../table/table_schema_change_helper_test.cpp | 98 ++
be/test/runtime/cdc_client_mgr_test.cpp | 24 +
be/test/runtime/runtime_profile_test.cpp | 20 +
.../server/be_server_starter_factory_test.cpp} | 30 +-
.../storage/index/ann/ann_index_writer_test.cpp | 677 +++++-------
be/test/storage/segment/binary_dict_page_test.cpp | 97 +-
.../storage/segment/binary_plain_page_v3_test.cpp | 566 ++++++++++
.../storage/segment/column_meta_accessor_test.cpp | 2 +-
be/test/storage/segment/encoding_info_test.cpp | 43 +-
.../segment/segment_writer_mow_check_test.cpp | 200 ++++
.../segment/variant_column_writer_reader_test.cpp | 952 ++++++++++++++++
be/test/storage/segment/variant_util_test.cpp | 276 ++++-
.../storage/tablet/tablet_schema_cache_test.cpp | 125 +++
be/test/testutil/mock/mock_operators.h | 4 +-
be/test/udf/python/python_server_test.cpp | 364 +++++-
be/test/udf/python/python_udf_runtime_test.cpp | 89 ++
be/test/util/profile_spec_test.cpp | 4 +-
build.sh | 160 ++-
cloud/CMakeLists.txt | 22 +-
cloud/src/common/CMakeLists.txt | 8 +
cloud/src/common/config.h | 15 +
cloud/src/common/sync_executor.h | 6 +-
cloud/src/main.cpp | 26 +-
cloud/src/meta-service/meta_service.cpp | 125 ++-
cloud/src/recycler/recycler.cpp | 502 ++++++---
cloud/src/recycler/recycler.h | 13 +-
cloud/src/recycler/recycler_service.cpp | 2 +-
.../src/server/cloud_server_starter_factory.h | 31 +-
.../server/oss/cloud_server_starter_factory.cpp | 87 ++
cloud/test/CMakeLists.txt | 34 +-
cloud/test/meta_service_test.cpp | 87 +-
cloud/test/mock_accessor.h | 2 +-
cloud/test/recycler_operation_log_test.cpp | 12 +-
cloud/test/recycler_test.cpp | 735 +++++++++++-
.../be/resource/be_disaggregated_entrypoint.sh | 11 +
.../create_preinstalled_scripts/iceberg/run10.sql | 4 +-
.../create_preinstalled_scripts/iceberg/run24.sql | 4 +-
doris-skills | 2 +-
extension/logstash/README.md | 50 +-
extension/logstash/lib/logstash/outputs/doris.rb | 89 +-
extension/logstash/logstash-output-doris.gemspec | 4 +-
fe/be-java-extensions/java-common/pom.xml | 5 -
.../doris/common/jni/utils/JNINativeMethod.java | 4 -
.../max-compute-connector/pom.xml | 6 +
.../doris/maxcompute/MaxComputeFeClient.java | 326 ++++++
.../doris/maxcompute/MaxComputeJniWriter.java | 11 +-
.../doris/maxcompute/MaxComputeFeClientTest.java | 177 +++
.../org/apache/doris/paimon/PaimonJniScanner.java | 20 +-
.../apache/doris/paimon/PaimonJniScannerTest.java} | 25 +-
fe/be-java-extensions/preload-extensions/pom.xml | 5 -
.../main/java/org/apache/doris/common/Config.java | 122 +-
.../java/org/apache/doris/common/ConfigBase.java | 29 +
.../org/apache/doris/common/util/SqlUtils.java | 14 +
.../doris/job/cdc/request/WriteRecordRequest.java | 1 +
.../api/scan/ConnectorPartitionValues.java | 73 ++
.../apache/doris/connector/hudi/HudiScanRange.java | 6 +-
.../doris/connector/paimon/PaimonScanRange.java | 12 +-
.../src/main/java/org/apache/doris/DorisFE.java | 31 +-
.../java/org/apache/doris/alter/AlterJobV2.java | 2 +-
.../java/org/apache/doris/analysis/TlsOptions.java | 14 +-
.../org/apache/doris/analysis/UserIdentity.java | 33 +
.../auth/certificate/CertificateAuthDecision.java | 85 ++
.../certificate/CertificateRuntimeAuthFactory.java | 59 +
.../certificate/CertificateRuntimeAuthService.java | 16 +-
.../auth/certificate/ForwardedCertificateInfo.java | 77 ++
.../NoOpCertificateRuntimeAuthService.java | 37 +-
.../doris/auth/certificate/SanEntryCodec.java | 145 +++
.../StreamLoadCertificateAuthHelper.java | 50 +
.../doris/catalog/BuiltinScalarFunctions.java | 5 +-
.../java/org/apache/doris/catalog/TableIf.java | 14 +
.../apache/doris/cloud/CacheHotspotManager.java | 210 +++-
.../apache/doris/cloud/catalog/CloudReplica.java | 125 +--
.../apache/doris/cloud/catalog/CloudTablet.java | 15 +-
.../apache/doris/cloud/rpc/MetaServiceClient.java | 23 +-
.../rpc/MetaServiceClientChannelProvider.java | 15 +-
.../MetaServiceClientChannelProviderFactory.java | 46 +
.../apache/doris/cloud/rpc/MetaServiceProxy.java | 8 +-
.../rpc/OssMetaServiceClientChannelProvider.java | 44 +
.../doris/cloud/system/CloudSystemInfoService.java | 95 +-
.../java/org/apache/doris/common/GenericPool.java | 12 +-
.../common/OssThriftClientTransportProvider.java | 37 +-
.../common/ThriftClientTransportProvider.java | 15 +-
.../ThriftClientTransportProviderFactory.java | 43 +
.../doris/common/ThriftServerEventProcessor.java | 15 +-
.../doris/common/proc/FrontendsProcNode.java | 56 +-
.../doris/common/profile/SummaryProfile.java | 29 +-
.../apache/doris/datasource/ExternalCatalog.java | 15 +
.../apache/doris/datasource/ExternalDatabase.java | 15 +
.../org/apache/doris/datasource/FileGroupInfo.java | 23 +-
.../doris/datasource/FilePartitionUtils.java | 79 +-
.../apache/doris/datasource/FileQueryScanNode.java | 17 +-
.../datasource/PluginDrivenExternalTable.java | 25 +
.../doris/datasource/hive/HMSExternalTable.java | 12 +
.../datasource/hive/HiveExternalMetaCache.java | 3 +-
.../doris/datasource/hudi/source/HudiScanNode.java | 6 +-
.../datasource/iceberg/IcebergExternalTable.java | 23 +
.../doris/datasource/iceberg/IcebergUtils.java | 104 +-
.../datasource/iceberg/source/IcebergScanNode.java | 62 +-
.../doris/datasource/maxcompute/MCTransaction.java | 11 +-
.../maxcompute/MaxComputeExternalCatalog.java | 70 +-
.../maxcompute/MaxComputeExternalTable.java | 11 +
.../maxcompute/source/MaxComputeScanNode.java | 5 +
.../datasource/paimon/PaimonExternalTable.java | 10 +
.../apache/doris/datasource/paimon/PaimonUtil.java | 13 +-
.../datasource/paimon/source/PaimonScanNode.java | 55 +-
.../datasource/paimon/source/PaimonSplit.java | 6 +-
.../config/WebServerFactoryCustomizerConfig.java | 3 +-
.../doris/httpv2/controller/BaseController.java | 48 +-
.../doris/httpv2/rest/RestBaseController.java | 2 +-
.../insert/streaming/StreamingMultiTblTask.java | 54 +-
.../apache/doris/journal/bdbje/BDBEnvironment.java | 5 +
.../bdbje/BdbjeReplicationConfigProvider.java | 15 +-
.../BdbjeReplicationConfigProviderFactory.java | 43 +
.../bdbje/OssBdbjeReplicationConfigProvider.java | 17 +-
.../org/apache/doris/load/StreamLoadHandler.java | 47 +-
.../doris/load/routineload/RoutineLoadJob.java | 3 +
.../doris/load/routineload/RoutineLoadManager.java | 14 +
.../load/routineload/RoutineLoadScheduler.java | 2 +
.../load/routineload/RoutineLoadTaskInfo.java | 9 +
.../routineload/kafka/KafkaRoutineLoadJob.java | 97 +-
.../load/routineload/kafka/KafkaTaskInfo.java | 7 +
.../java/org/apache/doris/mysql/MysqlChannel.java | 18 +
.../java/org/apache/doris/mysql/MysqlProto.java | 13 +-
.../org/apache/doris/mysql/MysqlSslContext.java | 52 +-
.../doris/mysql/MysqlSslContextProvider.java | 16 +-
.../mysql/MysqlSslContextProviderFactory.java | 43 +
.../doris/mysql/OssMysqlSslContextProvider.java | 72 ++
.../mysql/authenticate/AuthenticateRequest.java | 35 +
.../mysql/authenticate/AuthenticatorManager.java | 26 +
.../mysql/authenticate/DefaultAuthenticator.java | 9 +-
.../org/apache/doris/mysql/privilege/Auth.java | 36 +-
.../apache/doris/mysql/privilege/UserManager.java | 31 +
.../org/apache/doris/nereids/CascadesContext.java | 6 +-
.../nereids/ExternalMetadataPreloadResult.java | 65 ++
.../doris/nereids/ExternalTablePreloadInfo.java | 55 +
.../org/apache/doris/nereids/NereidsPlanner.java | 30 +-
.../org/apache/doris/nereids/StatementContext.java | 56 +
.../doris/nereids/exceptions/CastException.java | 4 +-
.../doris/nereids/jobs/executor/Rewriter.java | 5 +-
.../executor/TableCollectAndHookInitializer.java | 26 +-
.../doris/nereids/load/NereidsFileGroupInfo.java | 23 +-
.../post/RuntimeFilterPushDownVisitor.java | 52 +-
.../nereids/processor/post/TopnFilterContext.java | 16 +-
.../post/materialize/LazyMaterializeTopN.java | 190 ++--
.../post/materialize/LazySlotPruning.java | 15 +-
.../post/materialize/MaterializeProbeVisitor.java | 39 +-
.../org/apache/doris/nereids/rules/RuleType.java | 2 +
.../nereids/rules/analysis/BindExpression.java | 8 +-
.../doris/nereids/rules/analysis/BindSink.java | 6 +-
.../nereids/rules/analysis/CollectRelation.java | 5 +
.../nereids/rules/analysis/ExpressionAnalyzer.java | 7 +-
.../rules/analysis/PreloadExternalMetadata.java | 134 +++
.../mv/InitMaterializationContextHook.java | 26 +-
.../mv/PreMaterializedViewRewriter.java | 1 +
.../rules/expression/ExpressionNormalization.java | 4 +-
.../rules/expression/ExpressionRuleType.java | 2 +-
...eStructElement.java => NormalizeElementAt.java} | 31 +-
.../expression/rules/StringEmptyToLengthRule.java | 2 +-
.../rewrite/AccessPathExpressionCollector.java | 51 +-
.../rules/rewrite/AccessPathPlanCollector.java | 4 +-
.../rewrite/AddProjectForVolatileExpression.java | 105 +-
.../nereids/rules/rewrite/InferPredicates.java | 13 +
.../nereids/rules/rewrite/NestedColumnPruning.java | 2 +-
.../rules/rewrite/OperativeColumnDerive.java | 20 +-
...ProjectOtherJoinConditionForNestedLoopJoin.java | 8 +
.../rules/rewrite/PullUpProjectExprUnderTopN.java | 718 ++++++++++++
.../rules/rewrite/PullUpProjectUnderLimit.java | 11 +-
.../rules/rewrite/PullUpProjectUnderTopN.java | 11 +-
.../PushDownFilterThroughPartitionTopN.java | 8 +-
.../rewrite/PushDownFilterThroughSetOperation.java | 82 +-
.../rules/rewrite/PushDownFilterThroughWindow.java | 13 +-
.../rules/rewrite/PushDownJoinOtherCondition.java | 8 +-
.../rules/rewrite/PushDownTopNThroughJoin.java | 82 +-
.../rules/rewrite/PushDownUnnestInProject.java | 10 +-
.../trees/expressions/functions/agg/Count.java | 30 +-
.../functions/agg/MultiDistinctCount.java | 7 +
.../functions/executable/DateTimeArithmetic.java | 16 +-
.../executable/DateTimeExtractAndTransform.java | 8 +-
.../expressions/functions/scalar/ConvertTz.java | 72 +-
.../expressions/functions/scalar/ElementAt.java | 70 +-
.../expressions/functions/scalar/FromUnixtime.java | 56 +-
.../functions/scalar/StructElement.java | 117 --
.../trees/expressions/literal/DateTimeLiteral.java | 36 +-
.../expressions/visitor/ScalarFunctionVisitor.java | 5 -
.../plans/commands/ShowCreateUserCommand.java | 4 +-
.../plans/commands/insert/OlapInsertExecutor.java | 16 +
.../worker/job/AbstractUnassignedScanJob.java | 132 +++
.../distribute/worker/job/UnassignedAllBEJob.java | 18 +
.../distribute/worker/job/UnassignedGatherJob.java | 12 +
.../UnassignedGatherScanMultiRemoteTablesJob.java | 10 +
.../worker/job/UnassignedGroupCommitJob.java | 9 +
.../plans/distribute/worker/job/UnassignedJob.java | 16 +
.../worker/job/UnassignedLocalTVFSinkJob.java | 11 +
.../worker/job/UnassignedQueryConstantJob.java | 9 +
.../job/UnassignedScanBucketOlapTableJob.java | 67 ++
.../worker/job/UnassignedScanMetadataJob.java | 19 +
.../job/UnassignedScanSingleOlapTableJob.java | 35 +
.../job/UnassignedScanSingleRemoteTableJob.java | 20 +
.../worker/job/UnassignedShuffleJob.java | 16 +
.../worker/job/UnassignedSpecifyInstancesJob.java | 11 +
.../nereids/trees/plans/logical/LogicalView.java | 19 +-
.../plans/physical/PhysicalLazyMaterialize.java | 13 +-
.../physical/PhysicalLazyMaterializeFileScan.java | 10 +-
.../physical/PhysicalLazyMaterializeOlapScan.java | 10 +-
.../physical/PhysicalLazyMaterializeTVFScan.java | 10 +-
.../org/apache/doris/nereids/util/DateUtils.java | 15 +
.../org/apache/doris/nereids/util/JoinUtils.java | 4 +
.../org/apache/doris/nereids/util/PlanUtils.java | 3 +-
.../apache/doris/planner/MaterializationNode.java | 2 +-
.../org/apache/doris/planner/OlapScanNode.java | 26 +-
.../org/apache/doris/planner/OlapTableSink.java | 17 +-
.../java/org/apache/doris/planner/PlanNode.java | 8 +-
.../java/org/apache/doris/qe/ConnectContext.java | 99 +-
.../java/org/apache/doris/qe/ConnectProcessor.java | 17 +-
.../org/apache/doris/qe/MysqlConnectProcessor.java | 10 +-
.../main/java/org/apache/doris/qe/QeService.java | 50 +-
.../java/org/apache/doris/qe/SessionVariable.java | 271 ++---
.../main/java/org/apache/doris/qe/VariableMgr.java | 54 +
.../qe/runtime/RuntimeFiltersThriftBuilder.java | 29 +-
.../org/apache/doris/rpc/BackendServiceClient.java | 31 +-
.../rpc/BackendServiceClientChannelProvider.java | 17 +-
...BackendServiceClientChannelProviderFactory.java | 45 +
.../org/apache/doris/rpc/BackendServiceProxy.java | 9 +-
.../OssBackendServiceClientChannelProvider.java | 53 +
.../java/org/apache/doris/service/FeServer.java | 82 --
.../apache/doris/service/FrontendServiceImpl.java | 134 ++-
.../org/apache/doris/system/SystemInfoService.java | 2 +-
.../doris/tls/server/FeServerStarterFactory.java | 57 +
.../doris/tls/server/FeServerStarterProvider.java | 18 +-
.../doris/tls/server/HttpServerTlsProvider.java | 15 +-
.../tls/server/HttpServerTlsProviderFactory.java | 43 +
.../tls/server/OssFeServerStarterProvider.java | 157 +++
.../doris/tls/server/OssHttpServerTlsProvider.java | 54 +
.../org/apache/doris/tls/server/ServerStarter.java | 15 +-
.../apache/doris/tls/server/TlsProtocolSet.java | 64 ++
.../apache/doris/analysis/AlterUserStmtTest.java | 146 +++
.../apache/doris/analysis/CreateUserStmtTest.java | 165 +++
.../org/apache/doris/analysis/TlsOptionsTest.java | 65 ++
.../doris/auth/certificate/SanEntryCodecTest.java | 52 +
.../doris/cloud/cache/CacheHotspotManagerTest.java | 345 +++++-
.../doris/cloud/rpc/MetaServiceProxyTest.java | 20 +-
.../cloud/system/CloudSystemInfoServiceTest.java | 15 +
.../doris/common/profile/SummaryProfileTest.java | 19 +-
.../PluginDrivenExternalTableEngineTest.java | 72 +-
.../iceberg/IcebergExternalTableTest.java | 17 +-
.../doris/datasource/iceberg/IcebergUtilsTest.java | 80 ++
.../datasource/maxcompute/MCTransactionTest.java | 54 +
.../maxcompute/MaxComputeExternalCatalogTest.java | 146 +++
.../maxcompute/source/MaxComputeScanNodeTest.java | 24 +
.../doris/datasource/paimon/PaimonUtilTest.java | 50 +
.../paimon/source/PaimonScanNodeTest.java | 109 +-
.../load/routineload/KafkaRoutineLoadJobTest.java | 108 ++
.../doris/mysql/MysqlProtoLenEncStringTest.java | 61 +
.../apache/doris/nereids/NereidsPlannerTest.java | 82 ++
.../apache/doris/nereids/StatementContextTest.java | 559 ++++++++++
.../nereids/parser/RoleMappingParserTest.java | 67 ++
.../nereids/postprocess/RuntimeFilterTest.java | 19 +
.../nereids/postprocess/TopNRuntimeFilterTest.java | 36 +
.../materialize/MaterializeProbeVisitorTest.java | 110 ++
.../nereids/rules/expression/FoldConstantTest.java | 6 +
.../rules/StringEmptyToLengthRuleTest.java | 14 +-
.../AddProjectForVolatileExpressionTest.java | 149 ++-
.../rewrite/FindHashConditionForJoinTest.java | 22 +
.../rules/rewrite/OperativeColumnDeriveTest.java | 35 +-
.../nereids/rules/rewrite/PartitionPrunerTest.java | 1 -
.../doris/nereids/rules/rewrite/PrepareTest.java | 2 +-
.../rules/rewrite/PruneNestedColumnTest.java | 150 +--
.../rewrite/PullUpProjectExprUnderTopNTest.java | 1166 ++++++++++++++++++++
.../rewrite/PushDownFilterThroughWindowTest.java | 40 +
.../rewrite/PushDownJoinOtherConditionTest.java | 29 +
.../rules/rewrite/PushDownUnnestInProjectTest.java | 4 +-
.../trees/expressions/functions/agg/CountTest.java | 84 ++
.../DateTimeExtractAndTransformTest.java | 43 +
.../functions/scalar/ConvertTzTest.java | 173 +++
.../functions/scalar/FromUnixtimeTest.java | 99 ++
.../literal/TimestampTzLiteralTest.java | 18 +
.../commands/insert/OlapInsertExecutorTest.java | 274 +++++
.../trees/plans/logical/LogicalViewTest.java | 245 ++++
.../apache/doris/nereids/util/JoinUtilsTest.java | 19 +
.../apache/doris/nereids/util/PlanUtilsTest.java | 23 +
.../org/apache/doris/qe/ConnectContextTest.java | 166 +++
.../org/apache/doris/qe/SessionVariablesTest.java | 100 +-
.../runtime/RuntimeFiltersThriftBuilderTest.java | 114 ++
.../antlr4/org/apache/doris/nereids/DorisParser.g4 | 3 +
fe/pom.xml | 12 +-
.../postgresql/connection/PostgresConnection.java | 9 +-
.../connection/PostgresReplicationConnection.java | 932 ----------------
.../org/apache/doris/cdcclient/common/Env.java | 65 ++
.../cdcclient/controller/ClientController.java | 21 +
.../cdcclient/service/PipelineCoordinator.java | 32 +-
.../doris/cdcclient/sink/DorisBatchStreamLoad.java | 22 +-
.../apache/doris/cdcclient/sink/RespContent.java | 7 +
.../deserialize/DebeziumJsonDeserializer.java | 15 +
.../source/reader/AbstractCdcSourceReader.java | 31 +-
.../cdcclient/source/reader/SourceReader.java | 5 +
.../source/reader/mysql/MySqlSourceReader.java | 7 +-
.../reader/postgres/PostgresSourceReader.java | 93 +-
.../src/main/resources/application.properties | 4 +-
.../org/apache/doris/cdcclient/common/EnvTest.java | 39 +-
.../doris/cdcclient/sink/RespContentTest.java | 55 +
.../deserialize/DebeziumJsonDeserializerTest.java | 50 +
.../source/reader/AbstractCdcSourceReaderTest.java | 13 +
gensrc/proto/olap_file.proto | 1 +
gensrc/proto/segment_v2.proto | 1 +
regression-test/conf/regression-conf.groovy | 3 +-
.../data/ann_index_p0/ivf_on_disk_index_test.out | 4 +
.../ivf_pq_full_buffer_train_recall.out} | 4 +-
.../ivf_pq_recall.out} | 9 +-
...est_runtime_filter_outer_join_nullable_side.out | 17 +
.../test_select_stddev_variance_window.out | 933 ++++++++--------
.../test_struct_field_align_ordered.json | 7 +
.../test_struct_field_align_swapped.json | 7 +
.../timestamptz/test_timestamptz_dst_gap.out | 4 +-
.../data/doc/sql-manual/StructNullsafe.out | 6 +-
.../external_table_p0/hive/test_complex_types.out | 8 +-
.../paimon/test_hive_migrate_paimon.out | 208 ++++
.../data/function_p0/test_agg_foreach.out | 3 +-
.../data/function_p0/test_agg_foreach_notnull.out | 3 +-
.../test_insert_visible_timeout_return_mode.out} | 5 +-
...est_streaming_mysql_job_jdbc_servertimezone.out | 14 +
.../test_streaming_mysql_job_source_timezone.out | 29 +
.../cdc/test_streaming_mysql_job_timestamp_pk.out | 28 +
..._streaming_postgres_job_jdbc_servertimezone.out | 15 +
...ob_snapshot_with_concurrent_dml_multi_table.out | 43 +
...test_streaming_postgres_job_source_timezone.out | 29 +
.../test_streaming_postgres_job_timestamp_pk.out | 42 +
..._insert_strict_mode_and_filter_ratio_custom.out | 38 +
.../data/load_p0/stream_load/test_stream_load.out | 6 +-
.../stream_load/test_stream_load_move_memtable.out | 6 +-
.../data/nereids_function_p0/agg_function/agg.out | 672 +++++------
.../column_pruning/topn_expr_pullup.out | 76 ++
.../topn_lazy_nested_column_pruning.out | 39 +
.../extend_infer_equal_predicate.out | 10 +-
.../infer_set_operator_distinct.out | 30 +-
.../normalize_window_nullable_agg_test.out | 5 +-
.../partition_prune/test_convert_tz.out} | 5 +-
.../add_project_for_unique_function.out | 13 +-
...nfer_predicates_set_op_with_unique_function.out | 47 +
...join_condition_for_nlj_with_unique_function.out | 36 +
...wn_filter_through_join_with_unique_function.out | 9 +
...through_partition_topn_with_unique_function.out | 17 +
..._through_set_operation_with_unique_function.out | 74 ++
..._filter_through_window_with_unique_function.out | 23 +
...n_join_other_condition_with_unique_function.out | 53 +
.../nereids_syntax_p0/mv/aggregate/agg_sync_mv.out | 157 +--
.../data/query_p0/aggregate/agg_nullable_2.out | 19 +-
.../data/query_p0/aggregate/aggregate.out | 4 +-
.../set/test_removed_session_variables.out | 13 +
.../cast_function/test_cast_struct.out | 2 +-
.../datetime_functions/test_convert_tz.out | 3 +
.../struct_functions/test_struct_functions.out | 75 +-
.../test_select_stddev_variance_window.out | 169 +--
.../data/shape_check/clickbench/query36.out | 8 +-
.../tpcds_sf100/noStatsRfPrune/query17.out | 8 +-
.../tpcds_sf100/noStatsRfPrune/query54.out | 8 +-
.../tpcds_sf100/noStatsRfPrune/query58.out | 165 +--
.../tpcds_sf100/noStatsRfPrune/query59.out | 55 +-
.../tpcds_sf100/noStatsRfPrune/query61.out | 4 +-
.../tpcds_sf100/noStatsRfPrune/query83.out | 153 +--
.../tpcds_sf100/noStatsRfPrune/query84.out | 40 +-
.../tpcds_sf100/no_stats_shape/query17.out | 8 +-
.../tpcds_sf100/no_stats_shape/query54.out | 8 +-
.../tpcds_sf100/no_stats_shape/query58.out | 165 +--
.../tpcds_sf100/no_stats_shape/query59.out | 55 +-
.../tpcds_sf100/no_stats_shape/query61.out | 4 +-
.../tpcds_sf100/no_stats_shape/query83.out | 153 +--
.../tpcds_sf100/no_stats_shape/query84.out | 40 +-
.../shape_check/tpcds_sf100/rf_prune/query17.out | 8 +-
.../shape_check/tpcds_sf100/rf_prune/query54.out | 8 +-
.../shape_check/tpcds_sf100/rf_prune/query58.out | 165 +--
.../shape_check/tpcds_sf100/rf_prune/query59.out | 55 +-
.../shape_check/tpcds_sf100/rf_prune/query61.out | 4 +-
.../shape_check/tpcds_sf100/rf_prune/query83.out | 153 +--
.../shape_check/tpcds_sf100/rf_prune/query84.out | 42 +-
.../data/shape_check/tpcds_sf100/shape/query17.out | 8 +-
.../data/shape_check/tpcds_sf100/shape/query54.out | 8 +-
.../data/shape_check/tpcds_sf100/shape/query58.out | 165 +--
.../data/shape_check/tpcds_sf100/shape/query59.out | 55 +-
.../data/shape_check/tpcds_sf100/shape/query61.out | 4 +-
.../data/shape_check/tpcds_sf100/shape/query83.out | 153 +--
.../data/shape_check/tpcds_sf100/shape/query84.out | 42 +-
.../tpcds_sf1000/bs_downgrade_shape/query54.out | 8 +-
.../tpcds_sf1000/bs_downgrade_shape/query61.out | 4 +-
.../data/shape_check/tpcds_sf1000/hint/query17.out | 8 +-
.../data/shape_check/tpcds_sf1000/hint/query54.out | 8 +-
.../data/shape_check/tpcds_sf1000/hint/query58.out | 165 +--
.../data/shape_check/tpcds_sf1000/hint/query59.out | 55 +-
.../data/shape_check/tpcds_sf1000/hint/query61.out | 4 +-
.../data/shape_check/tpcds_sf1000/hint/query84.out | 42 +-
.../shape_check/tpcds_sf1000/shape/query17.out | 8 +-
.../shape_check/tpcds_sf1000/shape/query54.out | 8 +-
.../shape_check/tpcds_sf1000/shape/query58.out | 165 +--
.../shape_check/tpcds_sf1000/shape/query59.out | 55 +-
.../shape_check/tpcds_sf1000/shape/query61.out | 4 +-
.../shape_check/tpcds_sf1000/shape/query83.out | 153 +--
.../shape_check/tpcds_sf1000/shape/query84.out | 42 +-
.../tpcds_sf1000_nopkfk/shape/query17.out | 8 +-
.../tpcds_sf1000_nopkfk/shape/query54.out | 8 +-
.../tpcds_sf1000_nopkfk/shape/query58.out | 165 +--
.../tpcds_sf1000_nopkfk/shape/query59.out | 55 +-
.../tpcds_sf1000_nopkfk/shape/query61.out | 4 +-
.../tpcds_sf1000_nopkfk/shape/query83.out | 153 +--
.../tpcds_sf1000_nopkfk/shape/query84.out | 42 +-
.../shape_check/tpcds_sf10t_orc/shape/query17.out | 8 +-
.../shape_check/tpcds_sf10t_orc/shape/query54.out | 8 +-
.../shape_check/tpcds_sf10t_orc/shape/query58.out | 165 +--
.../shape_check/tpcds_sf10t_orc/shape/query59.out | 55 +-
.../shape_check/tpcds_sf10t_orc/shape/query61.out | 4 +-
.../shape_check/tpcds_sf10t_orc/shape/query83.out | 153 +--
.../shape_check/tpcds_sf10t_orc/shape/query84.out | 40 +-
.../data/variant_p0/compaction/test_compaction.out | 4 +
.../data/variant_p0/sql/select_from_value.out | 2 +-
.../regression/action/StreamLoadAction.groovy | 4 +
.../org/apache/doris/regression/suite/Suite.groovy | 5 +
.../doris/regression/suite/SuiteContext.groovy | 16 +
.../main/java/org/apache/doris/udf/StringTest.java | 2 +-
regression-test/pipeline/common/doris-utils.sh | 17 +-
regression-test/pipeline/common/github-utils.sh | 5 +-
.../ann_index_build_min_segment_rows.groovy | 66 ++
.../ann_index_p0/ivf_on_disk_index_test.groovy | 16 +-
.../ivf_pq_full_buffer_train_recall.groovy | 68 ++
.../suites/ann_index_p0/ivf_pq_recall.groovy | 85 ++
..._runtime_filter_outer_join_nullable_side.groovy | 79 ++
.../complex_types/test_pruned_columns.groovy | 16 +-
.../complex_types/test_struct_field_align.groovy | 91 ++
.../one_level_nestedtypes_with_s3data.groovy | 18 +-
.../nested_types/query/sql/nested_with_join.sql | 8 +-
.../string_len/test_string_len_complex.groovy | 12 +
.../three_level_nestedtypes_with_s3data.groovy | 86 +-
.../two_level_nestedtypes_with_s3data.groovy | 34 +-
.../suites/dictionary_p0/test_trade_demo.groovy | 16 +-
.../import/import-way/insert-into-manual.md.groovy | 1 +
.../suites/doc/sql-manual/StructNullsafe.groovy | 8 +-
.../basic-elements/data-types/map-md.groovy | 2 +-
.../basic-elements/data-types/struct-md.groovy | 24 +-
.../hive/test_complex_types.groovy | 4 +-
.../hive/test_hive_struct_add_column.groovy | 24 +-
.../hive/test_hive_text_complex_type.groovy | 6 +-
.../hive/test_hive_topn_lazy_mat.groovy | 10 +-
.../hive/test_hive_view_schema_drift.groovy | 115 ++
.../hive/test_orc_nested_types.groovy | 32 +-
.../hive/test_parquet_bloom_filter.groovy | 2 +-
.../hive/test_parquet_nested_types.groovy | 14 +-
.../iceberg/iceberg_complex_type.groovy | 8 +-
.../iceberg/iceberg_schema_change.groovy | 16 +-
.../iceberg/test_iceberg_full_schema_change.groovy | 64 +-
...test_iceberg_schema_change_complex_types.groovy | 4 +-
.../test_iceberg_struct_schema_evolution.groovy | 60 +-
.../test_iceberg_v1_rowid_hidden_column.groovy | 169 +++
.../paimon/paimon_timestamp_types.groovy | 4 +-
.../paimon/test_paimon_full_schema_change.groovy | 30 +-
.../paimon/test_paimon_partition_table.groovy | 70 +-
.../tvf/test_file_tvf_hdfs.groovy | 3 +
.../external_table_p0/tvf/test_hdfs_tvf.groovy | 3 +
.../tvf/test_tvf_topn_lazy_mat.groovy | 8 +-
.../hudi/test_hudi_full_schema_change.groovy | 64 +-
.../iceberg/test_hive_migrate_iceberg.groovy | 10 +-
.../test_hive_migrate_partition_iceberg.groovy | 205 ++++
.../test_external_catalog_maxcompute.groovy | 6 +-
.../maxcompute/test_max_compute_schema.groovy | 5 +-
.../test_max_compute_validate_connection.groovy | 102 ++
.../paimon/test_hive_migrate_paimon.groovy | 97 ++
.../insert_p0/test_error_msg_truncate.groovy | 1 +
.../test_insert_visible_timeout_return_mode.groovy | 83 ++
.../cdc/test_streaming_mysql_job_errormsg.groovy | 2 +
..._streaming_mysql_job_jdbc_servertimezone.groovy | 144 +++
...test_streaming_mysql_job_source_timezone.groovy | 218 ++++
.../test_streaming_mysql_job_timestamp_pk.groovy | 167 +++
...reaming_postgres_job_jdbc_servertimezone.groovy | 154 +++
...snapshot_with_concurrent_dml_multi_table.groovy | 163 +++
...t_streaming_postgres_job_source_timezone.groovy | 226 ++++
...st_streaming_postgres_job_special_offset.groovy | 11 +-
...test_streaming_postgres_job_timestamp_pk.groovy | 193 ++++
.../test_streaming_insert_job_alter.groovy | 6 +-
...st_streaming_insert_job_fetch_meta_error.groovy | 9 +-
.../load/insert/test_array_string_insert.groovy | 1 +
.../load_p0/insert/test_insert_statistic.groovy | 1 +
...test_insert_strict_mode_and_filter_ratio.groovy | 32 +-
...sert_strict_mode_and_filter_ratio_custom.groovy | 579 ++++++++++
.../test_routine_load_advanced_mapping.groovy | 2 +-
.../data/test_preceding_filter_keyword.csv | 3 +
.../routine_load/test_routine_load_alter.groovy | 4 +-
.../test_routine_load_condition.groovy | 2 +-
...st_routine_load_preceding_filter_keyword.groovy | 127 +++
.../load_p0/tvf/test_tvf_error_column.groovy | 2 +
.../test_tvf_strict_mode_and_filter_ratio.groovy | 12 +-
.../suites/nereids_function_p0/load.groovy | 13 +-
.../nereids_function_p0/scalar_function/IP.groovy | 8 +-
.../nested_container_offset_pruning.groovy | 16 +-
.../column_pruning/null_column_pruning.groovy | 62 +-
.../string_length_column_pruning.groovy | 28 +-
.../column_pruning/topn_expr_pullup.groovy | 161 +++
.../topn_lazy_nested_column_pruning.groovy | 365 ++++++
.../month_quarter_cast_in_prune.groovy | 8 +-
.../partition_prune/test_convert_tz.groovy | 24 +-
.../add_project_for_unique_function.groovy | 1 +
...r_predicates_set_op_with_unique_function.groovy | 66 ++
...n_condition_for_nlj_with_unique_function.groovy | 58 +
...filter_through_join_with_unique_function.groovy | 10 +
...ough_partition_topn_with_unique_function.groovy | 47 +
...rough_set_operation_with_unique_function.groovy | 75 ++
...lter_through_window_with_unique_function.groovy | 56 +
...oin_other_condition_with_unique_function.groovy | 73 ++
.../nereids_syntax_p0/test_complex_type.groovy | 10 +-
.../suites/query_p0/aggregate/aggregate.groovy | 1 -
.../compress_materialize/pushdown_encode.groovy | 16 +-
.../insert_into_table/insert_values.groovy | 2 +
.../keyword/test_role_mapping_keyword.groovy | 75 ++
.../test_reset_connection_session_variable.groovy | 76 ++
.../set/test_removed_session_variables.groovy | 87 ++
.../datetime_functions/test_convert_tz.groovy | 2 +
.../ip_functions/test_ipv4_cidr_to_range.groovy | 2 +-
.../test_ipv6_cidr_to_range_function.groovy | 4 +-
.../struct_functions/test_struct_functions.groovy | 36 +-
.../test_struct_functions_by_literal.groovy | 4 +-
.../suites/query_profile/scanner_profile.groovy | 9 +-
.../schema_change_p0/test_modify_struct.groovy | 1 +
.../test_varchar_sc_in_complex.groovy | 1 +
.../variant_p0/compaction/test_compaction.groovy | 4 +-
.../suites/variant_p0/element_function.groovy | 28 +
.../suites/variant_p0/test_sub_path_pruning.groovy | 2 +-
.../test_variant_count_distinct.groovy} | 35 +-
run-be-ut.sh | 76 +-
run-cloud-ut.sh | 76 ++
run-fe-ut.sh | 85 +-
thirdparty/vars.sh | 2 +-
tools/release-tools/01-check-env.sh | 205 ++++
tools/release-tools/02-package-sign-upload.sh | 109 ++
tools/release-tools/03-vote-mail.sh | 111 ++
tools/release-tools/README.md | 99 ++
tools/release-tools/release.env | 79 ++
823 files changed, 34101 insertions(+), 8222 deletions(-)
create mode 100644 .github/scripts/emit_litefuse_otel_io.py
create mode 100644 be/benchmark/benchmark_binary_plain_page_v2.hpp
create mode 100644 be/benchmark/benchmark_fmod.hpp
create mode 100644 be/src/exprs/function/fmod_fast.cpp
create mode 100644 be/src/exprs/function/fmod_fast.h
delete mode 100644 be/src/exprs/function/function_struct_element.cpp
create mode 100644 be/src/format/table/partition_column_filler.h
delete mode 100644 be/src/service/brpc_service.cpp
create mode 100644 be/src/service/server/be_server_starter_factory.h
create mode 100644 be/src/service/server/oss/be_server_starter_factory.cpp
copy be/src/service/{brpc_service.h => server/server_starter.h} (67%)
create mode 100644 be/src/storage/segment/binary_plain_page_v3.h
create mode 100644 be/src/storage/segment/binary_plain_page_v3_pre_decoder.h
copy be/src/{service/brpc_service.h => util/client_connection_provider.h} (71%)
copy be/src/{exec/operator/empty_set_operator.cpp =>
util/oss/client_connection_provider.cpp} (67%)
create mode 100644 be/test/core/data_type_serde/data_type_serde_array_test.cpp
create mode 100644
be/test/exec/operator/nested_loop_join_build_operator_test.cpp
rename be/test/exprs/function/{function_struct_element_test.cpp =>
function_element_at_struct_test.cpp} (61%)
create mode 100644 be/test/exprs/function/function_fmod_fast_test.cpp
copy be/test/{exprs/aggregate/agg_count_test.cpp =>
service/server/be_server_starter_factory_test.cpp} (51%)
create mode 100644 be/test/storage/segment/binary_plain_page_v3_test.cpp
create mode 100644 be/test/storage/segment/segment_writer_mow_check_test.cpp
create mode 100644 be/test/storage/tablet/tablet_schema_cache_test.cpp
copy be/src/service/brpc_service.h =>
cloud/src/server/cloud_server_starter_factory.h (58%)
create mode 100644 cloud/src/server/oss/cloud_server_starter_factory.cpp
create mode 100644
fe/be-java-extensions/max-compute-connector/src/main/java/org/apache/doris/maxcompute/MaxComputeFeClient.java
create mode 100644
fe/be-java-extensions/max-compute-connector/src/test/java/org/apache/doris/maxcompute/MaxComputeFeClientTest.java
copy
fe/{fe-common/src/main/java/org/apache/doris/job/cdc/request/WriteRecordRequest.java
=>
be-java-extensions/paimon-scanner/src/test/java/org/apache/doris/paimon/PaimonJniScannerTest.java}
(64%)
create mode 100644
fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorPartitionValues.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/auth/certificate/CertificateAuthDecision.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/auth/certificate/CertificateRuntimeAuthFactory.java
copy be/src/exec/operator/empty_set_operator.cpp =>
fe/fe-core/src/main/java/org/apache/doris/auth/certificate/CertificateRuntimeAuthService.java
(68%)
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/auth/certificate/ForwardedCertificateInfo.java
copy be/src/service/brpc_service.h =>
fe/fe-core/src/main/java/org/apache/doris/auth/certificate/NoOpCertificateRuntimeAuthService.java
(58%)
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/auth/certificate/SanEntryCodec.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/auth/certificate/StreamLoadCertificateAuthHelper.java
copy be/src/exec/operator/empty_set_operator.cpp =>
fe/fe-core/src/main/java/org/apache/doris/cloud/rpc/MetaServiceClientChannelProvider.java
(74%)
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/cloud/rpc/MetaServiceClientChannelProviderFactory.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/cloud/rpc/OssMetaServiceClientChannelProvider.java
copy be/src/service/brpc_service.h =>
fe/fe-core/src/main/java/org/apache/doris/common/OssThriftClientTransportProvider.java
(55%)
copy be/src/exec/operator/empty_set_operator.cpp =>
fe/fe-core/src/main/java/org/apache/doris/common/ThriftClientTransportProvider.java
(73%)
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/common/ThriftClientTransportProviderFactory.java
copy be/src/exec/operator/empty_set_operator.cpp =>
fe/fe-core/src/main/java/org/apache/doris/journal/bdbje/BdbjeReplicationConfigProvider.java
(74%)
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/journal/bdbje/BdbjeReplicationConfigProviderFactory.java
copy be/src/exec/operator/empty_set_operator.cpp =>
fe/fe-core/src/main/java/org/apache/doris/journal/bdbje/OssBdbjeReplicationConfigProvider.java
(74%)
copy be/src/exec/operator/empty_set_operator.cpp =>
fe/fe-core/src/main/java/org/apache/doris/mysql/MysqlSslContextProvider.java
(74%)
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/mysql/MysqlSslContextProviderFactory.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/mysql/OssMysqlSslContextProvider.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/ExternalMetadataPreloadResult.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/ExternalTablePreloadInfo.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/PreloadExternalMetadata.java
rename
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/{NormalizeStructElement.java
=> NormalizeElementAt.java} (69%)
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PullUpProjectExprUnderTopN.java
delete mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/StructElement.java
copy be/src/exec/operator/empty_set_operator.cpp =>
fe/fe-core/src/main/java/org/apache/doris/rpc/BackendServiceClientChannelProvider.java
(70%)
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/rpc/BackendServiceClientChannelProviderFactory.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/rpc/OssBackendServiceClientChannelProvider.java
delete mode 100644
fe/fe-core/src/main/java/org/apache/doris/service/FeServer.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/tls/server/FeServerStarterFactory.java
copy be/src/exec/operator/empty_set_operator.cpp =>
fe/fe-core/src/main/java/org/apache/doris/tls/server/FeServerStarterProvider.java
(61%)
copy be/src/exec/operator/empty_set_operator.cpp =>
fe/fe-core/src/main/java/org/apache/doris/tls/server/HttpServerTlsProvider.java
(74%)
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/tls/server/HttpServerTlsProviderFactory.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/tls/server/OssFeServerStarterProvider.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/tls/server/OssHttpServerTlsProvider.java
copy be/src/exec/operator/empty_set_operator.cpp =>
fe/fe-core/src/main/java/org/apache/doris/tls/server/ServerStarter.java (74%)
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/tls/server/TlsProtocolSet.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/analysis/AlterUserStmtTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/analysis/CreateUserStmtTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/analysis/TlsOptionsTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/auth/certificate/SanEntryCodecTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/datasource/maxcompute/MCTransactionTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/datasource/maxcompute/MaxComputeExternalCatalogTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/mysql/MysqlProtoLenEncStringTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/nereids/NereidsPlannerTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/nereids/StatementContextTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/nereids/processor/post/materialize/MaterializeProbeVisitorTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/PullUpProjectExprUnderTopNTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/functions/agg/CountTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ConvertTzTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/functions/scalar/FromUnixtimeTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/insert/OlapInsertExecutorTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/logical/LogicalViewTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/qe/runtime/RuntimeFiltersThriftBuilderTest.java
delete mode 100644
fs_brokers/cdc_client/src/main/java/io/debezium/connector/postgresql/connection/PostgresReplicationConnection.java
rename be/src/service/brpc_service.h =>
fs_brokers/cdc_client/src/test/java/org/apache/doris/cdcclient/common/EnvTest.java
(56%)
create mode 100644
fs_brokers/cdc_client/src/test/java/org/apache/doris/cdcclient/sink/RespContentTest.java
copy regression-test/data/{variant_p0/sql/select_from_value.out =>
ann_index_p0/ivf_pq_full_buffer_train_recall.out} (76%)
copy regression-test/data/{variant_p0/sql/select_from_value.out =>
ann_index_p0/ivf_pq_recall.out} (53%)
create mode 100644
regression-test/data/correctness_p0/test_runtime_filter_outer_join_nullable_side.out
create mode 100644
regression-test/data/datatype_p0/complex_types/test_struct_field_align_ordered.json
create mode 100644
regression-test/data/datatype_p0/complex_types/test_struct_field_align_swapped.json
create mode 100644
regression-test/data/external_table_p2/paimon/test_hive_migrate_paimon.out
copy regression-test/data/{variant_p0/sql/select_from_value.out =>
insert_p0/test_insert_visible_timeout_return_mode.out} (76%)
create mode 100644
regression-test/data/job_p0/streaming_job/cdc/test_streaming_mysql_job_jdbc_servertimezone.out
create mode 100644
regression-test/data/job_p0/streaming_job/cdc/test_streaming_mysql_job_source_timezone.out
create mode 100644
regression-test/data/job_p0/streaming_job/cdc/test_streaming_mysql_job_timestamp_pk.out
create mode 100644
regression-test/data/job_p0/streaming_job/cdc/test_streaming_postgres_job_jdbc_servertimezone.out
create mode 100644
regression-test/data/job_p0/streaming_job/cdc/test_streaming_postgres_job_snapshot_with_concurrent_dml_multi_table.out
create mode 100644
regression-test/data/job_p0/streaming_job/cdc/test_streaming_postgres_job_source_timezone.out
create mode 100644
regression-test/data/job_p0/streaming_job/cdc/test_streaming_postgres_job_timestamp_pk.out
create mode 100644
regression-test/data/load_p0/insert/test_insert_strict_mode_and_filter_ratio_custom.out
create mode 100644
regression-test/data/nereids_rules_p0/column_pruning/topn_expr_pullup.out
create mode 100644
regression-test/data/nereids_rules_p0/column_pruning/topn_lazy_nested_column_pruning.out
copy regression-test/data/{variant_p0/sql/select_from_value.out =>
nereids_rules_p0/partition_prune/test_convert_tz.out} (63%)
create mode 100644
regression-test/data/nereids_rules_p0/unique_function/infer_predicates_set_op_with_unique_function.out
create mode 100644
regression-test/data/nereids_rules_p0/unique_function/project_other_join_condition_for_nlj_with_unique_function.out
create mode 100644
regression-test/data/nereids_rules_p0/unique_function/push_down_filter_through_partition_topn_with_unique_function.out
create mode 100644
regression-test/data/nereids_rules_p0/unique_function/push_down_filter_through_set_operation_with_unique_function.out
create mode 100644
regression-test/data/nereids_rules_p0/unique_function/push_down_filter_through_window_with_unique_function.out
create mode 100644
regression-test/data/nereids_rules_p0/unique_function/push_down_join_other_condition_with_unique_function.out
create mode 100644
regression-test/data/query_p0/set/test_removed_session_variables.out
create mode 100644
regression-test/suites/ann_index_p0/ann_index_build_min_segment_rows.groovy
create mode 100644
regression-test/suites/ann_index_p0/ivf_pq_full_buffer_train_recall.groovy
create mode 100644 regression-test/suites/ann_index_p0/ivf_pq_recall.groovy
create mode 100644
regression-test/suites/correctness_p0/test_runtime_filter_outer_join_nullable_side.groovy
create mode 100644
regression-test/suites/datatype_p0/complex_types/test_struct_field_align.groovy
create mode 100644
regression-test/suites/external_table_p0/hive/test_hive_view_schema_drift.groovy
create mode 100644
regression-test/suites/external_table_p0/iceberg/test_iceberg_v1_rowid_hidden_column.groovy
create mode 100644
regression-test/suites/external_table_p2/iceberg/test_hive_migrate_partition_iceberg.groovy
create mode 100644
regression-test/suites/external_table_p2/maxcompute/test_max_compute_validate_connection.groovy
create mode 100644
regression-test/suites/external_table_p2/paimon/test_hive_migrate_paimon.groovy
create mode 100644
regression-test/suites/insert_p0/test_insert_visible_timeout_return_mode.groovy
create mode 100644
regression-test/suites/job_p0/streaming_job/cdc/test_streaming_mysql_job_jdbc_servertimezone.groovy
create mode 100644
regression-test/suites/job_p0/streaming_job/cdc/test_streaming_mysql_job_source_timezone.groovy
create mode 100644
regression-test/suites/job_p0/streaming_job/cdc/test_streaming_mysql_job_timestamp_pk.groovy
create mode 100644
regression-test/suites/job_p0/streaming_job/cdc/test_streaming_postgres_job_jdbc_servertimezone.groovy
create mode 100644
regression-test/suites/job_p0/streaming_job/cdc/test_streaming_postgres_job_snapshot_with_concurrent_dml_multi_table.groovy
create mode 100644
regression-test/suites/job_p0/streaming_job/cdc/test_streaming_postgres_job_source_timezone.groovy
create mode 100644
regression-test/suites/job_p0/streaming_job/cdc/test_streaming_postgres_job_timestamp_pk.groovy
create mode 100644
regression-test/suites/load_p0/insert/test_insert_strict_mode_and_filter_ratio_custom.groovy
create mode 100644
regression-test/suites/load_p0/routine_load/data/test_preceding_filter_keyword.csv
create mode 100644
regression-test/suites/load_p0/routine_load/test_routine_load_preceding_filter_keyword.groovy
create mode 100644
regression-test/suites/nereids_rules_p0/column_pruning/topn_expr_pullup.groovy
create mode 100644
regression-test/suites/nereids_rules_p0/column_pruning/topn_lazy_nested_column_pruning.groovy
create mode 100644
regression-test/suites/nereids_rules_p0/unique_function/infer_predicates_set_op_with_unique_function.groovy
create mode 100644
regression-test/suites/nereids_rules_p0/unique_function/project_other_join_condition_for_nlj_with_unique_function.groovy
create mode 100644
regression-test/suites/nereids_rules_p0/unique_function/push_down_filter_through_partition_topn_with_unique_function.groovy
create mode 100644
regression-test/suites/nereids_rules_p0/unique_function/push_down_filter_through_set_operation_with_unique_function.groovy
create mode 100644
regression-test/suites/nereids_rules_p0/unique_function/push_down_filter_through_window_with_unique_function.groovy
create mode 100644
regression-test/suites/nereids_rules_p0/unique_function/push_down_join_other_condition_with_unique_function.groovy
create mode 100644
regression-test/suites/query_p0/keyword/test_role_mapping_keyword.groovy
create mode 100644
regression-test/suites/query_p0/session_variable/test_reset_connection_session_variable.groovy
create mode 100644
regression-test/suites/query_p0/set/test_removed_session_variables.groovy
copy
regression-test/suites/{query_p0/sql_functions/datetime_functions/test_convert_tz.groovy
=> variant_p0/test_variant_count_distinct.groovy} (54%)
create mode 100755 tools/release-tools/01-check-env.sh
create mode 100755 tools/release-tools/02-package-sign-upload.sh
create mode 100755 tools/release-tools/03-vote-mail.sh
create mode 100644 tools/release-tools/README.md
create mode 100644 tools/release-tools/release.env
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]