Skip to content

[chore](variant) deprecate flatten nested property#61466

Merged
eldenmoon merged 2 commits intoapache:masterfrom
eldenmoon:deprecate-flatten-nested
Mar 19, 2026
Merged

[chore](variant) deprecate flatten nested property#61466
eldenmoon merged 2 commits intoapache:masterfrom
eldenmoon:deprecate-flatten-nested

Conversation

@eldenmoon
Copy link
Member

No description provided.

Copilot AI review requested due to automatic review settings March 18, 2026 06:51
@Thearas
Copy link
Contributor

Thearas commented Mar 18, 2026

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates Doris’ legacy VARIANT “flatten nested” switch to be explicitly labeled as deprecated across FE/BE, and updates regression tests/expected outputs to use the new property name.

Changes:

  • Renames the table property from variant_enable_flatten_nested to deprecated_variant_enable_flatten_nested and marks related FE session/table APIs as @Deprecated.
  • Renames BE parse/schema plumbing fields/methods to deprecated_*flatten_nested* while still persisting via the existing protobuf field.
  • Updates multiple VARIANT regression suites and SHOW TABLE PROPERTIES golden output to reflect the renamed property.

Reviewed changes

Copilot reviewed 28 out of 28 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
regression-test/suites/variant_p1/predefine/load.groovy Update table property key in VARIANT predefine p1 regression
regression-test/suites/variant_p1/doc_snapshot/load.groovy Update table property key in doc snapshot p1 regression
regression-test/suites/variant_p0/test_types_in_variant.groovy Update table property key in types regression
regression-test/suites/variant_p0/schema_change/test_double_write_when_schema_change.groovy Update table property key for schema-change regression
regression-test/suites/variant_p0/predefine/load.groovy Update table property key in predefine p0 regression
regression-test/suites/variant_p0/predefine/delete_update.groovy Update table property key in delete/update regression
regression-test/suites/variant_p0/nested2.groovy Update (commented) example property key
regression-test/suites/variant_p0/nested/nested_in_top_array.groovy Update property key in nested/top-array regression
regression-test/suites/variant_p0/nested/load.groovy Update (commented) property key usages
regression-test/suites/variant_p0/nested.groovy Update property key in nested regression tables
regression-test/suites/variant_p0/doc_mode/schema_change/test_double_write_when_schema_change.groovy Update property key in doc-mode schema-change regression
regression-test/suites/variant_p0/doc_mode/predefine/load.groovy Update property key in doc-mode predefine regression
regression-test/suites/variant_p0/doc_mode/delete_update.groovy Update property key in doc-mode delete/update regression
regression-test/suites/variant_p0/delete_update.groovy Update property key in delete/update regression
regression-test/suites/variant_github_events_nonConcurrent_upgrade_p2/load.groovy Update property key in github events upgrade regression
regression-test/suites/variant_github_events_nonConcurrent_p2/load.groovy Update property key in github events regression
regression-test/suites/variant_doc_mode_p2/load.groovy Update property key in doc-mode p2 regression
regression-test/data/query_p0/system/test_table_properties.out Update expected SHOW TABLE PROPERTIES output key
fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java Mark legacy session variable enable_variant_flatten_nested as deprecated and clarify docs
fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java Adjust create-table path comments for deprecated legacy switches
fe/fe-core/src/main/java/org/apache/doris/common/util/PropertyAnalyzer.java Rename legacy table property key constant and deprecate analyzer
fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java Mark legacy table property setter/getter as deprecated
be/src/util/json/json_parser.h Rename parse config/context field to deprecated_enable_flatten_nested
be/src/util/json/json_parser.cpp Propagate renamed parse config field in traversal logic
be/src/storage/tablet/tablet_schema.h Rename schema setter/getter + backing field to deprecated_*
be/src/storage/tablet/tablet_schema.cpp Map deprecated field to existing protobuf field + update comparisons
be/src/storage/tablet/tablet_meta.cpp Map thrift schema field into renamed tablet schema API
be/src/exec/common/variant_util.cpp Use deprecated schema flag when building parse configs / ambiguity checks

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

// Deprecated legacy switch for flatten-nested variant behavior.
// It is distinct from variant_enable_nested_group.
@Deprecated
public static final String PROPERTIES_VARIANT_ENABLE_FLATTEN_NESTED = "deprecated_variant_enable_flatten_nested";
Comment on lines +2495 to 2498
// Deprecated legacy flatten-nested switches.
// Only if session variable: enable_variant_flatten_nested = true and
// table property: variant_enable_flatten_nested = true
// we can enable variant flatten nested otherwise throw error
element_ctx.is_top_array = ctx.is_top_array;
traverse(element, element_ctx);
auto& [_, paths, values, flatten_nested, __, is_top_array] = element_ctx;
auto& [_, paths, values, deprecated_flatten_nested, __, is_top_array] = element_ctx;
// enable variant flatten nested as session variable, default is false,
// which means do not flatten nested when create table
// Deprecated legacy switch for flatten-nested variant behavior.
// It is distinct from variant_enable_nested_group.
@eldenmoon
Copy link
Member Author

/review

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review Summary for PR #61466: chore deprecate flatten nested property

This PR renames the variant_enable_flatten_nested property and related internal identifiers to carry a deprecated_ prefix, signaling the feature is deprecated. The rename is applied to the FE table property string, BE C++ member variables and accessors, and regression test SQL. Wire-protocol field names (protobuf/thrift) are correctly left unchanged.

Critical Checkpoints

1. Goal / Completeness:
The stated goal is to deprecate the variant_enable_flatten_nested property. The code changes rename the FE property string and BE internal names, and add @Deprecated annotations. However, there are two significant omissions (see issues below).

2. Modification scope / Focused:
The changes are focused and mechanical — a rename across FE, BE, and tests. Appropriate in scope.

3. Concurrency:
Not applicable — no concurrency changes.

4. Lifecycle / Static initialization:
Not applicable.

5. Configuration changes:
Yes — the table property name visible to users changed from variant_enable_flatten_nested to deprecated_variant_enable_flatten_nested. This is an incompatible change with no backward compatibility handling (see Issue #1).

6. Incompatible changes / Rolling upgrade compatibility:
The property string stored in FE metadata is changed without migration code. Existing tables that have this property stored will silently lose the value on FE restart (see Issue #1).

7. Parallel code paths:
All FE Java code referencing this property uses the PropertyAnalyzer.PROPERTIES_VARIANT_ENABLE_FLATTEN_NESTED constant, so the rename propagates correctly to all FE paths.

8. Test coverage:
BE unit tests are broken — 29 references across 6 test files still use the old field name enable_flatten_nested which was renamed to deprecated_enable_flatten_nested in ParseConfig (see Issue #2).

9. Observability / Transactions / Data writes / FE-BE variable passing:
Not applicable.

10. Performance:
No performance concerns — this is a pure rename.


Issues Found

Issue #1 (Critical): Missing backward compatibility for persisted metadata

The FE property string constant PROPERTIES_VARIANT_ENABLE_FLATTEN_NESTED is changed from "variant_enable_flatten_nested" to "deprecated_variant_enable_flatten_nested". This string is the key used in the persisted properties map of TableProperty. Existing tables created before this change have "variant_enable_flatten_nested" -> "true" stored in their metadata (BDBJE/editlog). After this PR, buildVariantEnableFlattenNested() in TableProperty.java:329-332 will look up the new key "deprecated_variant_enable_flatten_nested", which won't exist in old metadata, causing getOrDefault to return "false". This silently resets the property for all existing tables on FE restart.

Fix needed: Add migration logic in buildVariantEnableFlattenNested() to check for the old key and migrate it to the new key, e.g.:

public TableProperty buildVariantEnableFlattenNested() {
    // Backward compatibility: migrate old property key to new one
    String oldKey = "variant_enable_flatten_nested";
    if (properties.containsKey(oldKey)) {
        String oldValue = properties.remove(oldKey);
        properties.put(PropertyAnalyzer.PROPERTIES_VARIANT_ENABLE_FLATTEN_NESTED, oldValue);
    }
    variantEnableFlattenNested = Boolean.parseBoolean(
            properties.getOrDefault(PropertyAnalyzer.PROPERTIES_VARIANT_ENABLE_FLATTEN_NESTED, "false"));
    return this;
}

Issue #2 (Critical): BE unit tests will not compile

The ParseConfig struct field was renamed from enable_flatten_nested to deprecated_enable_flatten_nested in be/src/util/json/json_parser.h, but 29 references across 6 BE test files still use the old field name and were not updated:

  • be/test/testutil/variant_util.h (3 refs)
  • be/test/storage/segment/variant_column_writer_reader_test.cpp (7 refs)
  • be/test/storage/segment/variant_util_test.cpp (6 refs)
  • be/test/exec/common/schema_util_test.cpp (1 ref)
  • be/test/exec/common/schema_util_rowset_test.cpp (1 ref)
  • be/test/core/jsonb/json_parser_test.cpp (11 refs)

These all use config.enable_flatten_nested which should now be config.deprecated_enable_flatten_nested.


Both issues must be addressed before merging.

// Deprecated legacy switch for flatten-nested variant behavior.
// It is distinct from variant_enable_nested_group.
@Deprecated
public static final String PROPERTIES_VARIANT_ENABLE_FLATTEN_NESTED = "deprecated_variant_enable_flatten_nested";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Critical: Missing backward compatibility for persisted metadata.

Renaming this string constant from "variant_enable_flatten_nested" to "deprecated_variant_enable_flatten_nested" changes the key used to look up the property in the persisted properties map of TableProperty. Existing tables created before this change will have "variant_enable_flatten_nested" as the key in their stored metadata. After this change, buildVariantEnableFlattenNested() in TableProperty.java will fail to find the old key and silently default to false, losing the property value for all existing tables.

Fix: Add migration logic in TableProperty.buildVariantEnableFlattenNested() to check for the old key name and migrate it to the new one:

public TableProperty buildVariantEnableFlattenNested() {
    String oldKey = "variant_enable_flatten_nested";
    if (properties.containsKey(oldKey)) {
        String oldValue = properties.remove(oldKey);
        properties.put(PropertyAnalyzer.PROPERTIES_VARIANT_ENABLE_FLATTEN_NESTED, oldValue);
    }
    variantEnableFlattenNested = Boolean.parseBoolean(
            properties.getOrDefault(PropertyAnalyzer.PROPERTIES_VARIANT_ENABLE_FLATTEN_NESTED, "false"));
    return this;
}

@eldenmoon eldenmoon force-pushed the deprecate-flatten-nested branch from 0822ba8 to 8273cc1 Compare March 18, 2026 08:29
@eldenmoon
Copy link
Member Author

/review

@eldenmoon
Copy link
Member Author

run buildall

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review Summary: chore deprecate flatten nested property

This PR renames the variant_enable_flatten_nested table property to deprecated_variant_enable_flatten_nested across BE (C++), FE (Java), and regression tests, marking the feature as deprecated. The internal rename is consistent and thorough across all modules. However, there is a backward compatibility issue in the CREATE TABLE path.

Critical Checkpoint Conclusions

1. Goal / Correctness:
The goal is to deprecate the variant_enable_flatten_nested property by renaming it with a deprecated_ prefix. The BE-side rename is complete and correct. The FE-side has a deserialization migration path (migrateDeprecatedVariantEnableFlattenNestedProperty) that correctly handles already-persisted metadata. However, the CREATE TABLE path does NOT accept the old property name, which is a backward compatibility gap (see inline comment).

2. Minimal / Focused:
Yes — the change is a pure rename with deprecation annotations. No behavioral changes.

3. Concurrency:
No new concurrency concerns introduced. The rename is purely cosmetic.

4. Lifecycle / Static Init:
No lifecycle concerns. No static initialization order issues.

5. Configuration items:
The table property name visible to users changes from variant_enable_flatten_nested to deprecated_variant_enable_flatten_nested. The session variable name enable_variant_flatten_nested is unchanged. This asymmetry is acceptable since the session variable is a separate concept.

6. Incompatible changes / Rolling upgrade:
This is the key concern. The Thrift field name (variant_enable_flatten_nested in AgentService.thrift) and protobuf field name (enable_variant_flatten_nested in olap_file.proto) are unchanged — wire format compatibility is preserved. However, the user-facing SQL property name changes, which breaks existing DDL scripts that use variant_enable_flatten_nested in CREATE TABLE. The analyzeVariantFlattenNested method only looks for the new key deprecated_variant_enable_flatten_nested; the old key becomes an unrecognized property causing DdlException("Unknown properties"). See inline comment for details.

7. Parallel code paths:
The deserialization path (gsonPostProcessbuildVariantEnableFlattenNestedmigrateDeprecatedVariantEnableFlattenNestedProperty) correctly migrates the old persisted key. The CREATE TABLE analysis path does NOT have equivalent migration.

8. Test coverage:

  • Unit test testBuildVariantEnableFlattenNestedWithLegacyPropertyKey covers the deserialization migration path — good.
  • No test covers CREATE TABLE with the old property name variant_enable_flatten_nested to verify it still works (or to verify the expected error). This gap aligns with the backward compatibility issue.

9. Observability:
No new observability needed for a rename.

10. Transaction / Persistence:
The EditLog serialization uses gsonPostProcess which calls the migration method — existing persisted metadata with the old key will be correctly migrated on FE restart. This is correct.

11. FE-BE variable passing:
Thrift field names are unchanged. CreateReplicaTask still uses setVariantEnableFlattenNested (Thrift-generated method). No issues.

12. Performance:
No performance concerns — this is a pure rename.

Summary

The BE rename and the FE deserialization migration are clean and correct. The primary issue is the missing backward compatibility handling in analyzeVariantFlattenNested for users who pass the old property name variant_enable_flatten_nested during CREATE TABLE. This should either be handled by also checking LEGACY_PROPERTIES_VARIANT_ENABLE_FLATTEN_NESTED in the analyze method, or by adding a migration step early in the CREATE TABLE path.

// Deprecated legacy flatten-nested switches.
// Only if session variable: enable_variant_flatten_nested = true and
// table property: variant_enable_flatten_nested = true
// we can enable variant flatten nested otherwise throw error
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale comment: The comment on this line still says table property: variant_enable_flatten_nested = true, but the actual property key is now deprecated_variant_enable_flatten_nested. Consider updating to match.

@eldenmoon
Copy link
Member Author

run buildall

Preserve flatten nested table property on replay
@eldenmoon eldenmoon force-pushed the deprecate-flatten-nested branch from 8273cc1 to afdf5ae Compare March 18, 2026 09:56
@eldenmoon
Copy link
Member Author

run buildall

@doris-robot
Copy link

TPC-H: Total hot run time: 27224 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit afdf5ae913a5b3c11e1e4cc46415e09fb650a17b, data reload: false

------ Round 1 ----------------------------------
orders	Doris	NULL	NULL	0	0	0	NULL	0	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	17632	4550	4343	4343
q2	q3	10637	806	543	543
q4	4709	364	251	251
q5	7811	1231	1010	1010
q6	205	178	151	151
q7	821	862	682	682
q8	10420	1535	1395	1395
q9	5425	4776	4749	4749
q10	6339	1965	1693	1693
q11	467	266	239	239
q12	742	582	470	470
q13	18065	3003	2244	2244
q14	229	238	208	208
q15	q16	745	749	679	679
q17	727	791	516	516
q18	6151	5398	5212	5212
q19	1517	999	624	624
q20	549	498	388	388
q21	4598	2311	1564	1564
q22	380	321	263	263
Total cold run time: 98169 ms
Total hot run time: 27224 ms

----- Round 2, with runtime_filter_mode=off -----
orders	Doris	NULL	NULL	150000000	42	6422171781	NULL	22778155	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	4754	4595	4692	4595
q2	q3	3897	4357	3835	3835
q4	894	1232	831	831
q5	4103	4397	4391	4391
q6	193	184	140	140
q7	1767	1729	1527	1527
q8	2498	2903	2610	2610
q9	7413	7477	7586	7477
q10	3740	4004	3722	3722
q11	541	477	425	425
q12	487	625	476	476
q13	2711	3112	2292	2292
q14	287	302	283	283
q15	q16	719	748	722	722
q17	1184	1397	1376	1376
q18	7309	6882	6742	6742
q19	932	976	912	912
q20	2089	2192	2159	2159
q21	4039	3431	3383	3383
q22	479	424	370	370
Total cold run time: 50036 ms
Total hot run time: 48268 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 168519 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit afdf5ae913a5b3c11e1e4cc46415e09fb650a17b, data reload: false

query5	4332	653	522	522
query6	358	236	219	219
query7	4217	471	285	285
query8	347	248	232	232
query9	8708	2749	2765	2749
query10	522	389	355	355
query11	6978	5080	4878	4878
query12	187	134	128	128
query13	1282	469	352	352
query14	5809	3768	3500	3500
query14_1	2879	2777	2850	2777
query15	209	190	173	173
query16	982	485	453	453
query17	915	740	626	626
query18	2451	454	353	353
query19	219	212	187	187
query20	138	126	127	126
query21	213	133	113	113
query22	13241	14082	14625	14082
query23	16582	15878	15791	15791
query23_1	15926	15370	15292	15292
query24	7173	1619	1224	1224
query24_1	1268	1234	1220	1220
query25	537	470	419	419
query26	1241	264	148	148
query27	2762	486	305	305
query28	4460	1847	1845	1845
query29	830	572	479	479
query30	300	221	191	191
query31	1027	978	865	865
query32	84	71	71	71
query33	518	331	297	297
query34	910	876	518	518
query35	671	666	609	609
query36	1074	1133	1014	1014
query37	133	94	84	84
query38	2994	2896	2846	2846
query39	865	835	794	794
query39_1	792	791	790	790
query40	227	157	138	138
query41	61	59	59	59
query42	262	257	255	255
query43	239	255	221	221
query44	
query45	191	189	182	182
query46	878	991	614	614
query47	2116	2117	2062	2062
query48	312	331	247	247
query49	634	468	394	394
query50	697	289	220	220
query51	4091	4065	4112	4065
query52	267	267	254	254
query53	294	350	281	281
query54	315	280	274	274
query55	87	88	84	84
query56	316	331	305	305
query57	1919	1763	1635	1635
query58	286	276	278	276
query59	2816	2944	2735	2735
query60	347	343	324	324
query61	155	162	146	146
query62	628	594	543	543
query63	319	282	286	282
query64	5018	1295	1003	1003
query65	
query66	1471	462	385	385
query67	24260	24239	24259	24239
query68	
query69	427	312	286	286
query70	981	980	943	943
query71	358	322	306	306
query72	2866	2594	2433	2433
query73	552	555	330	330
query74	9621	9568	9432	9432
query75	2848	2754	2480	2480
query76	2286	1032	687	687
query77	380	386	318	318
query78	10939	11107	10409	10409
query79	1151	803	568	568
query80	1345	633	572	572
query81	570	280	225	225
query82	1155	169	123	123
query83	356	280	240	240
query84	292	126	101	101
query85	926	497	446	446
query86	424	323	324	323
query87	3174	3092	3003	3003
query88	3598	2691	2677	2677
query89	437	376	355	355
query90	2042	183	186	183
query91	169	166	138	138
query92	78	72	75	72
query93	947	863	501	501
query94	633	335	291	291
query95	583	339	394	339
query96	653	522	230	230
query97	2491	2460	2374	2374
query98	253	222	214	214
query99	1037	999	911	911
Total cold run time: 250430 ms
Total hot run time: 168519 ms

@hello-stephen
Copy link
Contributor

BE UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 52.68% (19773/37531)
Line Coverage 36.20% (184576/509858)
Region Coverage 32.45% (142851/440216)
Branch Coverage 33.64% (62494/185783)

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 100% (0/0) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 73.25% (26906/36734)
Line Coverage 56.69% (288070/508144)
Region Coverage 53.96% (239720/444262)
Branch Coverage 55.78% (103903/186265)

@eldenmoon
Copy link
Member Author

run buildall

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 88.89% (8/9) 🎉
Increment coverage report
Complete coverage report

@doris-robot
Copy link

TPC-H: Total hot run time: 27161 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit b1dcd8b035642a5ef97adea47bc65273f2ec1286, data reload: false

------ Round 1 ----------------------------------
orders	Doris	NULL	NULL	0	0	0	NULL	0	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	17618	4495	4305	4305
q2	q3	10708	830	529	529
q4	4733	375	257	257
q5	7957	1206	1032	1032
q6	220	173	144	144
q7	819	858	678	678
q8	10494	1486	1389	1389
q9	6529	4803	4752	4752
q10	6341	1950	1635	1635
q11	471	249	245	245
q12	745	593	473	473
q13	18107	2942	2182	2182
q14	228	237	211	211
q15	q16	744	748	673	673
q17	751	867	446	446
q18	6339	5485	5380	5380
q19	1259	1016	617	617
q20	550	493	386	386
q21	5249	1997	1566	1566
q22	361	314	261	261
Total cold run time: 100223 ms
Total hot run time: 27161 ms

----- Round 2, with runtime_filter_mode=off -----
orders	Doris	NULL	NULL	150000000	42	6422171781	NULL	22778155	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	4700	4760	4584	4584
q2	q3	3914	4334	3834	3834
q4	878	1259	780	780
q5	4097	4504	4567	4504
q6	195	178	145	145
q7	1802	1676	1543	1543
q8	2523	2752	2649	2649
q9	7602	7526	7329	7329
q10	3830	4095	3663	3663
q11	549	433	435	433
q12	497	602	470	470
q13	2842	3140	2388	2388
q14	292	297	275	275
q15	q16	763	766	703	703
q17	1179	1465	1440	1440
q18	7330	6838	6752	6752
q19	885	944	967	944
q20	2140	2135	2033	2033
q21	4041	3482	3423	3423
q22	461	430	377	377
Total cold run time: 50520 ms
Total hot run time: 48269 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 168458 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit b1dcd8b035642a5ef97adea47bc65273f2ec1286, data reload: false

query5	4327	645	484	484
query6	350	234	221	221
query7	4220	470	269	269
query8	356	252	236	236
query9	8711	2732	2743	2732
query10	545	421	345	345
query11	6966	5102	4917	4917
query12	183	130	129	129
query13	1292	471	353	353
query14	5625	3711	3505	3505
query14_1	2882	2809	2828	2809
query15	207	197	174	174
query16	976	474	440	440
query17	951	742	642	642
query18	2449	461	360	360
query19	220	216	201	201
query20	136	129	130	129
query21	217	139	125	125
query22	13326	14051	14724	14051
query23	16125	16090	15506	15506
query23_1	15725	15543	15963	15543
query24	7341	1631	1212	1212
query24_1	1245	1236	1238	1236
query25	614	472	410	410
query26	1256	262	152	152
query27	2783	488	296	296
query28	4467	1841	1847	1841
query29	812	558	476	476
query30	296	231	186	186
query31	1004	952	866	866
query32	79	72	71	71
query33	512	347	308	308
query34	915	882	534	534
query35	649	684	604	604
query36	1069	1135	987	987
query37	141	95	87	87
query38	2968	2902	2872	2872
query39	833	829	810	810
query39_1	797	782	835	782
query40	236	155	134	134
query41	63	60	59	59
query42	267	252	254	252
query43	246	251	211	211
query44	
query45	210	186	183	183
query46	883	991	601	601
query47	2087	2786	2062	2062
query48	320	325	228	228
query49	637	467	377	377
query50	693	277	219	219
query51	4033	4051	4088	4051
query52	264	271	253	253
query53	293	340	294	294
query54	318	277	274	274
query55	89	87	83	83
query56	322	341	328	328
query57	1953	1890	1714	1714
query58	295	280	283	280
query59	2781	2933	2759	2759
query60	341	328	335	328
query61	154	153	160	153
query62	632	590	524	524
query63	316	295	280	280
query64	4999	1284	1004	1004
query65	
query66	1467	459	379	379
query67	24368	24351	24259	24259
query68	
query69	417	321	285	285
query70	955	981	882	882
query71	341	306	304	304
query72	2933	2697	2530	2530
query73	542	557	324	324
query74	9645	9586	9382	9382
query75	2863	2773	2479	2479
query76	2277	1063	688	688
query77	369	379	314	314
query78	10921	11170	10430	10430
query79	2202	777	580	580
query80	1642	624	544	544
query81	563	259	228	228
query82	971	155	119	119
query83	343	262	241	241
query84	300	125	106	106
query85	907	482	449	449
query86	442	320	323	320
query87	3202	3142	2997	2997
query88	3597	2676	2677	2676
query89	436	367	350	350
query90	2036	181	183	181
query91	173	169	137	137
query92	76	78	70	70
query93	1004	848	504	504
query94	645	326	291	291
query95	592	417	323	323
query96	646	519	229	229
query97	2443	2460	2366	2366
query98	234	227	215	215
query99	999	997	899	899
Total cold run time: 251123 ms
Total hot run time: 168458 ms

@hello-stephen
Copy link
Contributor

BE UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 52.69% (19774/37531)
Line Coverage 36.20% (184574/509871)
Region Coverage 32.46% (142892/440227)
Branch Coverage 33.64% (62509/185795)

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 100% (0/0) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 71.72% (26345/36734)
Line Coverage 54.51% (277005/508157)
Region Coverage 51.83% (230248/444273)
Branch Coverage 53.26% (99212/186277)

1 similar comment
@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 100% (0/0) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 71.72% (26345/36734)
Line Coverage 54.51% (277005/508157)
Region Coverage 51.83% (230248/444273)
Branch Coverage 53.26% (99212/186277)

Copy link
Contributor

@csun5285 csun5285 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@github-actions
Copy link
Contributor

PR approved by anyone and no changes requested.

Copy link
Member

@airborne12 airborne12 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@eldenmoon eldenmoon merged commit 73223fa into apache:master Mar 19, 2026
27 of 30 checks passed
@github-actions
Copy link
Contributor

PR approved by at least one committer and no changes requested.

@github-actions github-actions bot added approved Indicates a PR has been approved by one committer. dev/4.1.x-conflict labels Mar 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by one committer. dev/4.1.x dev/4.1.x-conflict reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants