Skip to content

[draft](ivm) for run pipeline test - #66266

Closed
yujun777 wants to merge 278 commits into
apache:masterfrom
yujun777:ivm-yj-pipeline
Closed

yujun777 wants to merge 278 commits into
apache:masterfrom
yujun777:ivm-yj-pipeline

Conversation

@yujun777

Copy link
Copy Markdown
Contributor

What problem does this PR solve?

Issue Number: close #xxx

Related PR: #xxx

Problem Summary:

Release note

None

Check List (For Author)

  • Test

    • Regression test
    • Unit Test
    • Manual test (add detailed scripts or steps below)
    • No need to test or manual test. Explain why:
      • This is a refactor/code format and no logic has been changed.
      • Previous test can cover this change.
      • No code files have been changed.
      • Other reason
  • Behavior changed:

    • No.
    • Yes.
  • Does this need documentation?

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

  • Confirm the release note
  • Confirm test cases
  • Confirm document
  • Add branch pick label

@hello-stephen

Copy link
Copy Markdown
Contributor

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?

@yujun777

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17811	3974	3993	3974
q2	2087	319	201	201
q3	10318	1395	805	805
q4	4683	478	334	334
q5	7523	838	559	559
q6	198	170	137	137
q7	752	821	592	592
q8	9749	1620	1583	1583
q9	6172	4253	4304	4253
q10	6844	1745	1472	1472
q11	517	365	326	326
q12	764	584	461	461
q13	18064	3255	2703	2703
q14	259	256	251	251
q15	q16	790	776	708	708
q17	1031	918	1093	918
q18	6909	5814	5478	5478
q19	1455	1294	1130	1130
q20	829	684	602	602
q21	5895	2659	2323	2323
q22	437	362	297	297
Total cold run time: 103087 ms
Total hot run time: 29107 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	4405	4277	4271	4271
q2	291	317	207	207
q3	4536	4936	4384	4384
q4	2054	2141	1371	1371
q5	4388	4322	4277	4277
q6	230	183	127	127
q7	1708	2034	1704	1704
q8	2515	2201	2118	2118
q9	7823	7763	7626	7626
q10	4684	4585	4199	4199
q11	572	401	381	381
q12	748	748	528	528
q13	3393	3495	2975	2975
q14	330	316	285	285
q15	q16	696	748	657	657
q17	1343	1316	1338	1316
q18	8035	7369	6874	6874
q19	1119	1078	1097	1078
q20	2213	2185	1929	1929
q21	5259	4547	4417	4417
q22	509	470	396	396
Total cold run time: 56851 ms
Total hot run time: 51120 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 176900 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 1590e7e3228f8f0cafcaa89e841fece09c2475be, data reload: false

query5	4337	624	471	471
query6	505	221	209	209
query7	4857	570	361	361
query8	355	188	175	175
query9	8766	4054	4031	4031
query10	462	345	294	294
query11	5967	2299	2110	2110
query12	164	105	102	102
query13	1254	602	468	468
query14	6244	5182	4866	4866
query14_1	4215	4205	4208	4205
query15	215	196	178	178
query16	998	473	446	446
query17	1119	730	593	593
query18	2448	474	352	352
query19	218	197	157	157
query20	116	111	107	107
query21	239	160	144	144
query22	13620	13545	13255	13255
query23	17281	16399	16093	16093
query23_1	16207	16208	16215	16208
query24	7495	1812	1313	1313
query24_1	1314	1319	1295	1295
query25	575	468	398	398
query26	1338	355	217	217
query27	2586	598	381	381
query28	4437	2033	2023	2023
query29	1098	628	485	485
query30	352	269	222	222
query31	1112	1090	981	981
query32	116	66	61	61
query33	542	329	252	252
query34	1200	1165	659	659
query35	773	792	671	671
query36	1041	1050	914	914
query37	163	122	91	91
query38	1900	1709	1680	1680
query39	874	882	855	855
query39_1	839	853	828	828
query40	315	156	146	146
query41	66	63	64	63
query42	93	88	89	88
query43	319	326	279	279
query44	1401	790	774	774
query45	190	183	176	176
query46	1051	1208	745	745
query47	2198	2151	2090	2090
query48	405	435	290	290
query49	574	441	304	304
query50	1053	454	370	370
query51	10646	10522	10352	10352
query52	84	92	76	76
query53	265	282	201	201
query54	293	228	214	214
query55	73	71	68	68
query56	300	279	302	279
query57	1330	1313	1231	1231
query58	275	271	262	262
query59	1607	1623	1411	1411
query60	311	273	254	254
query61	163	149	146	146
query62	556	493	431	431
query63	238	200	201	200
query64	2854	1044	906	906
query65	4712	4624	4640	4624
query66	1832	497	391	391
query67	29225	29252	29165	29165
query68	3205	1564	919	919
query69	413	308	266	266
query70	891	808	767	767
query71	375	350	313	313
query72	3078	2665	2398	2398
query73	833	792	429	429
query74	5027	4889	4684	4684
query75	2516	2519	2121	2121
query76	2323	1173	760	760
query77	350	378	278	278
query78	11843	11874	11201	11201
query79	1401	1160	781	781
query80	1308	585	465	465
query81	558	335	291	291
query82	809	153	118	118
query83	359	324	295	295
query84	282	160	131	131
query85	1002	622	543	543
query86	430	242	230	230
query87	1831	1813	1719	1719
query88	3774	2868	2837	2837
query89	428	364	337	337
query90	2061	196	192	192
query91	204	194	163	163
query92	64	60	53	53
query93	1854	1562	949	949
query94	749	344	326	326
query95	776	591	461	461
query96	1143	805	370	370
query97	2642	2676	2521	2521
query98	216	209	199	199
query99	1082	1106	974	974
Total cold run time: 263918 ms
Total hot run time: 176900 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
ClickBench: Total hot run time: 24.73 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 1590e7e3228f8f0cafcaa89e841fece09c2475be, data reload: false

