4.0.7 Release Notes
4.0.6 Release Notes: #64065
Apache Doris 4.0.7 is a maintenance release in the 4.0 series. It focuses on query correctness, load stability, compute-storage decoupled deployments, File Cache reliability, and external data source compatibility. All 4.0.x users are advised to upgrade.
Highlights of this release include:
- Cloud enhancements: add table-level event-driven cache warmup, enable Packed File and empty Rowset optimizations by default, and fix several Recycler, Schema Change, Compaction, and File Cache issues.
- Object storage improvements: support S3 Storage Vault credential providers without a Role ARN, and allow deterministic S3 paths to be accessed without
ListBucket permission.
- Better observability: add FE connection-limit metrics, per-job Routine Load metrics, File Cache queue metrics, and Compute Group information for MTMV refresh tasks.
- Many correctness and stability fixes covering TopN, joins, materialized view rewriting, Stream Load, Routine Load, external catalogs, File Cache crashes, and memory usage.
Before upgrading, read the Behavior Changes section below.
Behavior Changes
New Features & Improvements
Compute-Storage Decoupling
Object Storage & External Data Sources
Observability & Operations
Memory & Performance
Important Bug Fixes
Query Result Correctness
Functions & Types
Load & Transactions
Routine Load
Compute-Storage Decoupling
File Cache & Storage
Lakehouse & External Data Sources
Metadata, Protocol & Observability
These notes focus on user-visible and operations-visible changes. Test-only commits, CI adjustments, release version updates, and purely internal changes without external symptoms are omitted. Refer to the complete 4.0.6-rc02 to 4.0.7-rc02 comparison for the full commit history.
Acknowledgments
Thanks to all contributors whose pull requests are included in this release:
@924060929 @airborne12 @BiteTheDDDDt @bobhan1 @CalvinKirs @csun5285 @dataroaring @deardeng @eldenmoon @englefly @feiniaofeiafei @felixwluo @foxtail463 @freemandealer @Gabriel39 @gavinchou @Hastyshell @HonestManXin @iaorekhov-1980 @jacktengg @Jungzhang @liaoxin01 @liutang123 @morningman @morrySnow @mrhhsg @Mryange @raghav-reglobe @seawinde @sollhui @starocean999 @suxiaogang223 @wyxxxcat @yiguolei @yoock @yujun777 @Yukang-Lian @zclllyybb @zhangrq5 @zhangstar333 @zhaorongsheng
4.0.7 Release Notes
4.0.6 Release Notes: #64065
Apache Doris 4.0.7 is a maintenance release in the 4.0 series. It focuses on query correctness, load stability, compute-storage decoupled deployments, File Cache reliability, and external data source compatibility. All 4.0.x users are advised to upgrade.
Highlights of this release include:
ListBucketpermission.Behavior Changes
INSERT OVERWRITEnow permanently removes replaced partitions instead of placing them in the Recycle Bin. This reduces Recycle Bin pressure, but these partitions can no longer be recovered from it ([fix](iow) force drop partition in INSERT OVERWRITE #62510).enable_packed_fileandskip_writing_empty_rowset_metadataby default ([improvement](cloud) Enable packed file and empty rowset optimization by default #63475)./api/file_cache?op=clearAPI no longer supports synchronous clearing. Requests withsync=truenow run asynchronously and return a warning ([fix](filecache) Disable sync file cache clear in http api #64321).SlowDownor Azure HTTP 429 responses inside the SDK retry policy, avoiding additional delays before higher-level handling takes effect ([fix](s3) Avoid retrying object storage SlowDown errors #63776).COM_RESET_CONNECTIONnow resets connection-scoped state consistently with MySQL ([fix](connect) Align COM_RESET_CONNECTION behavior with MySQL #63884).SHOW PARTITIONSnow reportsStorageMediumasOBJECT_STORAGEandReplicaAllocationasNULL([fix](cloud) normalize SHOW PARTITIONS display for storage and replica #60871).New Features & Improvements
Compute-Storage Decoupling
ON TABLESfor event-driven cache warmup ([feature](cloud) Add table-level event-driven warm up #63832).Object Storage & External Data Sources
s3:GetObjectpermission and withouts3:ListBucket([opt](s3) Skip S3 listing for deterministic file paths using HEAD requests #60414).Observability & Operations
doris_fe_connection_maxand per-userdoris_fe_user_connection_maxmetrics ([feature](fe) Add connection max metrics #64742).SET_VARhints in Audit Logs ([fix](audit) record per-query SET_VAR hint session variables in audit log #64569).CREATE USERandALTER USERstatements in Audit Logs ([enhance](nereids) improve masking of user's password for ALTER USER and CREATE USER commands in audit logs #62141).Memory & Performance
inactive_filepage cache as available memory in cgroup environments, reducing unnecessary query cancellation ([improvement](cgroup) inactive_file should be treated as available memory to avoid query be cancelled #64347).raw_data_bytesto improve first-time Compaction batch-size estimation ([improve](compaction) Use segment footer raw_data_bytes for first-time batch size estimation #62263).Important Bug Fixes
Query Result Correctness
OFFSET([fix](nereids) clamp the merged limit of MERGE_TOP_N by the parent offset #64306).ORDER BYexpression pushdown for window functions and scalar subqueries ([fix](analyzer) Normalize aggregate order by pushdown #64787).UNION DISTINCT, which could change deduplication semantics ([fix](fe) Prevent cast project pushdown through union distinct #64080).Functions & Types
convert_tzconstant folding and partition pruning across Daylight Saving Time transitions ([fix](partition_prune) Avoid incorrect convert_tz partition pruning across DST transitions #63853, [fix](fe) Align convert_tz folding with BE DST handling #64029).datediffconstant folding with zero dates ([fix](fe) Fix datediff folding for zero date #64084).json_containsreturning false for duplicate elements in candidate arrays ([fix](be) Fix json contains duplicate array candidates #63301).array_firstandarray_last([fix](array function) Support boolean cast for array first and last #64847).array_sort([fix](function) Validate array_sort lambda arity #64825).COUNT(DISTINCT ...)Window Functions during analysis ([fix](window) only allow 1 argument in count distinct in window function #64783).retention()to its supported maximum of 32 arguments, preventing out-of-bounds memory access ([fix](retention) Limit param count to 32 to avoid BE heap overflow #64521).COUNT(DISTINCT variant)with a clear unsupported-type error instead of a BE internal error ([fix](variant) Reject COUNT DISTINCT on variant arguments #63479).CREATE TABLEanalysis ([fix](ddl) reject invalid IPv4 default value at CREATE TABLE time #62906).ISNULLexpressions by placing them underprimaryExpression([fix](parser) isNull should under primaryExpression #63619).Load & Transactions
http_stream(branch-4.0: [fix](stream-load) fix http_stream compressed file truncation and stabilize sql_cache P0 cases #64769).load_to_single_tabletrouting for Auto Partition tables ([fix](load) fix load_to_single_tablet routing for auto partition #64356).COPY INTO ... SELECTfailing to bind file-column placeholders ([fix](nereids) bind file column placeholders for copy into select #64395).enable_insert_strictincorrectly changing the semantics ofenable_strict_cast([fix](insert) enable_insert_strict should not affect semantic of enable_strict_cast #63794).INSERT OVERWRITEpartition routing until incremental open ([fix](insert overwrite) delay overwrite partition routing until incremental open #63209).Routine Load
read_committedzero-row diagnostics and delay retries for zero-row batches ([enhance](job) add zero-row hint for Kafka read_committed load #63664, [opt](job) delay Kafka read committed zero-row retries #64046).Compute-Storage Decoupling
commit_rowsetto preserve idempotency and prevent invalid commits ([fix](cloud) Validate recycle rowset key state during commit rowset #63985).File Cache & Storage
NewOlapScanner([fix](filecache) avoid duplicated FileCache counter accumulation in NewOlapScanner #61072).Lakehouse & External Data Sources
COUNT(*)pushdown throwing an NPE when snapshot summary counters are absent ([fix](iceberg) Fix NPE in COUNT(*) pushdown when snapshot summary omits total-* counters #64648).varinttypes ([bug](iceberg) mapping iceberg varint type to unsupported type #64331).1and0instead of unsupportedTRUEandFALSEliterals ([fix](jdbc) Push SQL Server/Oracle boolean predicates as 1/0 instead of TRUE/FALSE #64760).Metadata, Protocol & Observability
SHOW PROCESSLIST FULLreturning unexpected results ([fix](process list) return unexpected result in FULL mode #64631).SHOW VARIABLES([fix](show variables) Fix changed variable output in show variables #63734).$in MySQL-compatible pattern matching (branch-4.0: [fix](fe) Support dollar sign in mysql pattern #64259).Acknowledgments
Thanks to all contributors whose pull requests are included in this release:
@924060929 @airborne12 @BiteTheDDDDt @bobhan1 @CalvinKirs @csun5285 @dataroaring @deardeng @eldenmoon @englefly @feiniaofeiafei @felixwluo @foxtail463 @freemandealer @Gabriel39 @gavinchou @Hastyshell @HonestManXin @iaorekhov-1980 @jacktengg @Jungzhang @liaoxin01 @liutang123 @morningman @morrySnow @mrhhsg @Mryange @raghav-reglobe @seawinde @sollhui @starocean999 @suxiaogang223 @wyxxxcat @yiguolei @yoock @yujun777 @Yukang-Lian @zclllyybb @zhangrq5 @zhangstar333 @zhaorongsheng