Skip to content

Conversation

@bobhan1
Copy link
Contributor

@bobhan1 bobhan1 commented Dec 11, 2024

What problem does this PR solve?

In cloud mode, RowsetMetaCloudPB will be stored as a value in fdb. Segment key bounds is a member of RowsetMetaCloudPB. When the key columns has long data, segment key bounds may be very large, causing the size of RowsetMetaCloudPB be larger than the fdb 100KB limit, and will cause load txn fail when put RowsetMetaCloudPB KV in fdb.

This PR add a config segments_key_bounds_truncation_threshold to limit the max length of segment key bounds to avoid the problem. Segment key bounds which are larger than the value of this config will be truncated. The config will take effect when rowset is generated(load/schema change/compaction/snapshot).

Note that as long as the config segments_key_bounds_truncation_threshold has ever been turned on, cluster downgrade and backup restore are not supported any more.

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

@doris-robot
Copy link

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?

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

1 similar comment
@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@bobhan1 bobhan1 force-pushed the truncate-segmnet-key-bounds branch from f848d0f to 6754c7f Compare December 11, 2024 09:35
@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@bobhan1 bobhan1 force-pushed the truncate-segmnet-key-bounds branch from 6754c7f to c6e01f4 Compare December 11, 2024 10:36
@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@bobhan1 bobhan1 force-pushed the truncate-segmnet-key-bounds branch from c6e01f4 to a870868 Compare December 11, 2024 12:08
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.

clang-tidy made some suggestions

@bobhan1 bobhan1 force-pushed the truncate-segmnet-key-bounds branch from b29e183 to 4de3fe4 Compare December 12, 2024 03:42
@bobhan1 bobhan1 force-pushed the truncate-segmnet-key-bounds branch 7 times, most recently from 4b70373 to c2c2892 Compare December 17, 2024 07:59
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.

clang-tidy made some suggestions

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.

clang-tidy made some suggestions

@bobhan1 bobhan1 force-pushed the truncate-segmnet-key-bounds branch from 286cb7a to 3c33012 Compare December 18, 2024 04:05
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.

clang-tidy made some suggestions

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.

clang-tidy made some suggestions

@bobhan1 bobhan1 marked this pull request as ready for review December 18, 2024 06:39
@bobhan1 bobhan1 force-pushed the truncate-segmnet-key-bounds branch from 59f196e to 59d64f4 Compare December 18, 2024 08:00
@bobhan1
Copy link
Contributor Author

bobhan1 commented Dec 18, 2024

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17599	7532	7261	7261
q2	2037	191	181	181
q3	10528	1194	1211	1194
q4	10241	760	717	717
q5	7628	2748	2755	2748
q6	237	142	144	142
q7	1022	633	615	615
q8	9240	1895	1937	1895
q9	6673	6445	6549	6445
q10	6990	2341	2346	2341
q11	460	267	262	262
q12	404	233	228	228
q13	17785	2996	2901	2901
q14	238	216	215	215
q15	575	499	483	483
q16	668	620	580	580
q17	995	640	673	640
q18	7460	6840	6734	6734
q19	1336	1064	1071	1064
q20	491	188	191	188
q21	4139	3441	3419	3419
q22	391	318	320	318
Total cold run time: 107137 ms
Total hot run time: 40571 ms

----- Round 2, with runtime_filter_mode=off -----
q1	7331	7236	7208	7208
q2	333	231	236	231
q3	2909	2903	3020	2903
q4	2069	1903	1778	1778
q5	5607	5730	5615	5615
q6	223	138	141	138
q7	2171	1769	1771	1769
q8	3407	3549	3494	3494
q9	8945	8876	8931	8876
q10	3566	3578	3582	3578
q11	616	501	505	501
q12	806	652	609	609
q13	13999	3039	3074	3039
q14	295	270	260	260
q15	552	528	503	503
q16	694	650	644	644
q17	1810	1596	1590	1590
q18	7948	7537	7393	7393
q19	1733	1634	1636	1634
q20	2114	1847	1820	1820
q21	5521	5306	5324	5306
q22	639	574	554	554
Total cold run time: 73288 ms
Total hot run time: 59443 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 190947 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 59d64f429a274bf1f8dfcff61f71bab681cfeade, data reload: false

query1	983	399	379	379
query2	6528	2540	2395	2395
query3	6717	226	221	221
query4	33837	23805	23313	23313
query5	4331	518	492	492
query6	304	207	191	191
query7	4633	302	305	302
query8	311	247	249	247
query9	9694	2738	2773	2738
query10	482	291	272	272
query11	17917	15118	15188	15118
query12	159	112	115	112
query13	1679	424	426	424
query14	10419	6682	6731	6682
query15	286	180	200	180
query16	8315	469	468	468
query17	1641	610	559	559
query18	2130	300	303	300
query19	393	190	162	162
query20	127	118	119	118
query21	205	104	111	104
query22	4631	4398	4190	4190
query23	34607	33641	33668	33641
query24	10429	2350	2399	2350
query25	655	408	402	402
query26	1197	155	155	155
query27	2899	326	329	326
query28	8032	2413	2408	2408
query29	850	413	427	413
query30	303	153	149	149
query31	1025	824	863	824
query32	102	75	74	74
query33	781	316	311	311
query34	951	499	513	499
query35	879	751	741	741
query36	1089	928	961	928
query37	146	93	92	92
query38	4307	4139	4080	4080
query39	1484	1464	1431	1431
query40	203	110	108	108
query41	51	44	52	44
query42	125	110	115	110
query43	545	501	500	500
query44	1278	813	824	813
query45	186	171	179	171
query46	1164	706	706	706
query47	1984	1832	1866	1832
query48	407	335	323	323
query49	1151	442	396	396
query50	831	392	412	392
query51	7148	7089	7200	7089
query52	109	102	100	100
query53	262	185	189	185
query54	1060	422	458	422
query55	94	92	90	90
query56	275	256	265	256
query57	1254	1129	1163	1129
query58	274	255	264	255
query59	3302	3155	3272	3155
query60	301	270	280	270
query61	108	106	106	106
query62	887	698	687	687
query63	215	195	198	195
query64	4079	670	645	645
query65	3288	3206	3257	3206
query66	854	373	324	324
query67	15833	15474	15558	15474
query68	4944	531	533	531
query69	459	288	281	281
query70	1203	1162	1139	1139
query71	445	270	274	270
query72	6554	4093	4102	4093
query73	763	357	358	357
query74	10493	8859	8931	8859
query75	3531	2648	2673	2648
query76	2996	1085	1027	1027
query77	527	295	286	286
query78	10270	10102	9418	9418
query79	2177	606	608	606
query80	900	444	434	434
query81	548	244	233	233
query82	563	130	133	130
query83	251	150	153	150
query84	234	74	75	74
query85	1305	319	317	317
query86	505	298	286	286
query87	4563	4511	4496	4496
query88	4019	2237	2218	2218
query89	419	301	313	301
query90	2057	199	206	199
query91	139	109	111	109
query92	75	71	73	71
query93	1582	547	542	542
query94	910	297	291	291
query95	398	280	273	273
query96	629	289	283	283
query97	2852	2746	2738	2738
query98	237	209	198	198
query99	1591	1344	1315	1315
Total cold run time: 300865 ms
Total hot run time: 190947 ms

@doris-robot
Copy link

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

query1	0.03	0.03	0.03
query2	0.08	0.05	0.03
query3	0.24	0.07	0.07
query4	1.63	0.10	0.11
query5	0.43	0.39	0.41
query6	1.15	0.65	0.64
query7	0.02	0.02	0.02
query8	0.04	0.03	0.03
query9	0.58	0.52	0.50
query10	0.56	0.58	0.56
query11	0.14	0.11	0.10
query12	0.14	0.11	0.11
query13	0.61	0.60	0.60
query14	2.71	2.76	2.87
query15	0.91	0.83	0.83
query16	0.39	0.39	0.38
query17	1.04	1.08	1.06
query18	0.24	0.22	0.22
query19	1.93	1.99	1.86
query20	0.01	0.01	0.02
query21	15.36	0.59	0.57
query22	2.66	2.38	2.20
query23	16.98	1.01	0.87
query24	3.03	1.65	1.72
query25	0.27	0.13	0.06
query26	0.60	0.14	0.13
query27	0.04	0.04	0.04
query28	9.52	1.09	1.08
query29	12.55	3.23	3.23
query30	0.25	0.06	0.07
query31	2.86	0.39	0.40
query32	3.28	0.48	0.47
query33	3.17	3.02	3.08
query34	16.93	4.41	4.43
query35	4.46	4.47	4.47
query36	0.67	0.48	0.49
query37	0.09	0.06	0.06
query38	0.05	0.04	0.04
query39	0.04	0.02	0.02
query40	0.17	0.13	0.12
query41	0.08	0.02	0.02
query42	0.03	0.02	0.02
query43	0.04	0.03	0.03
Total cold run time: 106.01 s
Total hot run time: 33.74 s

@bobhan1
Copy link
Contributor Author

bobhan1 commented May 29, 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.26% (1114/1338)
Line Coverage 66.50% (18811/28287)
Region Coverage 66.14% (9324/14098)
Branch Coverage 56.08% (5034/8976)

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	26844	5077	5042	5042
q2	1989	278	177	177
q3	10388	1250	685	685
q4	10229	989	538	538
q5	7683	2360	2331	2331
q6	179	162	135	135
q7	905	724	603	603
q8	9304	1321	1043	1043
q9	6768	5138	5104	5104
q10	6885	2336	1899	1899
q11	524	287	284	284
q12	343	354	210	210
q13	17764	3636	3100	3100
q14	235	221	210	210
q15	546	507	477	477
q16	433	431	381	381
q17	623	869	387	387
q18	7774	7318	7105	7105
q19	1625	947	578	578
q20	339	353	229	229
q21	3726	3143	2335	2335
q22	1087	1029	994	994
Total cold run time: 116193 ms
Total hot run time: 33847 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5215	5086	5104	5086
q2	234	319	222	222
q3	2192	2640	2288	2288
q4	1324	1774	1369	1369
q5	4565	4451	4443	4443
q6	218	165	124	124
q7	1955	1904	1724	1724
q8	2553	2603	2510	2510
q9	7160	7187	7166	7166
q10	2987	3199	2710	2710
q11	570	507	489	489
q12	702	753	618	618
q13	3523	3916	3267	3267
q14	271	287	275	275
q15	522	482	485	482
q16	443	507	455	455
q17	1150	1506	1391	1391
q18	7746	7745	7394	7394
q19	857	884	987	884
q20	1971	2044	1814	1814
q21	4713	4361	4178	4178
q22	1068	1013	977	977
Total cold run time: 51939 ms
Total hot run time: 49866 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 185668 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 12201b7d7b37157e5713fc19126d2e626ae4ba91, data reload: false

query1	994	474	507	474
query2	6573	1909	1864	1864
query3	6750	221	221	221
query4	26708	23852	23205	23205
query5	4332	645	458	458
query6	320	217	199	199
query7	4624	500	300	300
query8	273	232	238	232
query9	8637	2608	2613	2608
query10	469	323	303	303
query11	15372	15024	14796	14796
query12	153	107	102	102
query13	1646	509	403	403
query14	8798	6091	6148	6091
query15	210	211	182	182
query16	7141	630	488	488
query17	937	742	591	591
query18	1982	402	302	302
query19	190	190	162	162
query20	121	120	123	120
query21	216	132	110	110
query22	4082	4152	4070	4070
query23	33901	33280	33055	33055
query24	8458	2402	2407	2402
query25	572	477	430	430
query26	1241	271	218	218
query27	2692	500	355	355
query28	4299	2117	2103	2103
query29	771	555	419	419
query30	287	215	189	189
query31	930	849	775	775
query32	78	63	65	63
query33	552	354	325	325
query34	788	846	541	541
query35	784	810	726	726
query36	987	987	864	864
query37	108	98	78	78
query38	4136	4093	4104	4093
query39	1470	1408	1403	1403
query40	215	127	105	105
query41	63	58	57	57
query42	116	104	109	104
query43	500	514	484	484
query44	1299	813	812	812
query45	176	176	167	167
query46	843	1028	619	619
query47	1761	1775	1739	1739
query48	382	416	331	331
query49	757	469	399	399
query50	639	693	402	402
query51	4114	4160	4068	4068
query52	111	111	95	95
query53	222	260	182	182
query54	570	576	500	500
query55	85	82	84	82
query56	311	302	300	300
query57	1126	1140	1076	1076
query58	272	251	255	251
query59	2622	2636	2553	2553
query60	344	322	308	308
query61	133	131	128	128
query62	799	706	664	664
query63	224	197	212	197
query64	4298	991	669	669
query65	4274	4180	4117	4117
query66	1139	412	317	317
query67	15774	15639	15435	15435
query68	7979	875	515	515
query69	471	305	274	274
query70	1248	1113	1120	1113
query71	474	327	341	327
query72	5832	4798	4736	4736
query73	714	613	353	353
query74	8934	8877	8668	8668
query75	3775	3187	2685	2685
query76	3627	1194	754	754
query77	787	373	312	312
query78	9981	10121	9348	9348
query79	2273	835	569	569
query80	647	531	430	430
query81	522	255	217	217
query82	406	133	101	101
query83	298	249	231	231
query84	294	109	91	91
query85	763	348	308	308
query86	331	304	276	276
query87	4438	4429	4336	4336
query88	2841	2310	2275	2275
query89	407	315	285	285
query90	1989	216	206	206
query91	138	146	116	116
query92	79	59	62	59
query93	1914	931	573	573
query94	665	400	309	309
query95	378	295	286	286
query96	490	571	282	282
query97	2783	2799	2661	2661
query98	220	218	205	205
query99	1441	1412	1286	1286
Total cold run time: 272890 ms
Total hot run time: 185668 ms

@doris-robot
Copy link

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