query1	0.00	0.00	0.00
query2	0.09	0.05	0.05
query3	0.26	0.13	0.14
query4	1.61	0.14	0.14
query5	0.24	0.21	0.24
query6	1.16	0.83	0.79
query7	0.04	0.01	0.01
query8	0.05	0.04	0.03
query9	0.38	0.31	0.33
query10	0.58	0.53	0.55
query11	0.19	0.14	0.13
query12	0.18	0.15	0.14
query13	0.47	0.48	0.46
query14	1.03	1.00	1.01
query15	0.62	0.59	0.61
query16	0.31	0.33	0.31
query17	1.05	1.11	1.10
query18	0.22	0.20	0.20
query19	2.08	1.91	1.95
query20	0.02	0.01	0.01
query21	15.42	0.22	0.15
query22	4.94	0.06	0.06
query23	16.16	0.30	0.12
query24	2.94	0.41	0.31
query25	0.11	0.05	0.04
query26	0.74	0.20	0.16
query27	0.04	0.04	0.04
query28	3.49	0.90	0.54
query29	12.49	4.07	3.28
query30	0.28	0.15	0.15
query31	2.77	0.58	0.31
query32	3.21	0.59	0.49
query33	3.27	3.18	3.24
query34	15.50	4.22	3.54
query35	3.51	3.51	3.53
query36	0.55	0.42	0.43
query37	0.10	0.07	0.06
query38	0.05	0.04	0.04
query39	0.04	0.04	0.03
query40	0.18	0.16	0.16
query41	0.09	0.04	0.03
query42	0.06	0.03	0.03
query43	0.05	0.04	0.03
Total cold run time: 96.57 s
Total hot run time: 24.73 s

@hello-stephen

Copy link
Copy Markdown
Contributor

BE UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 59.06% (25569/43296)
Line Coverage 43.14% (256325/594222)
Region Coverage 38.83% (203094/523058)
Branch Coverage 40.15% (92580/230557)

@hello-stephen

Copy link
Copy Markdown
Contributor

BE Regression && UT Coverage Report

Increment line coverage 100% (0/0) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 75.67% (31951/42226)
Line Coverage 60.34% (356170/590250)
Region Coverage 56.87% (298452/524801)
Branch Coverage 58.22% (134251/230595)

@yujun777

yujun777 commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

run buildall

@yujun777

Copy link
Copy Markdown
Contributor Author

run buildall

@yujun777

Copy link
Copy Markdown
Contributor Author

run buildall

1 similar comment
@yujun777

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage 79.51% (3732/4694) 🎉
Increment coverage report
Complete coverage report

@yujun777

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17603	3056	3041	3041
q2	1883	245	158	158
q3	10467	850	505	505
q4	4669	253	202	202
q5	7677	582	390	390
q6	137	117	101	101
q7	529	502	389	389
q8	9243	922	958	922
q9	3523	2419	2432	2419
q10	6496	837	697	697
q11	448	254	243	243
q12	691	388	343	343
q13	17858	1567	1161	1161
q14	162	152	140	140
q15	q16	435	406	367	367
q17	820	858	809	809
q18	3108	2242	2234	2234
q19	1106	936	837	837
q20	649	529	466	466
q21	4880	1705	1949	1705
q22	332	267	230	230
Total cold run time: 92716 ms
Total hot run time: 17359 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	3412	3345	3372	3345
q2	209	205	155	155
q3	2234	2344	2220	2220
q4	1191	1169	900	900
q5	2194	2126	2101	2101
q6	173	118	87	87
q7	1030	912	846	846
q8	1617	1422	1431	1422
q9	3156	3130	3105	3105
q10	1851	1777	1603	1603
q11	361	270	255	255
q12	461	435	336	336
q13	1484	1546	1184	1184
q14	173	172	158	158
q15	q16	388	394	356	356
q17	1054	1047	1045	1045
q18	4923	4354	4760	4354
q19	878	851	835	835
q20	968	923	795	795
q21	3534	3329	3261	3261
q22	419	356	326	326
Total cold run time: 31710 ms
Total hot run time: 28689 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 83576 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 8241ada24a9e54f8801cc3e742ca268e3084d98a, data reload: false

query5	4278	421	333	333
query6	408	174	155	155
query7	4849	436	268	268
query8	287	122	116	116
query9	8656	2926	2896	2896
query10	422	266	226	226
query11	5388	1064	916	916
query12	119	72	71	71
query13	1220	447	326	326
query14	5955	2202	2082	2082
query14_1	1981	1971	1975	1971
query15	170	116	107	107
query16	903	365	338	338
query17	763	442	349	349
query18	2323	303	231	231
query19	158	133	107	107
query20	71	70	68	68
query21	210	116	98	98
query22	5357	5284	5249	5249
query23	6634	6098	6036	6036
query23_1	5979	6035	6085	6035
query24	7317	1095	761	761
query24_1	772	772	750	750
query25	399	280	231	231
query26	1249	258	177	177
query27	2725	451	283	283
query28	4608	1488	1476	1476
query29	922	421	352	352
query30	270	178	152	152
query31	846	422	354	354
query32	102	51	48	48
query33	441	218	176	176
query34	1012	831	496	496
query35	418	406	332	332
query36	562	552	539	539
query37	121	84	75	75
query38	1002	835	808	808
query39	500	492	474	474
query39_1	482	458	446	446
query40	218	128	111	111
query41	57	55	54	54
query42	82	78	80	78
query43	244	248	214	214
query44	1019	564	557	557
query45	117	109	103	103
query46	804	845	537	537
query47	771	776	711	711
query48	323	312	242	242
query49	539	242	193	193
query50	836	335	261	261
query51	8163	8151	8424	8151
query52	84	78	75	75
query53	211	210	164	164
query54	258	186	177	177
query55	73	73	68	68
query56	255	254	232	232
query57	683	746	665	665
query58	255	210	215	210
query59	1207	1246	1096	1096
query60	278	214	212	212
query61	152	175	124	124
query62	343	217	178	178
query63	188	161	153	153
query64	2708	694	634	634
query65	1604	1568	1599	1568
query66	1932	306	238	238
query67	10013	9881	9654	9654
query68	3023	1244	798	798
query69	346	228	203	203
query70	671	609	613	609
query71	281	257	252	252
query72	2332	1723	1551	1551
query73	692	595	372	372
query74	1993	1233	1124	1124
query75	1259	1138	1026	1026
query76	2376	745	549	549
query77	253	257	212	212
query78	3987	3786	3340	3340
query79	2255	842	569	569
query80	1628	393	343	343
query81	486	204	179	179
query82	619	130	101	101
query83	318	258	229	229
query84	300	127	103	103
query85	856	436	385	385
query86	391	177	156	156
query87	1024	979	898	898
query88	2808	2155	2139	2139
query89	301	229	211	211
query90	1989	153	146	146
query91	156	142	124	124
query92	51	45	47	45
query93	1524	1192	758	758
query94	632	246	217	217
query95	632	423	357	357
query96	832	564	299	299
query97	1064	1064	1052	1052
query98	167	136	145	136
query99	415	360	313	313
Total cold run time: 178307 ms
Total hot run time: 83576 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
ClickBench: Total hot run time: 14.52 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 8241ada24a9e54f8801cc3e742ca268e3084d98a, data reload: false

query1	0.00	0.00	0.00
query2	0.07	0.04	0.03
query3	0.25	0.09	0.09
query4	1.61	0.10	0.10
query5	0.18	0.15	0.15
query6	1.27	0.71	0.68
query7	0.04	0.01	0.00
query8	0.05	0.03	0.03
query9	0.28	0.22	0.21
query10	0.35	0.34	0.34
query11	0.16	0.12	0.12
query12	0.15	0.13	0.12
query13	0.31	0.32	0.31
query14	0.44	0.46	0.45
query15	0.36	0.33	0.33
query16	0.23	0.23	0.23
query17	0.68	0.70	0.66
query18	0.19	0.17	0.17
query19	1.21	1.08	1.18
query20	0.01	0.01	0.01
query21	15.43	0.16	0.11
query22	5.05	0.04	0.04
query23	16.19	0.27	0.10
query24	3.01	0.34	0.28
query25	0.12	0.04	0.04
query26	0.84	0.17	0.12
query27	0.04	0.02	0.02
query28	3.65	0.58	0.27
query29	12.45	3.14	2.55
query30	0.25	0.11	0.11
query31	2.75	0.38	0.17
query32	3.52	0.32	0.22
query33	1.47	1.44	1.46
query34	15.39	2.19	1.73
query35	1.72	1.71	1.73
query36	0.45	0.31	0.30
query37	0.06	0.03	0.04
query38	0.04	0.02	0.02
query39	0.04	0.02	0.02
query40	0.11	0.08	0.07
query41	0.07	0.03	0.02
query42	0.03	0.02	0.03
query43	0.04	0.02	0.02
Total cold run time: 90.56 s
Total hot run time: 14.52 s

@hello-stephen

Copy link
Copy Markdown
Contributor

BE UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 62.19% (28919/46503)
Line Coverage 47.26% (302781/640604)
Region Coverage 42.93% (244352/569220)
Branch Coverage 44.50% (113735/255571)

@yujun777

Copy link
Copy Markdown
Contributor Author

run buildall

@yujun777

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17980	3029	3031	3029
q2	2311	244	148	148
q3	10251	930	532	532
q4	4779	257	199	199
q5	7687	565	397	397
q6	140	121	93	93
q7	531	522	379	379
q8	9268	924	1008	924
q9	3894	2413	2427	2413
q10	6612	835	682	682
q11	721	196	174	174
q12	673	268	202	202
q13	18086	1555	1130	1130
q14	164	154	138	138
q15	q16	447	404	369	369
q17	808	706	761	706
q18	3268	2266	2232	2232
q19	1144	912	774	774
q20	390	290	206	206
q21	5351	1616	1853	1616
q22	321	272	228	228
Total cold run time: 94826 ms
Total hot run time: 16571 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	3406	3301	3291	3291
q2	207	217	158	158
q3	2241	2331	2170	2170
q4	1194	1189	895	895
q5	2203	2108	2136	2108
q6	182	128	87	87
q7	1019	913	828	828
q8	1629	1407	1397	1397
q9	3104	3066	3074	3066
q10	1906	1805	1621	1621
q11	353	273	251	251
q12	476	444	337	337
q13	1505	1541	1164	1164
q14	170	167	153	153
q15	q16	388	401	354	354
q17	1036	1019	1021	1019
q18	4982	4371	4704	4371
q19	884	849	854	849
q20	984	925	908	908
q21	3530	3032	3129	3032
q22	398	336	311	311
Total cold run time: 31797 ms
Total hot run time: 28370 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 81064 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 93dd6ad3927a8c3710b8d716803493c30932611b, data reload: false

query5	4308	411	342	342
query6	438	138	124	124
query7	4938	392	224	224
query8	442	130	114	114
query9	8671	2865	2859	2859
query10	475	230	184	184
query11	5420	1031	913	913
query12	120	70	68	68
query13	1185	451	315	315
query14	6084	2175	2050	2050
query14_1	1954	1935	1946	1935
query15	176	119	110	110
query16	3196	387	372	372
query17	877	476	366	366
query18	2115	317	246	246
query19	171	144	107	107
query20	68	74	69	69
query21	894	105	87	87
query22	5615	5349	5257	5257
query23	6641	6346	5905	5905
query23_1	5975	6092	6182	6092
query24	7287	1121	778	778
query24_1	761	797	757	757
query25	441	306	256	256
query26	1242	227	130	130
query27	2745	419	240	240
query28	4653	1480	1491	1480
query29	957	457	364	364
query30	305	157	130	130
query31	825	414	324	324
query32	98	46	48	46
query33	521	215	178	178
query34	1129	835	480	480
query35	405	411	333	333
query36	560	674	535	535
query37	133	81	68	68
query38	1048	857	815	815
query39	516	508	505	505
query39_1	451	488	484	484
query40	227	85	74	74
query41	66	49	50	49
query42	70	73	74	73
query43	239	244	214	214
query44	1053	544	550	544
query45	106	105	97	97
query46	777	812	529	529
query47	779	746	692	692
query48	297	310	233	233
query49	636	242	183	183
query50	768	254	193	193
query51	7924	7887	7927	7887
query52	66	65	60	60
query53	187	196	139	139
query54	243	161	144	144
query55	71	56	53	53
query56	181	169	160	160
query57	892	665	660	660
query58	199	158	171	158
query59	1155	1180	1077	1077
query60	256	180	161	161
query61	109	110	107	107
query62	349	201	175	175
query63	178	134	138	134
query64	2298	667	572	572
query65	1657	1564	1576	1564
query66	1756	256	203	203
query67	9928	9585	9464	9464
query68	2763	1145	737	737
query69	528	223	188	188
query70	659	618	617	617
query71	248	170	169	169
query72	2907	1737	1515	1515
query73	675	539	330	330
query74	1592	1207	1123	1123
query75	1165	1096	959	959
query76	1864	719	548	548
query77	259	267	215	215
query78	3771	3677	3203	3203
query79	1800	801	591	591
query80	1172	351	307	307
query81	544	158	132	132
query82	720	126	94	94
query83	291	218	200	200
query84	375	152	88	88
query85	845	358	309	309
query86	416	174	172	172
query87	997	963	893	893
query88	2817	2080	2101	2080
query89	289	202	172	172
query90	1989	125	133	125
query91	129	120	98	98
query92	52	48	45	45
query93	1389	1084	642	642
query94	690	246	221	221
query95	510	242	291	242
query96	814	587	257	257
query97	1050	1113	1010	1010
query98	141	133	129	129
query99	521	342	310	310
Total cold run time: 182482 ms
Total hot run time: 81064 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
ClickBench: Total hot run time: 14.5 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 93dd6ad3927a8c3710b8d716803493c30932611b, data reload: false

query1	0.01	0.00	0.00
query2	0.30	0.03	0.04
query3	0.57	0.12	0.10
query4	1.74	0.10	0.09
query5	0.17	0.16	0.16
query6	1.51	0.69	0.70
query7	0.04	0.01	0.00
query8	0.04	0.03	0.03
query9	0.56	0.21	0.22
query10	0.35	0.34	0.34
query11	0.25	0.11	0.12
query12	0.21	0.13	0.12
query13	0.30	0.30	0.30
query14	0.47	0.45	0.44
query15	0.43	0.36	0.33
query16	0.23	0.24	0.22
query17	0.68	0.73	0.68
query18	0.17	0.14	0.16
query19	1.44	1.19	1.16
query20	0.02	0.01	0.01
query21	15.75	0.14	0.11
query22	4.79	0.04	0.04
query23	16.71	0.25	0.10
query24	12.97	0.32	0.27
query25	0.10	0.03	0.04
query26	0.72	0.16	0.11
query27	0.04	0.02	0.03
query28	3.65	0.54	0.28
query29	12.73	3.16	2.55
query30	0.25	0.11	0.12
query31	2.75	0.37	0.17
query32	3.53	0.33	0.23
query33	1.50	1.39	1.44
query34	15.32	2.14	1.72
query35	1.75	1.73	1.70
query36	0.50	0.29	0.28
query37	0.20	0.04	0.04
query38	0.05	0.03	0.03
query39	0.12	0.03	0.03
query40	0.20	0.08	0.07
query41	0.26	0.03	0.02
query42	0.20	0.02	0.02
query43	0.03	0.02	0.03
Total cold run time: 103.61 s
Total hot run time: 14.5 s

@yujun777

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage 75.29% (3575/4748) 🎉
Increment coverage report
Complete coverage report

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17658	3045	3009	3009
q2	2095	267	227	227
q3	10226	863	510	510
q4	4668	242	203	203
q5	7679	576	382	382
q6	133	114	95	95
q7	521	511	398	398
q8	9251	866	959	866
q9	3497	2419	2395	2395
q10	6476	838	716	716
q11	394	196	182	182
q12	604	262	203	203
q13	18114	1502	1172	1172
q14	154	145	134	134
q15	q16	430	393	369	369
q17	1363	886	833	833
q18	3111	2248	2219	2219
q19	1125	904	760	760
q20	366	282	204	204
q21	4849	1728	1875	1728
q22	326	265	231	231
Total cold run time: 93040 ms
Total hot run time: 16836 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	3401	3322	3326	3322
q2	505	394	356	356
q3	2223	2381	2190	2190
q4	1184	1182	902	902
q5	2183	2130	2105	2105
q6	166	120	86	86
q7	1027	931	858	858
q8	1596	1415	1411	1411
q9	3140	3110	3091	3091
q10	1856	1783	1637	1637
q11	360	267	248	248
q12	450	425	342	342
q13	1459	1538	1166	1166
q14	188	185	168	168
q15	q16	393	401	363	363
q17	3678	3275	3199	3199
q18	4809	4401	4692	4401
q19	859	817	900	817
q20	1036	952	846	846
q21	3872	3128	3307	3128
q22	398	342	340	340
Total cold run time: 34783 ms
Total hot run time: 30976 ms

yujun777 and others added 19 commits September 1, 2026 10:04
Inject a constant tinyint 1 match flag project on the null side of each
outer join (LOJ right, ROJ left, FULL both, inner/cross none) during IVM
normalize. The join's null filling turns the flag NULL for unmatched
rows, so hash(left_rid, [left_flag], right_rid, [right_flag]) decouples
"NULL row id <=> unmatched" and prepares for a future PR that makes child
row ids nullable (single-column MOW key used directly as largeint).

- addJoinNullSideMatchedColumn appends Alias(TinyIntLiteral(1), flag) to
  the join child; flags are looked up by name from the join output
  (post null-fill) and consumed by the compose project above the join
- identity keys are captured before flag-wrap and re-registered on the
  wrapped child so the flag is never part of the keys
- IvmDeltaRewriteHelper.findSlotByName widened to public for name lookup
- IvmNormalizeMTMVJoinTest covers key order for LOJ/ROJ/FULL/INNER and
  nested joins, flag consumption by compose projects, and output hygiene

Co-Authored-By: Claude <noreply@anthropic.com>
buildRowIdHash returns cast(key AS LARGEINT) directly when the row-id
has a single key that widens losslessly to largeint, instead of hashing
it: no hash collision, and the row-id is NULL exactly when the key is
NULL. Callers must treat row-ids as nullable:

- agg apply join matches row-ids with null-safe equality
- net-zero filter signals unmatched delta rows via the MV-side group
  count (COUNT(*) is never NULL) instead of IsNull(row-id), so the
  NULL-key group (NULL row-id) is not mistaken for an unmatched row

Fixes stale test assertions (Cast instead of MurmurHash3128 for
single-key row-ids, NullSafeEqual join conjuncts, pooled hidden-column
reuse) and regenerates regression expected output (row-id value and
nullability) for agg_shared_columns, refresh_dry_run, mtmv_row_binlog.
Adds test_ivm_nullable_row_id covering NULL-key MOW rows and NULL
group-by keys.

Co-Authored-By: Claude <noreply@anthropic.com>
…ntal refresh

Move the stored-vs-current IVM plan signature check from IvmIncrRefreshMTMV
into IvmNormalizeMTMV: once normalization completes and the signature is
computed, an INCREMENTAL-mode statement validates it against the stored
layout baseline and fails fast with PLAN_SIGNATURE_MISMATCH instead of
attempting a delta rewrite against a stale baseline.

Key changes:
- IvmNormalizeMTMV.rewriteRoot validates the signature after computing it
  when the rewrite context mode is INCREMENTAL
- IvmIncrRefreshMTMV drops its validatePlanSignature call and method

Unit Test:
- IvmNormalizeMTMVTest: testIncrementalSignatureMismatchThrowsAtNormalize,
  testIncrementalSignatureMatchPassesNormalize
- IvmIncrRefreshMTMVTest: removed stale testSignatureMismatchThrowsBeforeDeltaRewrite
…d of largeint

buildRowIdHash previously passed a single key through only when it could
be losslessly widened to largeint (cast to LARGEINT); any other single
key fell back to a murmur hash. Since any eligible MOW key type can serve
as the row-id without hash collision, the passthrough now applies to every
type allowed by ColumnDefinition.isEligibleKeyType, and the row-id keeps
the key's own type. A scalar agg (empty key list) now uses TinyIntLiteral(0)
instead of LargeIntLiteral(0) for the same reason.

Key changes:
- IvmUtil.buildRowIdHash: single-key passthrough condition switched from
  isInjectiveCastTo(LargeIntType) to ColumnDefinition.isEligibleKeyType,
  returning the key itself without a Cast; empty key list returns
  TinyIntLiteral(0); javadoc updated
- IvmNormalizeMTMV: updated computeScanRowIdAndKeys javadoc to reflect
  the new passthrough semantics

Unit Test:
- IvmUtilTest: single eligible INT/VARCHAR/largeint keys pass through,
  single STRING key still hashes, empty list returns TinyIntLiteral(0)
- IvmNormalizeMTMVTest: row-id assertions updated to the key itself for
  grouped agg and excluded agg-key scans, scalar agg row-id is TinyInt(0)
- New regression test_ivm_varchar_key_rowid: non-agg and agg IVM MVs over
  a single VARCHAR-key MOW table, three incremental refreshes (initial,
  upsert, delete) plus a final COMPLETE refresh, with DESC (show_hidden_
  columns=true) asserting the row-id column keeps the varchar type
- Regenerated expected outputs for test_ivm_agg_shared_columns (row-id
  largeint -> int) and test_ivm_explain_refresh (join shuffle change);
  full mtmv_p0/ivm regression 77/77 passed
… in IvmNormalizeMTMV

Rename ScanRowId.rowIdExpr to mergedRowIdExpr so the field name matches its
semantics (hash of all scan key slots), and collect keySlots, remainKeys and
baseTableRowId in a single pass over the scan output instead of three
separate stream pipelines.

Key changes:
- Rename ScanRowId.rowIdExpr to mergedRowIdExpr.
- Merge keySlots/remainKeys/baseTableRowId collection into one for loop.

Unit Test:
- mvn compile -pl fe-core -am -DskipTests
…reams

Add an IvmStreams column to the mv_infos table function that maps each IVM
base table (full catalog.db.table path) to the IVM stream backing it, so users
can tell which stream corresponds to which base table.

Key changes:
- Append IvmStreams(STRING) column to the MvInfosTableValuedFunction schema
- Populate it in MetadataGenerator via IvmUtil.streamName and relation base tables
- List only streams that actually exist, skipping excluded trigger tables
- Return empty string for non-IVM materialized views

Unit Test:
- test_ivm_basic_mtmv
- test_ivm_cross_db_same_name
- test_build_mtmv
Fix two issues surfaced by rebasing the ivm branch onto upstream master: the withPreSnapshot comment lost its indentation (checkstyle violation) and the test still referenced ResolveCloudTableStreamReadState, which upstream renamed to CloudTableStreamReadStateHook.

Key changes:
- LogicalOlapScan: restore 4-space indentation of withPreSnapshot javadoc
- InsertIntoTableCommandTableStreamTest: call CloudTableStreamReadStateHook.resolve via Deencapsulation instead of the removed ResolveCloudTableStreamReadState.rewriteRoot

Unit Test:
- ./build.sh --fe --clean passed
The guard skipping alias injection for views without an explicit column
list was restored in 33ceb93, and the second assertion in
CreateViewTest.testAlterView was updated at that time, but the first
assertion in the same test still expected uppercase AS aliases, so the
suite failed on any environment running current behavior.

Key changes:
- Update the stale expectation to keep the original lowercase as text

Unit Test:
- run-fe-ut.sh --run CreateViewTest passed 9/9
…fresh

EXPLAIN SHAPE PLAN of the IVM incremental refresh chose broadcast on CI
but bucketShuffle locally: join distribution is a cost-based decision
sensitive to environment such as BE count. Session switches like
enable_bucket_shuffle_join cannot pin it here because
isBucketShuffleDownGrade short-circuits when the join child is not a
GroupPlan, bypassing every downgrade path.

Key changes:
- Set broadcast_row_count_limit=0 in the suite so the broadcast candidate
  is structurally excluded; bucketShuffle always beats plain shuffle since
  it only redistributes one side, independent of BE count

Unit Test:
- run-regression-test.sh -d mtmv_p0/ivm -s test_ivm_explain_refresh passed twice consecutively with unchanged .out
IVM refresh synthesizes LogicalOlapTableStreamScan after relation binding:
COMPLETE rewrites base scans in IvmFullRefreshMTMV and INCREMENTAL creates
delta scans via IvmDeltaRewriteState. These scans never pass BindRelation,
so CloudTableStreamReadStateHook is never registered for their statements
and their cloud read states are never installed. Since apache#66739 tightened
StreamConsumptionInfoExtractor, every IVM MV refresh failed in cloud mode
with "Cloud Table Stream read state must be installed during relation
analysis".

Key changes:
- Expose the install orchestration as public static
  CloudTableStreamReadStateHook.installReadStates(Plan): no-op on
  shared-nothing and on plans without stream scans
- Register the hook in IvmFullRefreshMTMV so afterAnalyze batch-installs
  read states for COMPLETE refresh stream scans
- Call installReadStates at the single return of
  IvmIncrRefreshMTMV.rewriteRoot for INCREMENTAL delta scans
- Update the extractor error message accordingly

Unit Test:
- run-regression-test.sh -d mtmv_p0/ivm -s test_ivm_basic_mtmv passed on a
  local cloud cluster (1FE+1BE+1MS+1Recycler+FDB), previously failing
These suites assert local-mode-specific behavior and fail on cloud
deployments even after the read-state install fix:

- test_ivm_refresh_dry_run: __DORIS_SEQUENCE_COL__ derives from txn
  versioning, which differs between cloud and local (6145 vs 4097)
- test_ivm_explain_refresh: the refresh sink plan on cloud has no
  PhysicalDistribute[DistributionSpecOlapTableSinkHashPartitioned] node
- test_ivm_execution_failure_no_fallback: failure-injection debug points
  target DatabaseTransactionMgr and the shared-nothing insert RPC path,
  which the cloud transaction manager never hits

Key changes:
- Skip the three suites via isCloudMode() with the specific difference
  noted in comments and logs

Unit Test:
- run-regression-test.sh -d mtmv_p0/ivm with the three suites passed on
  the local cloud cluster (skipped as intended)
An AUTO refresh built attempts [PARTITIONS, COMPLETE] for every non-IVM
MTMV. The PARTITIONS attempt trusts isMTMVSync, whose per-table verdict
treats tables not implementing MTMVRelatedTableIf (JDBC plugin tables,
views) as always synchronous. A deferred MV over such base tables was
judged FRESH on its first AUTO and skipped as NOT_REFRESH while still
empty, leaving external regression test_mysql_mtmv failing with an empty
MV after a refresh task that reported SUCCESS.

Key changes:
- buildAttempts: add the PARTITIONS attempt for AUTO only when the MV refresh method is not COMPLETE, so COMPLETE-method MVs always go through the full-refresh attempt and log the routing decision
- MTMVTaskTest: pin the attempt chain for COMPLETE-method, non-COMPLETE-method and IVM+INCREMENTAL AUTO requests, and pin that explicit partition lists never upgrade to a full refresh
- regression: add mtmv_p0/test_auto_refresh_complete_method using an internal view to reproduce the sync-check blind spot without external environments, asserting task RefreshMode=COMPLETE across repeated AUTO refreshes including after new base data arrives

Unit Test:
- MTMVTaskTest (47 tests passed)
- regression suites mtmv_p0/test_auto_refresh_complete_method and mtmv_p0/test_mysql_mtmv passed on local cluster
- InsertIntoTableCommandTest: duplicated class-closing brace (checkstyle parse error)
- CreateTableCommandTest: more than one empty line before testRejectMaxValueInListPartition
- DatabaseTransactionMgrTest: wrong import order (IvmInfo must sort before TestLogAppender)

Co-Authored-By: Claude <noreply@anthropic.com>
…tream tests

047882e renamed the hook's static method resolve() to the public
installReadStates() but the five test call sites in
InsertIntoTableCommandTableStreamTest still invoked "resolve", so the
four testCloud* tests failed with "No compatible static method found".
Pre-existing on the ivm branch, surfaced by the post-rebase FE UT run.

Co-Authored-By: Claude <noreply@anthropic.com>
…detail tables

DUP_KEYS base tables previously used uuid_numeric() as the IVM row-id, which is
non-deterministic and forced delete/update deltas to fall back to full refresh.
DUP tables with row binlog always carry the __DORIS_ROW_LSN_COL__ hidden column,
so the per-row lsn is now treated like a UNIQUE table's key columns and flows
through the same deterministic row-id construction. DUP tables without row
binlog keep the legacy uuid row-id and are still rejected by the binlog check.

Key changes:
- IvmNormalizeMTMV.computeScanRowIdAndKeys: unified keyColNames-based
  buildDeterministicScanRowIdAndKeys; DUP + row binlog uses the row lsn column
  as the identity key, DUP without row binlog keeps uuid_numeric()
- LogicalOlapTableStreamScan.computeOutput: expose __DORIS_ROW_LSN_COL__ under
  IVM rewrite for RESET/SNAPSHOT stream scans (incremental scans expose the
  stream lsn virtual column instead)
- IvmLinearDeltaHandler: map the incremental delta scan's STREAM_LSN_COL back
  to the original scan's ROW_LSN_COL slot
- IvmUtil / IvmDeltaRewriteHelper: fail loudly instead of defaulting the row
  lsn column to 0 when it is missing from a scan output
- Propagate the MTMV's excluded trigger tables into the incremental refresh
  statement contexts (job, dry run, EXPLAIN INCREMENTAL) so excluded tables
  are not validated for binlog / key-type support

Unit Test:
- IvmNormalizeMTMVTest (52), IvmNormalizeMTMVJoinTest (43), IvmNormalizeMTMVUnionTest (10)
- IvmDeltaRewriterTest (20), IvmLinearDeltaHandlerTest (37)
- IvmIncrRefreshManagerTest (11), RefreshMTMVCommandTest (13), ExplainRefreshMTMVCommandTest (23)
- New regression test_ivm_dup_keys_lsn_rowid and test_ivm_dup_excluded_no_binlog_fallback;
  updated test_ivm_complete_refresh_rowid / test_ivm_inner_join_1 for deterministic DUP row-id
### What problem does this PR solve?

Issue Number: N/A

Related PR: N/A

Problem Summary: Changing excluded_trigger_tables clears the refresh snapshot while leaving a successfully refreshed MTMV in NORMAL state. AUTO refresh could then run the partition freshness check with the new exclusions, incorrectly conclude that no refresh was needed, and leave stale data in the materialized view. Route only non-IVM AUTO refreshes in NORMAL/SUCCESS state without a snapshot directly to COMPLETE so the invalidated baseline is rebuilt, while preserving initial refresh and existing partition refresh behavior.

### Release note

AUTO refresh now rebuilds a successfully established MTMV baseline after it has been invalidated.

### Check List (For Author)

- Test: Unit Test and Regression Test
    - ./run-fe-ut.sh --run org.apache.doris.mtmv.MTMVTaskTest
    - ./run-regression-test.sh --run -d mtmv_p0 -s test_excluded_trigger_table_mtmv
- Behavior changed: Yes. A non-IVM AUTO refresh rebuilds an invalidated successful baseline with COMPLETE refresh.
- Does this need documentation: No
… refresh

Adds an MTMV property that limits IVM incremental refresh of each configured
base table to its last N partitions (by partition value). Changes outside the
window are ignored on the incremental path, so users with very old partitions
they no longer care about can cut refresh computation cost. COMPLETE refresh
stays full-table and authoritative; the property is not part of the IVM plan
signature, so altering it takes effect immediately and removed windows replay
accumulated binlog to catch up.

Key changes:
- PropertyAnalyzer / MTMVPropertyUtil: parse and validate "tbl:N,...", value-ordered window (range upper bound / list value), excluded_trigger_tables-style name matching
- CreateMTMVInfo / AlterMTMVPropertyInfo: base-table membership check at create/alter; non-IVM rejected on ALTER only (AUTO creation may fall back to non-IVM)
- IvmDeltaRewriteState / IvmDeltaRewriter: window the stream scan (partitions and tablets), snapshot scans, and excluded trigger tables; hasPendingData only checks window partitions
- Regression suite test_ivm_partition_window_limit with window-maintained / window-ignored / shrink / catch-up / excluded+windowed scenarios

Unit Test:
- AlterMTMVTest: non-IVM create allowed, non-IVM alter rejected, unknown table rejected at create and alter, ivm_use_full_keys alter rejected
- MTMVPropertyUtilTest: parse, name matching, duplicate/ambiguous rejection, value-ordered window ids, non-partitioned/unlimited returns
- IvmDeltaRewriteStateTest: window restriction, tablet narrowing, excluded-table windowing, selection intersection
- Regression test_ivm_partition_window_limit passed on local cluster
Partitioned (FOLLOW_BASE_TABLE) IVM materialized views previously rejected
queries containing a OneRowRelation. The restriction was a scope decision from
the initial OneRowRelation support, not a known failure mode: the constant side
produces no delta, partition routing comes from the real base table, and the
initial-refresh COMPLETE mechanism is generic. Removing it lets constant-dimension
join fact tables with growing partitions use IVM incremental refresh.

Key changes:
- CreateMTMVInfo: drop validateIvmOneRowRelationPartition and the now-unused containsOneRowRelation field/state snapshot
- CreateMTMVCommandTest: partitioned one-row creation is now allowed; outer join retained-side determinism test updated (row-lsn row-id makes DUP retained sides deterministic)
- Regression test_ivm_one_row_relation_partitioned: multi-partition incremental maintenance plus a growing-PCT scenario (base table starts with one partition, ADD PARTITION + insert + refresh, MV follows automatically)

Unit Test:
- CreateMTMVCommandTest: 93 tests pass (one-row partitioned allowed, outer join with deterministic row-id allowed)
- Regression test_ivm_one_row_relation_partitioned passed on local cluster
Upstream removed the schema-based OlapTableStream constructors and resolves the stream base table through the catalog (TableStreamBaseTableInfo), so the IVM delta tests no longer compile and registered test streams can no longer resolve their mock base tables.

Key changes:
- Use the new OlapTableStream(id, name, baseTable) constructor in IvmDeltaTestBase and IvmDeltaRewriteHelperTest
- Register the mock base table into test_db in registerTestStream so the stream resolves it by id, replacing any stale object registered under reused mock ids
- Set up the IVM rewrite ConnectContext in testRemapScanOutputForPreSnapshotPreservesExprId so the pre-snapshot stream scan carries __DORIS_ROW_LSN_COL__

Unit Test:
- RefreshMTMVCommandTest, RefreshMTMVInfoAnalyzeTest, ExplainRefreshMTMVCommandTest, CreateMTMVCommandTest, AlterMTMVTest, ShowCreateMTMVTest
- IvmIncrRefreshManagerTest, MTMVTaskTest, MTMVJobManagerTest, MTMVTaskContextCompatTest, OlapTableStreamUpdateTest
- IvmDeltaRewriteHelperTest, IvmAggDeltaHandlerTest, IvmDeltaRewriterTest (324 tests, all passed)
@yujun777

yujun777 commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage 75.50% (3692/4890) 🎉
Increment coverage report
Complete coverage report

… resolution

After the dynamic stream schema and the lsn row-id change, IvmJoinDeltaHandlerTest
failed with 20 errors and UpdateMvByPartitionCommandTest with 1 failure. Mock streams
could not resolve their base tables by id when mocks reused the same name with a
different id (Database.registerTable refuses same-name registration), the test-driven
delta rewrite ran without the production IVM rewrite ConnectContext so snapshot stream
scans dropped __DORIS_ROW_LSN_COL__, and the planner assertion still expected the
legacy LARGEINT uuid row-id for a DUP binlog base table.

Key changes:
- IvmDeltaTestBase.registerTestStream: drop stale mock tables registered under the same name as well as the same id before registering
- IvmJoinDeltaHandlerTest: run delta rewrites under a thread-local ConnectContext carrying the IVM rewrite context (runWithIvmRewriteContext helper), matching production incremental refresh
- UpdateMvByPartitionCommandTest: expect the BIGINT lsn row-id for the DUP binlog base and add a MOW UNIQUE base MV pinning the LARGEINT multi-key hash row-id

Unit Test:
- IvmJoinDeltaHandlerTest (23 tests), UpdateMvByPartitionCommandTest (10 tests)
- Full Ivm*Test suite (372 tests), checkstyle clean
…es baseline rebuild

e234ad2 routes the first AUTO refresh after changing excluded_trigger_tables
to a COMPLETE baseline rebuild, because the alter clears the refresh snapshot and
the freshness check can no longer prove the baseline. The rebuilt MV also reflects
the excluded table's current data. The suite still expected the pre-rebuild
semantics (NOT_REFRESH and no row from the excluded table), so it failed.

Key changes:
- Expect COMPLETE for trigger_table_not_need_refresh (first AUTO refresh after the alter rebuilds the baseline)
- Expect the rebuilt MV to contain the excluded table's current row in after_trigger_table

Unit Test:
- mtmv_p0/test_create_mtmv_with_view regression run with forceGenOut to regenerate the expected output against the current behavior
Restore the apache#66889 behavior: SNAPSHOT reads on DUP_KEYS streams should expose the
base __DORIS_ROW_LSN_COL__ column. It was filtered out when hidden column handling
moved into computeOutput in 5afd66e, making snapshot queries on the column fail
with Unknown column.

Key changes:
- LogicalOlapTableStreamScan.computeOutput: expose ROW_LSN_COL for SNAPSHOT reads on
  DUP_KEYS tables, hoist the keys-type check out of the column loop, and correct the
  forceNullable comment for the SNAPSHOT expansion
- test_olap_table_stream_snapshot: add partitioned DUP + show_initial_rows=false case
  asserting the snapshot image and base row LSN

Unit Test:
- regression-test/suites/table_stream_p0/test_olap_table_stream_snapshot.groovy (pass)
… enlarged or removed

Enlarging or removing ivm_partition_window_limit brings previously lossy
partitions back into the refresh range, but their stream backlog was skipped by
the windowed refreshes. A strict INCREMENTAL refresh right after the ALTER was
wrongly skipped as "all partitions are synced" and returned SUCCESS with stale
data (DORIS-28376). The ALTER now invalidates the refresh snapshot and marks
the IVM baseline for a complete rebuild, so the next refresh covers the new
range; a strict INCREMENTAL is rejected until then.

Key changes:
- MTMV.alterMvProperties: detect window enlargement/removal per base table and
  require a complete baseline rebuild, merged with the excluded_trigger_tables
  invalidation so schemaChangeVersion/snapshot are bumped once
- PropertyAnalyzer: document the enlarge/remove contract on the property
- test_ivm_partition_window_remove: new regression covering window removal and
  enlargement (strict INCREMENTAL rejected, AUTO refresh performs COMPLETE and
  replays the backlog)
- test_ivm_partition_window_limit: switch the remove-window refresh to AUTO

Unit Test:
- regression-test/suites/mtmv_p0/ivm/test_ivm_partition_window_remove.groovy (pass)
- regression-test/suites/mtmv_p0/ivm/test_ivm_partition_window_limit.groovy (pass)
- regression-test/suites/mtmv_p0/ivm/test_ivm_excluded_trigger_table.groovy (pass)
@yujun777

yujun777 commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

run buildall

1 similar comment
@yujun777

yujun777 commented Sep 2, 2026

Copy link
Copy Markdown
Contributor Author

run buildall

@yujun777 yujun777 closed this Sep 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants