Skip to content

Conversation

@HonestManXin
Copy link
Contributor

@HonestManXin HonestManXin commented Aug 18, 2025

In some business scenarios, business operations need to update different columns in the same wide table through two or more data streams. For example, one data stream will write in real time to update some fields of this table; another data stream will perform imports on demand to update other columns of this table. During the update process, both data stream jobs need to ensure the order of replacement; and during queries, data from all columns should be queryable.

CREATE TABLE `upsert_test` (
  `a` bigint(20) NULL COMMENT "",
  `b` int(11) NULL COMMENT "",
  `c` int(11) NULL COMMENT "",
  `d` int(11) NULL COMMENT "",
  `e` int(11) NULL COMMENT "",
  `s1` int(11) NULL COMMENT "",
  `s2` int(11) NULL COMMENT ""
) ENGINE=OLAP
UNIQUE KEY(`a`, `b`)
COMMENT "OLAP"
DISTRIBUTED BY HASH(`a`, `b`) BUCKETS 1
PROPERTIES (
"replication_num" = "1",
"sequence_mapping.s1" = "c,d",
"sequence_mapping.s2" = "e"
);

MySQL [test]> insert into upsert_test(a, b, c, d, s1) values (1,1,2,2,2);
Query OK, 1 row affected (0.15 sec)
{'label':'insert_fadb7c3fe6041c6-a51094f635017b12', 'status':'VISIBLE', 'txnId':'2'}

MySQL [test]> insert into upsert_test(a, b, c, d, s1) values (1,1,1,1,1);
Query OK, 1 row affected (0.07 sec)
{'label':'insert_1f3d1d5eb28447fe-889427c9da075c11', 'status':'VISIBLE', 'txnId':'3'}

MySQL [test]>  select * from upsert_test;
+------+------+------+------+------+------+------+
| a    | b    | c    | d    | e    | s1   | s2   |
+------+------+------+------+------+------+------+
|    1 |    1 |    2 |    2 | NULL |    2 | NULL |
+------+------+------+------+------+------+------+


MySQL [test]> insert into upsert_test(a, b, e, s2) values (1,1,2,2);
Query OK, 1 row affected (0.05 sec)
{'label':'insert_3b9614ce9a4e4dc3-97bbbb9b881c24aa', 'status':'VISIBLE', 'txnId':'4'}

MySQL [test]> select * from upsert_test;
+------+------+------+------+------+------+------+
| a    | b    | c    | d    | e    | s1   | s2   |
+------+------+------+------+------+------+------+
|    1 |    1 |    2 |    2 |    2 |    2 |    2 |
+------+------+------+------+------+------+------+
1 row in set (0.01 sec)

documentation: apache/doris-website#2954

@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?

@HonestManXin HonestManXin force-pushed the seq_mapping branch 2 times, most recently from 049b532 to cfe00a4 Compare August 18, 2025 09:58
@HonestManXin
Copy link
Contributor Author

run buildall

@HonestManXin
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

Cloud UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 83.97% (1441/1716)
Line Coverage 66.95% (24792/37029)
Region Coverage 68.02% (12355/18165)
Branch Coverage 57.65% (6496/11268)

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	16777	5298	5176	5176
q2	1920	284	186	186
q3	10009	1321	761	761
q4	10202	1011	524	524
q5	7653	2453	2374	2374
q6	191	159	132	132
q7	913	766	612	612
q8	9334	1331	1125	1125
q9	6910	5137	5123	5123
q10	6913	2356	1992	1992
q11	474	288	266	266
q12	365	358	224	224
q13	17775	3655	3032	3032
q14	248	236	218	218
q15	545	485	474	474
q16	422	425	371	371
q17	611	881	358	358
q18	7776	7117	7059	7059
q19	890	958	556	556
q20	369	351	229	229
q21	4121	3304	3009	3009
q22	1103	1028	949	949
Total cold run time: 105521 ms
Total hot run time: 34750 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5239	5183	5208	5183
q2	243	323	224	224
q3	2192	2697	2346	2346
q4	1341	1796	1355	1355
q5	4226	4661	4595	4595
q6	226	174	129	129
q7	1992	1993	1809	1809
q8	2628	2698	2672	2672
q9	7423	7291	7331	7291
q10	3099	3316	2907	2907
q11	573	510	531	510
q12	718	790	671	671
q13	3531	3939	3289	3289
q14	292	310	291	291
q15	539	495	490	490
q16	456	496	478	478
q17	1272	1603	1416	1416
q18	7874	7806	7566	7566
q19	886	946	1140	946
q20	2079	2139	1913	1913
q21	4753	4412	4381	4381
q22	1089	1029	1006	1006
Total cold run time: 52671 ms
Total hot run time: 51468 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 185399 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 a264265a5cf5bf5383a07100ed128d8ab0142f78, data reload: false

query1	991	394	439	394
query2	6533	1741	1717	1717
query3	6755	226	220	220
query4	26266	23448	22810	22810
query5	4333	600	531	531
query6	319	211	199	199
query7	4632	504	288	288
query8	262	226	230	226
query9	8582	2873	2888	2873
query10	456	334	292	292
query11	15886	14967	14815	14815
query12	162	114	109	109
query13	1673	602	424	424
query14	8564	5755	5872	5755
query15	214	186	164	164
query16	7135	630	499	499
query17	1207	725	606	606
query18	2003	414	319	319
query19	192	187	167	167
query20	131	116	114	114
query21	209	131	111	111
query22	4277	4126	4067	4067
query23	34128	33410	33364	33364
query24	8105	2386	2378	2378
query25	560	488	415	415
query26	1235	272	165	165
query27	2750	500	334	334
query28	4215	2251	2220	2220
query29	784	612	455	455
query30	286	224	193	193
query31	873	778	723	723
query32	82	75	81	75
query33	544	379	342	342
query34	799	835	510	510
query35	813	836	788	788
query36	953	1001	914	914
query37	116	102	82	82
query38	4132	4117	3981	3981
query39	1499	1437	1421	1421
query40	216	124	114	114
query41	58	58	53	53
query42	120	110	117	110
query43	486	504	474	474
query44	1376	855	851	851
query45	173	166	165	165
query46	841	1015	654	654
query47	1748	1787	1720	1720
query48	382	420	326	326
query49	708	492	391	391
query50	662	700	388	388
query51	4100	4071	4021	4021
query52	116	110	101	101
query53	237	267	196	196
query54	595	589	527	527
query55	90	93	89	89
query56	318	318	295	295
query57	1194	1179	1121	1121
query58	284	275	280	275
query59	2594	2741	2639	2639
query60	337	338	319	319
query61	131	126	127	126
query62	807	747	651	651
query63	229	219	189	189
query64	4268	1074	683	683
query65	4301	4209	4198	4198
query66	1164	415	379	379
query67	15797	15239	15290	15239
query68	8274	926	578	578
query69	483	326	283	283
query70	1250	1089	1094	1089
query71	492	327	313	313
query72	5776	4872	4907	4872
query73	760	642	370	370
query74	9137	9108	8964	8964
query75	3858	3100	2654	2654
query76	3818	1144	739	739
query77	807	403	331	331
query78	9511	9472	8806	8806
query79	5089	775	572	572
query80	619	540	480	480
query81	472	256	225	225
query82	516	135	104	104
query83	289	248	232	232
query84	306	108	96	96
query85	778	377	404	377
query86	349	301	292	292
query87	4273	4222	4171	4171
query88	3587	2238	2234	2234
query89	444	314	282	282
query90	1970	226	217	217
query91	157	152	111	111
query92	87	73	68	68
query93	3437	977	637	637
query94	667	421	309	309
query95	396	317	304	304
query96	494	574	283	283
query97	2692	2664	2549	2549
query98	238	215	208	208
query99	1424	1411	1295	1295
Total cold run time: 278438 ms
Total hot run time: 185399 ms

@doris-robot
Copy link

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

query1	0.05	0.04	0.03
query2	0.08	0.04	0.04
query3	0.24	0.07	0.07
query4	1.62	0.11	0.11
query5	0.42	0.40	0.41
query6	1.17	0.63	0.64
query7	0.03	0.02	0.02
query8	0.05	0.04	0.04
query9	0.62	0.53	0.53
query10	0.57	0.57	0.59
query11	0.16	0.11	0.11
query12	0.15	0.12	0.12
query13	0.62	0.62	0.60
query14	0.80	0.81	0.83
query15	0.85	0.84	0.85
query16	0.40	0.39	0.39
query17	1.10	1.02	1.03
query18	0.21	0.20	0.19
query19	1.94	1.80	1.82
query20	0.01	0.01	0.01
query21	15.41	0.97	0.58
query22	0.75	1.18	0.80
query23	14.80	1.34	0.65
query24	6.91	1.75	0.62
query25	0.46	0.24	0.09
query26	0.65	0.18	0.12
query27	0.06	0.05	0.05
query28	9.90	0.87	0.43
query29	12.56	3.95	3.27
query30	3.10	3.00	3.00
query31	2.82	0.57	0.38
query32	3.23	0.56	0.48
query33	3.14	3.08	3.08
query34	16.24	5.41	4.86
query35	4.91	4.88	4.97
query36	0.69	0.52	0.49
query37	0.10	0.07	0.07
query38	0.05	0.05	0.04
query39	0.03	0.03	0.03
query40	0.18	0.14	0.14
query41	0.08	0.03	0.03
query42	0.03	0.02	0.03
query43	0.04	0.03	0.03
Total cold run time: 107.23 s
Total hot run time: 32.47 s

@HonestManXin
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

Cloud UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 84.83% (1493/1760)
Line Coverage 68.13% (26787/39317)
Region Coverage 69.00% (13251/19203)
Branch Coverage 59.10% (7108/12028)

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17113	5236	5038	5038
q2	2004	368	215	215
q3	10011	1313	737	737
q4	10237	1032	534	534
q5	7586	2450	2380	2380
q6	189	169	145	145
q7	936	770	637	637
q8	9355	1440	1165	1165
q9	7081	5091	5108	5091
q10	6953	2409	1964	1964
q11	495	309	287	287
q12	360	367	220	220
q13	17783	3738	3066	3066
q14	244	253	223	223
q15	581	504	503	503
q16	1074	1004	951	951
q17	603	875	388	388
q18	7631	7113	7165	7113
q19	1100	993	569	569
q20	338	348	234	234
q21	3949	3205	2373	2373
q22	1089	1013	988	988
Total cold run time: 106712 ms
Total hot run time: 34821 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5156	5067	5440	5067
q2	244	337	232	232
q3	2187	2707	2305	2305
q4	1343	1785	1338	1338
q5	4244	4681	4631	4631
q6	219	193	131	131
q7	2039	2013	1866	1866
q8	2617	2623	2647	2623
q9	7512	7446	7497	7446
q10	3395	3324	2826	2826
q11	607	540	504	504
q12	728	788	660	660
q13	3587	4100	3268	3268
q14	275	295	290	290
q15	516	472	490	472
q16	1090	1125	1099	1099
q17	1222	1662	1399	1399
q18	8074	7798	7646	7646
q19	822	858	907	858
q20	2043	2043	1984	1984
q21	4990	4734	4248	4248
q22	1098	1025	1015	1015
Total cold run time: 54008 ms
Total hot run time: 51908 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 189967 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 9b45113d5231e49929d555fa38c979a9cc4812fc, data reload: false

query1	1074	481	462	462
query2	6574	1717	1702	1702
query3	6753	231	224	224
query4	26756	23575	23279	23279
query5	4415	637	548	548
query6	347	246	232	232
query7	4654	516	296	296
query8	288	262	255	255
query9	8695	2931	2944	2931
query10	492	363	303	303
query11	15430	15110	14886	14886
query12	167	124	117	117
query13	1675	564	419	419
query14	10442	9343	9416	9343
query15	218	189	185	185
query16	7464	630	474	474
query17	1227	740	623	623
query18	2002	437	337	337
query19	213	208	177	177
query20	134	132	127	127
query21	251	140	117	117
query22	3991	4407	3995	3995
query23	33885	32997	32963	32963
query24	8102	2403	2429	2403
query25	608	518	448	448
query26	1236	281	165	165
query27	2743	514	360	360
query28	4448	2309	2283	2283
query29	811	614	489	489
query30	293	225	200	200
query31	921	807	744	744
query32	96	96	86	86
query33	596	415	369	369
query34	802	865	521	521
query35	834	873	769	769
query36	975	1028	950	950
query37	134	124	103	103
query38	3550	3541	3472	3472
query39	1638	1464	1453	1453
query40	243	148	134	134
query41	74	70	73	70
query42	138	126	122	122
query43	511	523	467	467
query44	1356	887	866	866
query45	189	181	182	181
query46	867	1020	656	656
query47	1772	1813	1728	1728
query48	415	450	333	333
query49	783	524	457	457
query50	667	699	421	421
query51	3901	3964	3878	3878
query52	122	119	114	114
query53	248	273	202	202
query54	649	641	606	606
query55	103	93	93	93
query56	355	338	316	316
query57	1186	1192	1115	1115
query58	306	294	281	281
query59	2605	2685	2578	2578
query60	365	356	359	356
query61	164	158	156	156
query62	852	739	651	651
query63	230	201	211	201
query64	4543	1173	843	843
query65	4059	4002	3983	3983
query66	1155	443	361	361
query67	15667	15283	15171	15171
query68	9290	960	587	587
query69	499	352	307	307
query70	1339	1333	1317	1317
query71	596	353	325	325
query72	6031	5160	5298	5160
query73	772	683	368	368
query74	9323	9163	8659	8659
query75	4450	3299	2782	2782
query76	3728	1166	787	787
query77	887	416	335	335
query78	9666	9716	8894	8894
query79	4486	850	602	602
query80	719	601	522	522
query81	483	267	230	230
query82	658	174	146	146
query83	304	274	261	261
query84	302	130	92	92
query85	893	523	436	436
query86	350	314	325	314
query87	3790	3727	3644	3644
query88	2892	2241	2232	2232
query89	461	337	303	303
query90	1950	238	232	232
query91	166	167	133	133
query92	92	81	75	75
query93	2457	1022	643	643
query94	712	427	345	345
query95	413	337	331	331
query96	483	604	280	280
query97	2935	3019	2904	2904
query98	248	225	281	225
query99	1434	1427	1346	1346
Total cold run time: 281268 ms
Total hot run time: 189967 ms

@doris-robot
Copy link

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

query1	0.06	0.05	0.05
query2	0.09	0.06	0.05
query3	0.26	0.08	0.08
query4	1.61	0.12	0.12
query5	0.28	0.26	0.25
query6	1.20	0.68	0.64
query7	0.04	0.03	0.03
query8	0.06	0.05	0.04
query9	0.61	0.52	0.52
query10	0.59	0.57	0.59
query11	0.17	0.11	0.12
query12	0.15	0.13	0.12
query13	0.64	0.63	0.62
query14	1.02	1.03	1.05
query15	0.88	0.86	0.85
query16	0.40	0.41	0.41
query17	1.13	1.07	1.06
query18	0.21	0.21	0.21
query19	1.98	1.91	1.78
query20	0.01	0.01	0.02
query21	15.40	0.96	0.58
query22	0.77	1.16	0.64
query23	15.01	1.39	0.61
query24	6.64	1.65	0.57
query25	0.55	0.28	0.10
query26	0.68	0.16	0.13
query27	0.06	0.05	0.06
query28	8.72	0.96	0.43
query29	12.58	3.95	3.24
query30	0.34	0.13	0.11
query31	2.84	0.62	0.39
query32	3.23	0.55	0.47
query33	3.07	3.08	3.20
query34	15.95	5.45	4.91
query35	4.89	4.91	4.91
query36	0.71	0.52	0.50
query37	0.11	0.07	0.08
query38	0.06	0.06	0.04
query39	0.04	0.03	0.03
query40	0.18	0.15	0.14
query41	0.09	0.04	0.03
query42	0.04	0.03	0.03
query43	0.05	0.04	0.04
Total cold run time: 103.4 s
Total hot run time: 29.65 s

@HonestManXin HonestManXin force-pushed the seq_mapping branch 2 times, most recently from 5df34d4 to 1882828 Compare September 9, 2025 07:30
@HonestManXin
Copy link
Contributor Author

run buildall

1 similar comment
@HonestManXin
Copy link
Contributor Author

run buildall

@hello-stephen
Copy link
Contributor

Cloud UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 84.83% (1493/1760)
Line Coverage 68.09% (26772/39317)
Region Coverage 68.97% (13244/19203)
Branch Coverage 59.03% (7100/12028)

@HonestManXin
Copy link
Contributor Author

run feut

@HonestManXin
Copy link
Contributor Author

run beut

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 89.74% (245/273) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 71.13% (23560/33121)
Line Coverage 57.60% (246195/427387)
Region Coverage 52.76% (204445/387512)
Branch Coverage 54.55% (88231/161739)

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 76.06% (251/330) 🎉
Increment coverage report
Complete coverage report

@HonestManXin
Copy link
Contributor Author

run cloud_p0

@HonestManXin
Copy link
Contributor Author

run feut

@HonestManXin
Copy link
Contributor Author

run nonConcurrent

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 73.64% (243/330) 🎉
Increment coverage report
Complete coverage report

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 89.74% (245/273) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 71.14% (23561/33121)
Line Coverage 57.61% (246206/427387)
Region Coverage 52.74% (204370/387512)
Branch Coverage 54.56% (88240/161739)

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 76.06% (251/330) 🎉
Increment coverage report
Complete coverage report

@HonestManXin
Copy link
Contributor Author

run feut

@HonestManXin
Copy link
Contributor Author

run nonConcurrent

@HonestManXin
Copy link
Contributor Author

run cloud_p0

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 89.74% (245/273) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 71.15% (23564/33121)
Line Coverage 57.62% (246278/427387)
Region Coverage 52.74% (204382/387512)
Branch Coverage 54.56% (88246/161739)

1 similar comment
@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 89.74% (245/273) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 71.15% (23564/33121)
Line Coverage 57.62% (246278/427387)
Region Coverage 52.74% (204382/387512)
Branch Coverage 54.56% (88246/161739)

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 76.06% (251/330) 🎉
Increment coverage report
Complete coverage report

1 similar comment
@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 76.06% (251/330) 🎉
Increment coverage report
Complete coverage report

@HonestManXin
Copy link
Contributor Author

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.26% (1636/1965)
Line Coverage 67.76% (28908/42660)
Region Coverage 68.05% (14250/20939)
Branch Coverage 58.34% (7585/13002)

@doris-robot
Copy link

TPC-DS: Total hot run time: 190450 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 4338cd76b658b4546fde0a8ce49f9fc69001c42d, data reload: false

query1	1090	424	411	411
query2	6553	1678	1731	1678
query3	6758	228	218	218
query4	26390	23429	23395	23395
query5	4410	648	486	486
query6	336	239	210	210
query7	4648	486	294	294
query8	309	256	244	244
query9	8682	2554	2586	2554
query10	485	349	287	287
query11	15720	15050	14769	14769
query12	183	115	116	115
query13	1680	545	450	450
query14	11059	9307	9253	9253
query15	214	195	214	195
query16	7521	719	588	588
query17	1355	829	641	641
query18	2110	476	363	363
query19	222	223	200	200
query20	147	141	132	132
query21	220	144	123	123
query22	4754	4872	4672	4672
query23	35012	33792	33469	33469
query24	9146	2499	2494	2494
query25	668	582	543	543
query26	1318	304	169	169
query27	2866	539	376	376
query28	4233	2205	2193	2193
query29	840	729	544	544
query30	321	235	207	207
query31	967	904	779	779
query32	92	76	80	76
query33	632	400	352	352
query34	983	900	527	527
query35	838	878	745	745
query36	973	994	924	924
query37	119	118	87	87
query38	3563	3592	3468	3468
query39	1474	1422	1419	1419
query40	230	128	123	123
query41	60	59	59	59
query42	123	111	110	110
query43	491	492	483	483
query44	1320	829	809	809
query45	181	179	177	177
query46	832	995	637	637
query47	1747	1855	1738	1738
query48	387	423	321	321
query49	762	522	410	410
query50	640	683	411	411
query51	3893	4047	3938	3938
query52	119	113	102	102
query53	235	262	195	195
query54	603	594	545	545
query55	87	83	82	82
query56	325	339	308	308
query57	1182	1216	1114	1114
query58	290	287	275	275
query59	2511	2713	2522	2522
query60	346	339	325	325
query61	159	159	153	153
query62	813	741	689	689
query63	224	197	195	195
query64	4196	1146	892	892
query65	4098	3956	3995	3956
query66	1104	432	333	333
query67	15772	15414	15278	15278
query68	9577	949	596	596
query69	495	308	270	270
query70	1449	1292	1325	1292
query71	498	349	319	319
query72	5787	4862	4830	4830
query73	727	586	374	374
query74	8930	9253	8976	8976
query75	4529	3379	2864	2864
query76	5163	1159	747	747
query77	1008	447	311	311
query78	9573	10016	8933	8933
query79	1797	856	604	604
query80	682	578	492	492
query81	495	265	240	240
query82	380	160	143	143
query83	302	277	254	254
query84	298	117	95	95
query85	884	459	410	410
query86	338	313	293	293
query87	3812	3818	3662	3662
query88	2891	2277	2247	2247
query89	402	327	300	300
query90	2094	221	219	219
query91	166	166	134	134
query92	83	73	68	68
query93	1259	970	650	650
query94	701	459	311	311
query95	408	330	315	315
query96	481	585	285	285
query97	2968	2984	2891	2891
query98	238	220	216	216
query99	1443	1435	1279	1279
Total cold run time: 281479 ms
Total hot run time: 190450 ms

@doris-robot
Copy link

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

query1	0.05	0.05	0.04
query2	0.10	0.06	0.06
query3	0.25	0.08	0.08
query4	1.61	0.12	0.12
query5	0.28	0.27	0.26
query6	1.19	0.66	0.65
query7	0.04	0.03	0.03
query8	0.06	0.05	0.05
query9	0.62	0.53	0.52
query10	0.58	0.58	0.59
query11	0.17	0.14	0.12
query12	0.15	0.12	0.11
query13	0.62	0.61	0.62
query14	1.04	1.04	1.02
query15	0.87	0.87	0.87
query16	0.39	0.40	0.40
query17	1.07	1.09	1.05
query18	0.22	0.21	0.21
query19	1.99	1.89	1.87
query20	0.02	0.02	0.01
query21	15.42	0.93	0.56
query22	0.76	1.24	0.68
query23	14.86	1.46	0.64
query24	7.09	1.33	0.83
query25	0.47	0.15	0.15
query26	0.62	0.16	0.13
query27	0.06	0.06	0.05
query28	9.11	1.36	0.95
query29	12.55	3.97	3.25
query30	0.28	0.14	0.13
query31	2.84	0.60	0.39
query32	3.25	0.55	0.47
query33	3.10	3.12	3.12
query34	16.13	5.44	4.87
query35	4.90	4.95	4.92
query36	0.70	0.52	0.50
query37	0.10	0.08	0.08
query38	0.07	0.05	0.05
query39	0.04	0.03	0.03
query40	0.18	0.16	0.15
query41	0.09	0.03	0.03
query42	0.04	0.03	0.03
query43	0.04	0.04	0.03
Total cold run time: 104.02 s
Total hot run time: 30.7 s

@doris-robot
Copy link

BE UT Coverage Report

Increment line coverage 15.02% (41/273) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 52.52% (17754/33803)
Line Coverage 37.71% (161307/427798)
Region Coverage 32.19% (123180/382684)
Branch Coverage 33.58% (54032/160928)

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 89.74% (245/273) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 71.23% (23592/33121)
Line Coverage 57.66% (246427/427388)
Region Coverage 52.51% (203472/387516)
Branch Coverage 54.54% (88222/161743)

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 74.32% (246/331) 🎉
Increment coverage report
Complete coverage report

qt_sql "select * from $tableName;"
qt_sql "select a, b, c, d, e from $tableName;"
}

Copy link
Contributor

Choose a reason for hiding this comment

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

Please add cases for other table types, like duplicate and aggregate.

columns.forEach(x -> columnName.add(x.getName().toLowerCase()));
resultSeqMap = new ArrayList<>();
for (Map.Entry<String, List<String>> entry : columnSeqMapping.entrySet()) {
int sequenceColumnIdx = columnName.indexOf(entry.getKey().toLowerCase());
Copy link
Contributor

Choose a reason for hiding this comment

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

we'd better use column unique id here.

private Type sequenceType;
@Getter
@Setter
private Map<String, List<String>> columnSeqMapping = null;
Copy link
Contributor

Choose a reason for hiding this comment

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

Please add comment for key and value, and we'd better use column UniqueId for column.

}, insertSql, true,"${tbName}")

sql """ DROP TABLE IF EXISTS ${tbName} """
}
Copy link
Contributor

Choose a reason for hiding this comment

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

add a case in which there is no seqmap, then adding a seqmap to the table.

using PatternToIndex = std::unordered_map<std::string, std::vector<TabletIndexPtr>>;
std::unordered_map<int32_t, PatternToIndex> _index_by_unique_id_with_pattern;
std::unordered_map<uint32_t /* seq cid */, std::vector<uint32_t> /* value cids */> _seq_map;
std::unordered_map<uint32_t /* cid */, uint32_t /* sequence */> _value_to_seq;
Copy link
Contributor

Choose a reason for hiding this comment

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

Need a better name and comment.

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