Skip to content

Conversation

@bobhan1
Copy link
Contributor

@bobhan1 bobhan1 commented Jul 9, 2025

pick #41950 and #41232

@bobhan1 bobhan1 requested a review from morrySnow as a code owner July 9, 2025 07:22
@hello-stephen
Copy link
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?

@bobhan1 bobhan1 force-pushed the branch-3.1-pick-41232-new branch from 33b587b to 2963d3a Compare July 9, 2025 07:25
@bobhan1
Copy link
Contributor Author

bobhan1 commented Jul 9, 2025

run buildall

bobhan1 and others added 2 commits July 9, 2025 15:35
…xible partial update (apache#41950)

Considering that `SegmentWriter` will be removed in the near future, we
stop to support flexible partial update on `SegmentWriter` to reduce
maintenance costs
…f newly inserted rows in partial update (apache#41232)

Currently, Doris use strict mode to decide if newly inserted rows should
be appended or report an error in partial update, which is hard to use.
This PR add a new session variable and load property
`partial_update_new_key_behavior` to control the behavior of newly
inserted rows in partial update.
`partial_update_new_key_behavior` has ~three~ two options:
- `APPEND`: append the newly inserted rows
- ~`IGNORE`: delete the newly inserted rows silently(will not be taken
into filtered rows)~
- `ERROR`: report error if meet newly inserted rows, and the error msg
will contains one row's keys which is not in table.

---
The reason for not supporting `IGNORE` mode: To support `IGNORE` mode,
we need to add delete sign for newly inserted rows in partial update to
delete them rather than use delete bitmap mark to delete them because
compaction will not use delete bitmap when reading data. Also, we need
to record the rows whose delete sign is added by us in this situation
for resolving conflicts in publish phase to avoid wrongly delete the
rows if there are another concurrent load insert some of these rows
successfully. This increases code complexity and is error-prone.

Doc: apache/doris-website#2472
@bobhan1 bobhan1 force-pushed the branch-3.1-pick-41232-new branch from 2963d3a to eaf5b9d Compare July 9, 2025 07:37
@bobhan1
Copy link
Contributor Author

bobhan1 commented Jul 9, 2025

run buildall

@doris-robot
Copy link

Cloud UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 83.83% (1192/1422)
Line Coverage 68.01% (21056/30961)
Region Coverage 67.54% (10454/15478)
Branch Coverage 57.15% (5524/9666)

@bobhan1
Copy link
Contributor Author

bobhan1 commented Jul 9, 2025

run buildall

@bobhan1 bobhan1 force-pushed the branch-3.1-pick-41232-new branch from 211cb82 to 01c1025 Compare July 9, 2025 08:57
@bobhan1
Copy link
Contributor Author

bobhan1 commented Jul 9, 2025

run buildall

@hello-stephen
Copy link
Contributor

Cloud UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 83.83% (1192/1422)
Line Coverage 67.98% (21047/30961)
Region Coverage 67.55% (10456/15478)
Branch Coverage 57.14% (5523/9666)

@doris-robot
Copy link

Cloud UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 83.83% (1192/1422)
Line Coverage 68.09% (21082/30961)
Region Coverage 67.55% (10456/15478)
Branch Coverage 57.21% (5530/9666)

@doris-robot
Copy link

BE UT Coverage Report

Increment line coverage 6.84% (8/117) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 45.14% (12480/27645)
Line Coverage 36.02% (110647/307194)
Region Coverage 35.20% (57384/163008)
Branch Coverage 32.27% (31108/96404)

@bobhan1
Copy link
Contributor Author

bobhan1 commented Jul 9, 2025

run buildall

@hello-stephen
Copy link
Contributor

Cloud UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 83.83% (1192/1422)
Line Coverage 68.00% (21052/30961)
Region Coverage 67.57% (10459/15478)
Branch Coverage 57.15% (5524/9666)

@doris-robot
Copy link

BE UT Coverage Report

Increment line coverage 6.84% (8/117) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 45.14% (12478/27645)
Line Coverage 36.02% (110648/307194)
Region Coverage 35.20% (57373/163008)
Branch Coverage 32.26% (31097/96404)

@bobhan1
Copy link
Contributor Author

bobhan1 commented Jul 10, 2025

run buildall

@doris-robot
Copy link

Cloud UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 83.83% (1192/1422)
Line Coverage 67.97% (21044/30961)
Region Coverage 67.50% (10447/15478)
Branch Coverage 57.09% (5518/9666)

@bobhan1
Copy link
Contributor Author

bobhan1 commented Jul 10, 2025

run beut

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17787	6892	6603	6603
q2	2094	213	182	182
q3	10566	1135	1170	1135
q4	10370	749	807	749
q5	7763	2999	2822	2822
q6	218	132	132	132
q7	959	608	601	601
q8	9360	1959	2074	1959
q9	6688	6428	6493	6428
q10	6994	2230	2302	2230
q11	457	257	274	257
q12	394	213	209	209
q13	17786	2973	2978	2973
q14	241	217	208	208
q15	498	464	468	464
q16	459	386	376	376
q17	996	562	593	562
q18	7553	6644	6634	6634
q19	1304	996	1074	996
q20	489	203	206	203
q21	3940	3111	3096	3096
q22	1112	988	969	969
Total cold run time: 108028 ms
Total hot run time: 39788 ms

----- Round 2, with runtime_filter_mode=off -----
q1	6670	6563	6633	6563
q2	328	237	236	236
q3	2877	2891	2954	2891
q4	2039	1782	1828	1782
q5	5752	5726	5769	5726
q6	207	127	129	127
q7	2244	1816	1837	1816
q8	3388	3504	3558	3504
q9	8771	8882	8948	8882
q10	3549	3568	3509	3509
q11	588	490	502	490
q12	791	614	620	614
q13	9532	3176	3128	3128
q14	303	289	280	280
q15	522	461	468	461
q16	496	456	438	438
q17	1836	1623	1622	1622
q18	8269	7798	7736	7736
q19	1716	1598	1528	1528
q20	2063	1837	1854	1837
q21	5199	4975	5037	4975
q22	1140	1059	1048	1048
Total cold run time: 68280 ms
Total hot run time: 59193 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 197271 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 66cec71cb57bb8286a54154b9ed4e7138ea7917e, data reload: false

query1	1281	926	916	916
query2	6299	1971	2014	1971
query3	10884	4435	4503	4435
query4	33291	23319	23538	23319
query5	3510	476	465	465
query6	258	195	169	169
query7	3989	318	339	318
query8	290	240	233	233
query9	9309	2589	2603	2589
query10	468	264	256	256
query11	18021	15460	15393	15393
query12	164	104	101	101
query13	1555	429	427	427
query14	9009	7831	6778	6778
query15	273	184	184	184
query16	8039	540	493	493
query17	1620	634	607	607
query18	2186	336	338	336
query19	274	164	170	164
query20	132	123	120	120
query21	209	117	109	109
query22	4681	4398	4461	4398
query23	35602	34151	34027	34027
query24	11039	2966	3010	2966
query25	655	417	423	417
query26	1183	179	175	175
query27	2423	361	346	346
query28	7245	2164	2199	2164
query29	848	472	486	472
query30	269	171	158	158
query31	1087	868	855	855
query32	92	53	56	53
query33	773	299	304	299
query34	1122	505	536	505
query35	834	733	719	719
query36	1126	961	974	961
query37	129	70	65	65
query38	4025	4008	3965	3965
query39	1534	1470	1479	1470
query40	199	105	100	100
query41	49	48	47	47
query42	121	108	102	102
query43	519	484	496	484
query44	1339	852	819	819
query45	188	175	174	174
query46	1194	764	725	725
query47	2035	1894	1912	1894
query48	441	364	355	355
query49	950	398	406	398
query50	863	466	436	436
query51	7386	7356	7288	7288
query52	107	97	96	96
query53	271	191	186	186
query54	1242	471	474	471
query55	75	83	83	83
query56	285	258	263	258
query57	1295	1210	1187	1187
query58	235	223	215	215
query59	3236	3068	3188	3068
query60	298	259	271	259
query61	120	115	122	115
query62	847	716	702	702
query63	227	190	196	190
query64	4085	724	659	659
query65	3388	3310	3293	3293
query66	724	298	314	298
query67	16174	15675	15418	15418
query68	4493	618	595	595
query69	422	270	266	266
query70	1158	1145	1136	1136
query71	317	264	264	264
query72	6295	4080	3973	3973
query73	788	362	375	362
query74	9867	8894	9328	8894
query75	3376	2667	2659	2659
query76	2637	1067	1123	1067
query77	377	283	278	278
query78	10644	9634	9574	9574
query79	1967	611	614	611
query80	1142	434	441	434
query81	538	239	223	223
query82	957	93	88	88
query83	236	146	143	143
query84	237	77	87	77
query85	1264	325	315	315
query86	426	271	299	271
query87	4464	4385	4209	4209
query88	3768	2391	2422	2391
query89	426	294	295	294
query90	1809	189	188	188
query91	146	107	121	107
query92	61	49	51	49
query93	2522	594	583	583
query94	691	309	299	299
query95	360	272	261	261
query96	626	281	284	281
query97	3314	3168	3263	3168
query98	240	201	201	201
query99	1516	1292	1293	1292
Total cold run time: 300705 ms
Total hot run time: 197271 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 31.39 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 66cec71cb57bb8286a54154b9ed4e7138ea7917e, data reload: false

query1	0.04	0.02	0.03
query2	0.08	0.05	0.05
query3	0.22	0.06	0.06
query4	1.63	0.08	0.08
query5	0.54	0.52	0.53
query6	1.12	0.75	0.75
query7	0.02	0.02	0.02
query8	0.05	0.05	0.05
query9	0.56	0.51	0.49
query10	0.58	0.55	0.58
query11	0.17	0.12	0.12
query12	0.16	0.13	0.13
query13	0.62	0.60	0.59
query14	0.78	0.80	0.84
query15	0.87	0.86	0.85
query16	0.38	0.37	0.39
query17	1.10	1.07	1.03
query18	0.19	0.19	0.18
query19	1.94	1.93	1.85
query20	0.02	0.01	0.02
query21	15.40	0.69	0.67
query22	4.36	6.68	2.12
query23	18.22	1.38	1.33
query24	2.25	0.24	0.23
query25	0.16	0.08	0.09
query26	0.27	0.18	0.18
query27	0.10	0.08	0.08
query28	13.22	0.61	0.58
query29	12.68	3.36	3.37
query30	0.24	0.06	0.05
query31	2.87	0.40	0.39
query32	3.22	0.48	0.47
query33	2.99	3.04	3.09
query34	16.88	4.59	4.58
query35	4.62	4.64	4.63
query36	0.66	0.47	0.52
query37	0.20	0.16	0.16
query38	0.16	0.15	0.16
query39	0.05	0.04	0.04
query40	0.17	0.12	0.12
query41	0.10	0.05	0.05
query42	0.06	0.06	0.05
query43	0.05	0.04	0.04
Total cold run time: 110 s
Total hot run time: 31.39 s

@doris-robot
Copy link

BE UT Coverage Report

Increment line coverage 6.84% (8/117) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 45.14% (12479/27645)
Line Coverage 36.03% (110673/307196)
Region Coverage 35.20% (57377/163008)
Branch Coverage 32.26% (31104/96404)

@morrySnow morrySnow merged commit 57675f0 into apache:branch-3.1 Jul 10, 2025
19 of 21 checks passed
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.

4 participants