query1	0.04	0.03	0.03
query2	0.13	0.11	0.10
query3	0.25	0.20	0.19
query4	1.60	0.19	0.10
query5	0.45	0.44	0.43
query6	1.18	0.68	0.66
query7	0.02	0.02	0.01
query8	0.04	0.04	0.03
query9	0.57	0.52	0.54
query10	0.56	0.58	0.57
query11	0.16	0.11	0.12
query12	0.15	0.11	0.12
query13	0.61	0.60	0.59
query14	0.78	0.80	0.82
query15	0.87	0.84	0.89
query16	0.39	0.37	0.40
query17	1.03	1.07	1.07
query18	0.24	0.21	0.21
query19	1.89	1.82	1.79
query20	0.02	0.01	0.02
query21	15.42	0.89	0.55
query22	0.76	1.15	0.64
query23	14.98	1.43	0.62
query24	7.15	1.76	0.76
query25	0.52	0.27	0.12
query26	0.56	0.16	0.13
query27	0.05	0.04	0.04
query28	9.79	0.96	0.46
query29	12.63	4.01	3.34
query30	0.25	0.09	0.07
query31	2.82	0.60	0.40
query32	3.22	0.54	0.46
query33	3.01	3.03	3.13
query34	15.86	5.13	4.56
query35	4.48	4.53	4.48
query36	0.70	0.50	0.47
query37	0.08	0.06	0.06
query38	0.05	0.04	0.04
query39	0.03	0.02	0.03
query40	0.16	0.14	0.12
query41	0.08	0.02	0.02
query42	0.04	0.03	0.02
query43	0.04	0.03	0.03
Total cold run time: 103.66 s
Total hot run time: 28.98 s

@bobhan1
Copy link
Contributor Author

bobhan1 commented May 30, 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.26% (1114/1338)
Line Coverage 66.48% (18805/28287)
Region Coverage 66.09% (9317/14098)
Branch Coverage 56.06% (5032/8976)

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	26056	5804	5112	5112
q2	1977	284	187	187
q3	10407	1267	684	684
q4	10231	1018	551	551
q5	7637	2360	2350	2350
q6	179	166	132	132
q7	892	736	602	602
q8	9321	1311	1101	1101
q9	6761	5153	5080	5080
q10	6853	2298	1936	1936
q11	498	284	274	274
q12	349	364	220	220
q13	17783	3711	3136	3136
q14	231	230	225	225
q15	554	485	492	485
q16	439	445	376	376
q17	635	880	389	389
q18	7590	7226	7198	7198
q19	1353	948	591	591
q20	346	358	235	235
q21	4150	3222	3107	3107
q22	1071	1034	967	967
Total cold run time: 115313 ms
Total hot run time: 34938 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5211	5195	5131	5131
q2	245	321	215	215
q3	2194	2716	2371	2371
q4	1393	1881	1442	1442
q5	4468	4462	4390	4390
q6	221	166	129	129
q7	2012	1981	1767	1767
q8	2606	2702	2550	2550
q9	7270	6835	7179	6835
q10	3060	3387	2814	2814
q11	599	492	508	492
q12	745	819	614	614
q13	3486	3962	3388	3388
q14	289	294	287	287
q15	558	512	493	493
q16	453	486	462	462
q17	1173	1543	1399	1399
q18	7885	7662	7460	7460
q19	864	891	1026	891
q20	1930	1994	1845	1845
q21	5006	4579	4558	4558
q22	1168	1063	1039	1039
Total cold run time: 52836 ms
Total hot run time: 50572 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 193264 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 582dbbc81808582c1e2020b38c916097cc62c2f0, data reload: false

query1	1383	1064	1064	1064
query2	6404	1923	1835	1835
query3	11162	4729	4725	4725
query4	25943	23582	23111	23111
query5	3433	636	456	456
query6	304	195	200	195
query7	3992	530	283	283
query8	268	226	212	212
query9	8449	2622	2617	2617
query10	457	321	271	271
query11	15426	15190	15205	15190
query12	156	106	106	106
query13	1554	525	402	402
query14	8504	6355	6299	6299
query15	209	206	170	170
query16	7137	631	487	487
query17	1219	715	578	578
query18	1989	433	316	316
query19	221	213	180	180
query20	129	121	131	121
query21	213	134	115	115
query22	4446	4542	4190	4190
query23	34675	33632	33629	33629
query24	8544	2460	2414	2414
query25	531	461	400	400
query26	1186	278	166	166
query27	2796	520	376	376
query28	4543	2141	2121	2121
query29	741	581	465	465
query30	279	234	196	196
query31	923	856	790	790
query32	75	66	65	65
query33	559	377	322	322
query34	806	869	574	574
query35	769	844	774	774
query36	973	1013	897	897
query37	120	103	80	80
query38	4251	4226	4252	4226
query39	1565	1459	1446	1446
query40	221	120	107	107
query41	62	61	59	59
query42	125	108	110	108
query43	542	540	512	512
query44	1401	847	845	845
query45	187	178	166	166
query46	911	1059	662	662
query47	1822	1843	1767	1767
query48	401	450	315	315
query49	763	488	431	431
query50	678	734	405	405
query51	4218	4304	4260	4260
query52	110	109	103	103
query53	239	271	194	194
query54	592	599	508	508
query55	98	86	88	86
query56	315	292	310	292
query57	1190	1231	1144	1144
query58	282	269	265	265
query59	2820	2850	2770	2770
query60	343	327	301	301
query61	126	127	123	123
query62	777	740	679	679
query63	226	192	188	188
query64	4094	1002	666	666
query65	4222	4177	4204	4177
query66	1020	422	300	300
query67	16003	15668	15594	15594
query68	8386	890	510	510
query69	506	314	271	271
query70	1206	1118	1078	1078
query71	465	323	306	306
query72	5807	4829	4896	4829
query73	728	644	361	361
query74	9198	9254	8702	8702
query75	3958	3248	2680	2680
query76	3810	1210	801	801
query77	771	406	283	283
query78	10055	10074	9371	9371
query79	2893	817	589	589
query80	656	513	451	451
query81	487	259	221	221
query82	511	125	95	95
query83	282	245	228	228
query84	295	103	90	90
query85	778	368	311	311
query86	374	294	254	254
query87	4396	4502	4441	4441
query88	3487	2261	2272	2261
query89	427	309	286	286
query90	1856	208	231	208
query91	138	143	113	113
query92	77	68	60	60
query93	2489	947	575	575
query94	660	420	300	300
query95	363	299	285	285
query96	497	578	282	282
query97	2722	2777	2629	2629
query98	228	208	208	208
query99	1427	1383	1294	1294
Total cold run time: 280055 ms
Total hot run time: 193264 ms

@doris-robot
Copy link

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

query1	0.03	0.04	0.04
query2	0.15	0.11	0.11
query3	0.37	0.20	0.20
query4	1.60	0.20	0.08
query5	0.44	0.41	0.42
query6	1.16	0.66	0.65
query7	0.02	0.02	0.01
query8	0.06	0.05	0.05
query9	0.63	0.53	0.55
query10	0.58	0.58	0.57
query11	0.26	0.12	0.13
query12	0.26	0.12	0.13
query13	0.64	0.62	0.61
query14	0.79	0.82	0.82
query15	0.96	0.90	0.89
query16	0.37	0.37	0.36
query17	1.03	1.02	1.03
query18	0.24	0.23	0.23
query19	1.95	1.81	1.86
query20	0.01	0.02	0.02
query21	15.40	0.97	0.67
query22	0.95	1.04	0.86
query23	14.69	1.54	0.77
query24	5.26	0.62	0.31
query25	0.17	0.09	0.08
query26	0.56	0.23	0.18
query27	0.08	0.08	0.08
query28	11.07	1.18	0.58
query29	12.52	4.00	3.45
query30	0.29	0.08	0.06
query31	2.80	0.62	0.44
query32	3.23	0.59	0.50
query33	3.02	3.11	3.09
query34	16.56	5.15	4.50
query35	4.52	4.48	4.46
query36	0.63	0.50	0.50
query37	0.20	0.17	0.17
query38	0.17	0.16	0.15
query39	0.05	0.04	0.04
query40	0.20	0.16	0.16
query41	0.10	0.05	0.05
query42	0.06	0.06	0.04
query43	0.06	0.04	0.05
Total cold run time: 104.14 s
Total hot run time: 29.83 s

@bobhan1
Copy link
Contributor Author

bobhan1 commented May 30, 2025

run cloud_p0

Copy link
Contributor

@dataroaring dataroaring 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 github-actions bot added the approved Indicates a PR has been approved by one committer. label Jun 9, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Jun 9, 2025

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

Copy link
Contributor

@zhannngchen zhannngchen left a comment

Choose a reason for hiding this comment

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

LGTM

@zhannngchen zhannngchen merged commit fa1a5db into apache:master Jun 9, 2025
28 of 31 checks passed
bobhan1 added a commit to bobhan1/doris that referenced this pull request Jun 10, 2025
… `RowsetMetaCloudPB` exceeds fdb's 100KB limits (apache#45287)

In cloud mode, `RowsetMetaCloudPB` will be stored as a value in fdb.
Segment key bounds is a member of `RowsetMetaCloudPB`. When the key
columns has long data, segment key bounds may be very large, causing the
size of `RowsetMetaCloudPB` be larger than the fdb 100KB limit, and will
cause load txn fail when put `RowsetMetaCloudPB` KV in fdb.

This PR add a config `segments_key_bounds_truncation_threshold` to limit
the max length of segment key bounds to avoid the problem. Segment key
bounds which are larger than the value of this config will be truncated.
The config will take effect when rowset is generated(load/schema
change/compaction/snapshot).

**Note that as long as the config
`segments_key_bounds_truncation_threshold` has ever been turned on,
cluster downgrade and backup restore are not supported any more.**
dataroaring pushed a commit that referenced this pull request Jun 11, 2025
…rge to avoid `RowsetMetaCloudPB` exceeds fdb's 100KB limits (#45287) (#51595)

pick #45287
yiguolei pushed a commit that referenced this pull request Jul 5, 2025
### What problem does this PR solve?

### Problem

after enable java support, be can not start correctly, it will hang on
stack:
```
(gdb) bt
#0  0x00007f5fb1e97ce6 in __futex_abstimed_wait_common () from /lib64/libc.so.6
#1  0x00007f5fb1e9a798 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6
#2  0x00007f5fb2c98bf3 in os::PlatformEvent::park() () from /usr/lib/jvm/java-17//lib/server/libjvm.so
#3  0x00007f5fb2c693a5 in ObjectMonitor::wait(long, bool, JavaThread*) () from /usr/lib/jvm/java-17//lib/server/libjvm.so
#4  0x00007f5fb2e8b316 in ObjectSynchronizer::wait(Handle, long, JavaThread*) () from /usr/lib/jvm/java-17//lib/server/libjvm.so
#5  0x00007f5fb2934a97 in JVM_MonitorWait () from /usr/lib/jvm/java-17//lib/server/libjvm.so
#6  0x00007f5f9de245ba in ?? ()
#7  0x00007f5f49446158 in ?? ()
#8  0x00007f5faeb9fa00 in ?? ()
#9  0x00007ffc37f91178 in ?? ()
#10 0x00007f5f9de304bd in ?? ()
#11 0x00007ffc37f910a0 in ?? ()
#12 0x0000000000000000 in ?? ()
```

jstack of be:
```
"main" #1 prio=5 os_prio=0 cpu=931.38ms elapsed=66.08s tid=0x00007fab8e12c400 nid=0x3e68aa in Object.wait()  [0x00007ffdb3d4c000]  
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(java.base@17.0.15-ga/Native Method)
    - waiting on <0x00000000bd183b68> (a java.lang.ProcessImpl)
    at java.lang.Object.wait(java.base@17.0.15-ga/Object.java:338)
    at java.lang.ProcessImpl.waitFor(java.base@17.0.15-ga/ProcessImpl.java:434)
    - locked <0x00000000bd183b68> (a java.lang.ProcessImpl)
    at org.apache.hadoop.util.Shell.runCommand(Shell.java:1061)
    at org.apache.hadoop.util.Shell.run(Shell.java:957)
    at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:1282)
    at org.apache.hadoop.util.Shell.isSetsidSupported(Shell.java:853)
    at org.apache.hadoop.util.Shell.<clinit>(Shell.java:838)
    at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:79)
    at org.apache.hadoop.conf.Configuration.getBoolean(Configuration.java:1713)
    at org.apache.hadoop.security.SecurityUtil.setConfigurationInternal(SecurityUtil.java:103)
    at org.apache.hadoop.security.SecurityUtil.<clinit>(SecurityUtil.java:92)
    at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:312)
    - locked <0x00000000bd5fd708> (a java.lang.Class for org.apache.hadoop.security.UserGroupInformation)
    at org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:300)
    - locked <0x00000000bd5fd708> (a java.lang.Class for org.apache.hadoop.security.UserGroupInformation)
    at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:575)
    at org.apache.hadoop.fs.viewfs.ViewFileSystem.<init>(ViewFileSystem.java:279)
    at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(java.base@17.0.15-ga/Native Method)
    at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(java.base@17.0.15-ga/NativeConstructorAccessorImpl.java:77)
    at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(java.base@17.0.15-ga/DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstanceWithCaller(java.base@17.0.15-ga/Constructor.java:500)
    at java.lang.reflect.Constructor.newInstance(java.base@17.0.15-ga/Constructor.java:481)
    at java.util.ServiceLoader$ProviderImpl.newInstance(java.base@17.0.15-ga/ServiceLoader.java:789)
    at java.util.ServiceLoader$ProviderImpl.get(java.base@17.0.15-ga/ServiceLoader.java:729)
    at java.util.ServiceLoader$3.next(java.base@17.0.15-ga/ServiceLoader.java:1403)
    at org.apache.hadoop.fs.FileSystem.loadFileSystems(FileSystem.java:3534)
    - locked <0x00000000826529f0> (a java.lang.Class for org.apache.hadoop.fs.FileSystem)
```

This problem comes from: #45287

after this fix, we could enable java support:
#52412

### Another Fix Method
Add JAVA_OPTS `-Djdk.lang.processReaperUseDefaultStackSize=true` inside
be.conf, also can fix this problem:

https://bugs.openjdk.org/browse/JDK-8153057

From gemini:

![Clipboard_Screenshot_1751683706](https://github.com/user-attachments/assets/a54ffb3a-cb57-4f8a-bc85-5366081c2d9b)
github-actions bot pushed a commit that referenced this pull request Jul 5, 2025
### What problem does this PR solve?

### Problem

after enable java support, be can not start correctly, it will hang on
stack:
```
(gdb) bt
#0  0x00007f5fb1e97ce6 in __futex_abstimed_wait_common () from /lib64/libc.so.6
#1  0x00007f5fb1e9a798 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6
#2  0x00007f5fb2c98bf3 in os::PlatformEvent::park() () from /usr/lib/jvm/java-17//lib/server/libjvm.so
#3  0x00007f5fb2c693a5 in ObjectMonitor::wait(long, bool, JavaThread*) () from /usr/lib/jvm/java-17//lib/server/libjvm.so
#4  0x00007f5fb2e8b316 in ObjectSynchronizer::wait(Handle, long, JavaThread*) () from /usr/lib/jvm/java-17//lib/server/libjvm.so
#5  0x00007f5fb2934a97 in JVM_MonitorWait () from /usr/lib/jvm/java-17//lib/server/libjvm.so
#6  0x00007f5f9de245ba in ?? ()
#7  0x00007f5f49446158 in ?? ()
#8  0x00007f5faeb9fa00 in ?? ()
#9  0x00007ffc37f91178 in ?? ()
#10 0x00007f5f9de304bd in ?? ()
#11 0x00007ffc37f910a0 in ?? ()
#12 0x0000000000000000 in ?? ()
```

jstack of be:
```
"main" #1 prio=5 os_prio=0 cpu=931.38ms elapsed=66.08s tid=0x00007fab8e12c400 nid=0x3e68aa in Object.wait()  [0x00007ffdb3d4c000]  
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(java.base@17.0.15-ga/Native Method)
    - waiting on <0x00000000bd183b68> (a java.lang.ProcessImpl)
    at java.lang.Object.wait(java.base@17.0.15-ga/Object.java:338)
    at java.lang.ProcessImpl.waitFor(java.base@17.0.15-ga/ProcessImpl.java:434)
    - locked <0x00000000bd183b68> (a java.lang.ProcessImpl)
    at org.apache.hadoop.util.Shell.runCommand(Shell.java:1061)
    at org.apache.hadoop.util.Shell.run(Shell.java:957)
    at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:1282)
    at org.apache.hadoop.util.Shell.isSetsidSupported(Shell.java:853)
    at org.apache.hadoop.util.Shell.<clinit>(Shell.java:838)
    at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:79)
    at org.apache.hadoop.conf.Configuration.getBoolean(Configuration.java:1713)
    at org.apache.hadoop.security.SecurityUtil.setConfigurationInternal(SecurityUtil.java:103)
    at org.apache.hadoop.security.SecurityUtil.<clinit>(SecurityUtil.java:92)
    at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:312)
    - locked <0x00000000bd5fd708> (a java.lang.Class for org.apache.hadoop.security.UserGroupInformation)
    at org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:300)
    - locked <0x00000000bd5fd708> (a java.lang.Class for org.apache.hadoop.security.UserGroupInformation)
    at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:575)
    at org.apache.hadoop.fs.viewfs.ViewFileSystem.<init>(ViewFileSystem.java:279)
    at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(java.base@17.0.15-ga/Native Method)
    at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(java.base@17.0.15-ga/NativeConstructorAccessorImpl.java:77)
    at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(java.base@17.0.15-ga/DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstanceWithCaller(java.base@17.0.15-ga/Constructor.java:500)
    at java.lang.reflect.Constructor.newInstance(java.base@17.0.15-ga/Constructor.java:481)
    at java.util.ServiceLoader$ProviderImpl.newInstance(java.base@17.0.15-ga/ServiceLoader.java:789)
    at java.util.ServiceLoader$ProviderImpl.get(java.base@17.0.15-ga/ServiceLoader.java:729)
    at java.util.ServiceLoader$3.next(java.base@17.0.15-ga/ServiceLoader.java:1403)
    at org.apache.hadoop.fs.FileSystem.loadFileSystems(FileSystem.java:3534)
    - locked <0x00000000826529f0> (a java.lang.Class for org.apache.hadoop.fs.FileSystem)
```

This problem comes from: #45287

after this fix, we could enable java support:
#52412

### Another Fix Method
Add JAVA_OPTS `-Djdk.lang.processReaperUseDefaultStackSize=true` inside
be.conf, also can fix this problem:

https://bugs.openjdk.org/browse/JDK-8153057

From gemini:

![Clipboard_Screenshot_1751683706](https://github.com/user-attachments/assets/a54ffb3a-cb57-4f8a-bc85-5366081c2d9b)
github-actions bot pushed a commit that referenced this pull request Jul 5, 2025
### What problem does this PR solve?

### Problem

after enable java support, be can not start correctly, it will hang on
stack:
```
(gdb) bt
#0  0x00007f5fb1e97ce6 in __futex_abstimed_wait_common () from /lib64/libc.so.6
#1  0x00007f5fb1e9a798 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libc.so.6
#2  0x00007f5fb2c98bf3 in os::PlatformEvent::park() () from /usr/lib/jvm/java-17//lib/server/libjvm.so
#3  0x00007f5fb2c693a5 in ObjectMonitor::wait(long, bool, JavaThread*) () from /usr/lib/jvm/java-17//lib/server/libjvm.so
#4  0x00007f5fb2e8b316 in ObjectSynchronizer::wait(Handle, long, JavaThread*) () from /usr/lib/jvm/java-17//lib/server/libjvm.so
#5  0x00007f5fb2934a97 in JVM_MonitorWait () from /usr/lib/jvm/java-17//lib/server/libjvm.so
#6  0x00007f5f9de245ba in ?? ()
#7  0x00007f5f49446158 in ?? ()
#8  0x00007f5faeb9fa00 in ?? ()
#9  0x00007ffc37f91178 in ?? ()
#10 0x00007f5f9de304bd in ?? ()
#11 0x00007ffc37f910a0 in ?? ()
#12 0x0000000000000000 in ?? ()
```

jstack of be:
```
"main" #1 prio=5 os_prio=0 cpu=931.38ms elapsed=66.08s tid=0x00007fab8e12c400 nid=0x3e68aa in Object.wait()  [0x00007ffdb3d4c000]  
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(java.base@17.0.15-ga/Native Method)
    - waiting on <0x00000000bd183b68> (a java.lang.ProcessImpl)
    at java.lang.Object.wait(java.base@17.0.15-ga/Object.java:338)
    at java.lang.ProcessImpl.waitFor(java.base@17.0.15-ga/ProcessImpl.java:434)
    - locked <0x00000000bd183b68> (a java.lang.ProcessImpl)
    at org.apache.hadoop.util.Shell.runCommand(Shell.java:1061)
    at org.apache.hadoop.util.Shell.run(Shell.java:957)
    at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:1282)
    at org.apache.hadoop.util.Shell.isSetsidSupported(Shell.java:853)
    at org.apache.hadoop.util.Shell.<clinit>(Shell.java:838)
    at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:79)
    at org.apache.hadoop.conf.Configuration.getBoolean(Configuration.java:1713)
    at org.apache.hadoop.security.SecurityUtil.setConfigurationInternal(SecurityUtil.java:103)
    at org.apache.hadoop.security.SecurityUtil.<clinit>(SecurityUtil.java:92)
    at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:312)
    - locked <0x00000000bd5fd708> (a java.lang.Class for org.apache.hadoop.security.UserGroupInformation)
    at org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:300)
    - locked <0x00000000bd5fd708> (a java.lang.Class for org.apache.hadoop.security.UserGroupInformation)
    at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:575)
    at org.apache.hadoop.fs.viewfs.ViewFileSystem.<init>(ViewFileSystem.java:279)
    at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(java.base@17.0.15-ga/Native Method)
    at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(java.base@17.0.15-ga/NativeConstructorAccessorImpl.java:77)
    at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(java.base@17.0.15-ga/DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstanceWithCaller(java.base@17.0.15-ga/Constructor.java:500)
    at java.lang.reflect.Constructor.newInstance(java.base@17.0.15-ga/Constructor.java:481)
    at java.util.ServiceLoader$ProviderImpl.newInstance(java.base@17.0.15-ga/ServiceLoader.java:789)
    at java.util.ServiceLoader$ProviderImpl.get(java.base@17.0.15-ga/ServiceLoader.java:729)
    at java.util.ServiceLoader$3.next(java.base@17.0.15-ga/ServiceLoader.java:1403)
    at org.apache.hadoop.fs.FileSystem.loadFileSystems(FileSystem.java:3534)
    - locked <0x00000000826529f0> (a java.lang.Class for org.apache.hadoop.fs.FileSystem)
```

This problem comes from: #45287

after this fix, we could enable java support:
#52412

### Another Fix Method
Add JAVA_OPTS `-Djdk.lang.processReaperUseDefaultStackSize=true` inside
be.conf, also can fix this problem:

https://bugs.openjdk.org/browse/JDK-8153057

From gemini:

![Clipboard_Screenshot_1751683706](https://github.com/user-attachments/assets/a54ffb3a-cb57-4f8a-bc85-5366081c2d9b)
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/3.0.7-merged dev/3.1.0-merged reviewed usercase Important user case type label

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants