Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[fix](scanner) fix shared rowset reader in different scanners #47744

Merged
merged 3 commits into from
Feb 13, 2025

Conversation

Gabriel39
Copy link
Contributor

What problem does this PR solve?

*** Query id: b7482b4d3ab94bcf-acdb53e8a8fcff81 ***
*** is nereids: 1 ***
*** tablet id: 0 ***
*** Aborted at 1739024048 (unix time) try "date -d @1739024048" if you are using GNU date ***
*** Current BE git commitID: a733a56 ***
*** SIGSEGV address not mapped to object (@0x0) received by PID 5943 (TID 7905 OR 0x7fd0b0c80640) from PID 0; stack trace: ***
0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/common/signal_handler.h:421
1# PosixSignals::chained_handler(int, siginfo*, void*) [clone .part.0] in /usr/lib/jvm/java-17-openjdk-amd64/lib/server/libjvm.so
2# JVM_handle_linux_signal in /usr/lib/jvm/java-17-openjdk-amd64/lib/server/libjvm.so
3# 0x00007FD4985D8520 in /lib/x86_64-linux-gnu/libc.so.6
4# doris::segment_v2::FileColumnIterator::next_batch(unsigned long*, COWdoris::vectorized::IColumn::mutable_ptrdoris::vectorized::IColumn&, bool*) at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/olap/rowset/segment_v2/column_reader.cpp:1271
5# doris::segment_v2::SegmentIterator::_read_columns(std::vector<unsigned int, std::allocator > const&, std::vector<COWdoris::vectorized::IColumn::mutable_ptrdoris::vectorized::IColumn, std::allocator<COWdoris::vectorized::IColumn::mutable_ptrdoris::vectorized::IColumn > >&, unsigned long) at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:1575
6# doris::segment_v2::SegmentIterator::_seek_and_peek(unsigned int) at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:1253
7# doris::segment_v2::SegmentIterator::_lookup_ordinal_from_sk_index(doris::RowCursor const&, bool, unsigned int, unsigned int*) at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:1148
8# doris::segment_v2::SegmentIterator::_get_row_ranges_by_keys() at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:432
9# doris::segment_v2::SegmentIterator::_lazy_init() at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:382
10# doris::segment_v2::SegmentIterator::_next_batch_internal(doris::vectorized::Block*) at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:2012
11# doris::segment_v2::SegmentIterator::next_batch(doris::vectorized::Block*) at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:1920
12# doris::segment_v2::LazyInitSegmentIterator::next_batch(doris::vectorized::Block*) at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/olap/rowset/segment_v2/lazy_init_segment_iterator.h:45
13# doris::vectorized::VUnionIterator::next_batch(doris::vectorized::Block*) at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/vec/olap/vgeneric_iterators.cpp:405
14# doris::BetaRowsetReader::next_block(doris::vectorized::Block*) at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/olap/rowset/beta_rowset_reader.cpp:376
15# doris::vectorized::VCollectIterator::Level0Iterator::refresh_current_row() at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/vec/olap/vcollect_iterator.cpp:509
16# doris::vectorized::VCollectIterator::Level0Iterator::init(bool) at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/vec/olap/vcollect_iterator.cpp:462
17# doris::vectorized::VCollectIterator::build_heap(std::vector<std::shared_ptrdoris::RowsetReader, std::allocator<std::shared_ptrdoris::RowsetReader > >&) at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/vec/olap/vcollect_iterator.cpp:126
18# doris::vectorized::BlockReader::_init_collect_iter(doris::TabletReader::ReaderParams const&) at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/vec/olap/block_reader.cpp:148
19# doris::vectorized::BlockReader::init(doris::TabletReader::ReaderParams const&) at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/vec/olap/block_reader.cpp:222
20# doris::vectorized::NewOlapScanner::open(doris::RuntimeState*) at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/vec/exec/scan/new_olap_scanner.cpp:232
21# doris::vectorized::ScannerScheduler::_scanner_scan(std::shared_ptrdoris::vectorized::ScannerContext, std::shared_ptrdoris::vectorized::ScanTask) at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/vec/exec/scan/scanner_scheduler.cpp:221
22# std::_Function_handler<void (), doris::vectorized::ScannerScheduler::submit(std::shared_ptrdoris::vectorized::ScannerContext, std::shared_ptrdoris::vectorized::ScanTask)::$_1::operator()() const::{lambda()#1}>::_M_invoke(std::_Any_data const&) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291
23# doris::ThreadPool::dispatch_thread() in /mnt/hdd01/PERFORMANCE_ENV/be/lib/doris_be
24# doris::Thread::supervise_thread(void*) at /home/zcp/repo_center/doris_branch-3.0/doris/be/src/util/thread.cpp:499
25# start_thread at ./nptl/pthread_create.c:442
26# 0x00007FD4986BC850 at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:83

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

@Gabriel39
Copy link
Contributor Author

run buildall

3 similar comments
@Gabriel39
Copy link
Contributor Author

run buildall

@Gabriel39
Copy link
Contributor Author

run buildall

@Gabriel39
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17592	5187	5282	5187
q2	2045	306	180	180
q3	10387	1273	754	754
q4	10220	1009	519	519
q5	7540	2412	2303	2303
q6	186	164	134	134
q7	892	748	583	583
q8	9293	1267	1066	1066
q9	4798	4648	4750	4648
q10	6835	2310	1879	1879
q11	482	272	252	252
q12	342	353	221	221
q13	17759	3681	3118	3118
q14	226	241	215	215
q15	511	480	479	479
q16	615	618	585	585
q17	554	860	337	337
q18	6581	6203	6187	6187
q19	1586	946	538	538
q20	309	325	192	192
q21	2666	2176	2010	2010
q22	359	332	292	292
Total cold run time: 101778 ms
Total hot run time: 31679 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5099	5083	5090	5083
q2	240	326	234	234
q3	2209	2682	2347	2347
q4	1442	1869	1381	1381
q5	4246	4129	4192	4129
q6	200	163	125	125
q7	1858	1838	1685	1685
q8	2618	2606	2567	2567
q9	7192	7206	7157	7157
q10	3079	3233	2796	2796
q11	573	511	491	491
q12	695	770	630	630
q13	3383	3800	3283	3283
q14	298	319	281	281
q15	511	478	466	466
q16	641	674	624	624
q17	1140	1605	1340	1340
q18	7710	7338	7346	7338
q19	772	777	837	777
q20	1992	2020	1879	1879
q21	5461	5004	4785	4785
q22	659	590	536	536
Total cold run time: 52018 ms
Total hot run time: 49934 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 190759 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 5225301c3ec1f4f45ab4a383988318fb127ab163, data reload: false

query1	1317	936	944	936
query2	6243	1843	1819	1819
query3	11154	4625	4633	4625
query4	54853	25865	23659	23659
query5	5107	559	474	474
query6	338	196	184	184
query7	4897	511	305	305
query8	311	239	228	228
query9	5665	2486	2519	2486
query10	408	302	249	249
query11	15083	15235	14851	14851
query12	152	110	110	110
query13	1036	533	368	368
query14	11109	6507	6344	6344
query15	207	202	179	179
query16	7115	663	484	484
query17	1064	712	590	590
query18	1513	427	330	330
query19	212	211	182	182
query20	132	134	127	127
query21	212	136	112	112
query22	4405	4462	4386	4386
query23	34092	33345	33406	33345
query24	5672	2467	2465	2465
query25	473	463	420	420
query26	679	281	168	168
query27	1766	503	347	347
query28	2795	2443	2413	2413
query29	576	561	420	420
query30	225	193	156	156
query31	896	874	809	809
query32	77	65	61	61
query33	482	356	307	307
query34	782	844	507	507
query35	815	850	785	785
query36	944	1012	921	921
query37	127	103	86	86
query38	4292	4285	4278	4278
query39	1484	1456	1480	1456
query40	209	117	106	106
query41	78	56	48	48
query42	122	111	108	108
query43	508	522	469	469
query44	1322	818	819	818
query45	199	171	170	170
query46	922	1077	671	671
query47	1865	1860	1792	1792
query48	402	431	306	306
query49	694	550	437	437
query50	689	744	424	424
query51	4334	4311	4259	4259
query52	112	116	99	99
query53	237	270	202	202
query54	482	483	424	424
query55	87	79	79	79
query56	279	277	270	270
query57	1206	1194	1124	1124
query58	255	251	242	242
query59	2653	2860	2648	2648
query60	277	280	271	271
query61	129	125	121	121
query62	768	742	670	670
query63	235	197	196	196
query64	1471	1040	685	685
query65	3203	3137	3179	3137
query66	710	391	295	295
query67	15844	15663	15138	15138
query68	2794	811	558	558
query69	434	300	263	263
query70	1198	1116	1036	1036
query71	347	300	269	269
query72	6234	3841	3894	3841
query73	635	771	364	364
query74	8952	9153	8908	8908
query75	3131	3144	2677	2677
query76	1615	1172	774	774
query77	428	395	288	288
query78	10214	10198	9360	9360
query79	2762	804	604	604
query80	1078	551	443	443
query81	554	384	257	257
query82	481	149	130	130
query83	189	178	146	146
query84	281	87	79	79
query85	776	352	305	305
query86	417	310	284	284
query87	4492	4622	4494	4494
query88	3147	2210	2210	2210
query89	391	318	276	276
query90	1807	193	193	193
query91	130	145	111	111
query92	67	60	58	58
query93	2607	1005	576	576
query94	679	398	318	318
query95	364	269	291	269
query96	477	546	265	265
query97	2806	2833	2731	2731
query98	222	211	210	210
query99	1298	1377	1281	1281
Total cold run time: 289009 ms
Total hot run time: 190759 ms

@doris-robot
Copy link

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

query1	0.03	0.02	0.03
query2	0.07	0.03	0.03
query3	0.23	0.07	0.07
query4	1.61	0.10	0.10
query5	0.41	0.41	0.41
query6	1.14	0.66	0.66
query7	0.03	0.02	0.01
query8	0.04	0.02	0.03
query9	0.61	0.52	0.52
query10	0.58	0.59	0.57
query11	0.15	0.11	0.11
query12	0.14	0.11	0.11
query13	0.63	0.60	0.60
query14	2.68	2.69	2.68
query15	0.92	0.86	0.86
query16	0.37	0.38	0.38
query17	1.05	1.05	1.05
query18	0.23	0.19	0.19
query19	1.86	1.78	2.02
query20	0.01	0.01	0.01
query21	15.36	0.88	0.56
query22	0.77	1.10	0.75
query23	14.88	1.42	0.68
query24	6.77	2.01	1.33
query25	0.50	0.26	0.06
query26	0.51	0.16	0.14
query27	0.06	0.05	0.04
query28	10.65	0.87	0.44
query29	12.60	3.97	3.29
query30	0.27	0.09	0.05
query31	2.85	0.59	0.38
query32	3.23	0.55	0.46
query33	2.94	3.03	3.06
query34	15.76	5.19	4.53
query35	4.60	4.54	4.55
query36	0.67	0.50	0.48
query37	0.09	0.07	0.06
query38	0.05	0.04	0.04
query39	0.03	0.02	0.02
query40	0.17	0.14	0.13
query41	0.08	0.03	0.03
query42	0.03	0.03	0.02
query43	0.04	0.04	0.03
Total cold run time: 105.7 s
Total hot run time: 31.27 s

@doris-robot
Copy link

TeamCity be ut coverage result:
Function Coverage: 42.81% (11262/26308)
Line Coverage: 32.79% (94622/288574)
Region Coverage: 31.95% (48501/151826)
Branch Coverage: 27.81% (24461/87942)
Coverage Report: http://coverage.selectdb-in.cc/coverage/5225301c3ec1f4f45ab4a383988318fb127ab163_5225301c3ec1f4f45ab4a383988318fb127ab163/report/index.html

@Gabriel39
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17605	5153	5050	5050
q2	2040	305	178	178
q3	10384	1228	741	741
q4	10211	993	544	544
q5	7516	2312	2337	2312
q6	184	162	131	131
q7	885	755	587	587
q8	9293	1253	1067	1067
q9	4791	4854	4603	4603
q10	6832	2303	1877	1877
q11	483	278	257	257
q12	339	349	208	208
q13	17767	3659	3049	3049
q14	223	224	204	204
q15	516	472	460	460
q16	629	609	582	582
q17	557	853	325	325
q18	6649	6195	6128	6128
q19	1932	944	528	528
q20	308	324	180	180
q21	2783	2225	2015	2015
q22	369	347	312	312
Total cold run time: 102296 ms
Total hot run time: 31338 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5234	5073	5103	5073
q2	240	325	232	232
q3	2176	2705	2322	2322
q4	1535	1879	1468	1468
q5	4292	4230	4259	4230
q6	208	165	128	128
q7	1894	1896	1727	1727
q8	2612	2656	2575	2575
q9	7172	7156	7128	7128
q10	3003	3209	2790	2790
q11	576	530	486	486
q12	695	752	624	624
q13	3465	3954	3187	3187
q14	289	291	265	265
q15	497	460	467	460
q16	657	663	642	642
q17	1119	1540	1369	1369
q18	7705	7416	7318	7318
q19	771	801	775	775
q20	1972	2010	1873	1873
q21	5364	4959	4692	4692
q22	617	579	528	528
Total cold run time: 52093 ms
Total hot run time: 49892 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 188569 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 5b731595c38100a1d68375e9d98bffe7d28d9d28, data reload: false

query1	1298	958	912	912
query2	6209	1872	1882	1872
query3	11120	4590	4491	4491
query4	55621	25197	22881	22881
query5	5172	508	485	485
query6	358	190	193	190
query7	4995	509	297	297
query8	313	241	231	231
query9	5953	2569	2583	2569
query10	393	331	266	266
query11	15035	15041	14814	14814
query12	164	107	115	107
query13	1122	522	388	388
query14	11044	6679	6266	6266
query15	205	207	182	182
query16	7105	652	483	483
query17	1087	739	582	582
query18	1540	413	334	334
query19	205	199	190	190
query20	146	142	127	127
query21	211	128	108	108
query22	4444	4450	4375	4375
query23	33679	33291	33198	33198
query24	5725	2428	2421	2421
query25	458	469	413	413
query26	696	283	152	152
query27	1783	511	341	341
query28	2723	2442	2428	2428
query29	578	569	412	412
query30	211	227	156	156
query31	877	873	831	831
query32	83	62	62	62
query33	451	350	302	302
query34	770	850	491	491
query35	797	842	765	765
query36	945	1033	899	899
query37	111	106	72	72
query38	4301	4355	4227	4227
query39	1468	1412	1505	1412
query40	212	116	101	101
query41	54	49	51	49
query42	127	103	103	103
query43	498	530	482	482
query44	1311	804	801	801
query45	182	173	163	163
query46	870	1071	640	640
query47	1792	1897	1803	1803
query48	385	411	315	315
query49	697	512	422	422
query50	694	736	416	416
query51	4332	4316	4245	4245
query52	106	106	92	92
query53	239	261	180	180
query54	470	487	418	418
query55	94	79	76	76
query56	266	274	254	254
query57	1135	1186	1111	1111
query58	238	233	241	233
query59	2712	2872	2594	2594
query60	308	255	258	255
query61	117	120	122	120
query62	767	761	672	672
query63	235	193	190	190
query64	1791	1082	694	694
query65	3270	3223	3126	3126
query66	733	395	286	286
query67	16009	15620	15200	15200
query68	5530	762	499	499
query69	527	308	260	260
query70	1193	1100	1069	1069
query71	445	299	280	280
query72	5972	3569	3697	3569
query73	1272	736	341	341
query74	8907	9100	8806	8806
query75	3317	3167	2686	2686
query76	3982	1165	737	737
query77	536	358	278	278
query78	10066	9977	9337	9337
query79	2625	797	597	597
query80	651	530	456	456
query81	501	276	234	234
query82	489	122	95	95
query83	174	169	150	150
query84	289	97	74	74
query85	836	343	305	305
query86	405	305	288	288
query87	4444	4397	4518	4397
query88	3541	2193	2185	2185
query89	397	311	279	279
query90	1839	186	190	186
query91	137	136	102	102
query92	72	60	58	58
query93	2522	978	571	571
query94	651	390	292	292
query95	344	263	255	255
query96	486	554	277	277
query97	2780	2883	2707	2707
query98	227	203	206	203
query99	1305	1391	1223	1223
Total cold run time: 295502 ms
Total hot run time: 188569 ms

@doris-robot
Copy link

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

query1	0.04	0.03	0.04
query2	0.07	0.03	0.03
query3	0.24	0.07	0.07
query4	1.62	0.10	0.10
query5	0.40	0.41	0.39
query6	1.19	0.65	0.65
query7	0.02	0.02	0.02
query8	0.04	0.03	0.03
query9	0.58	0.52	0.54
query10	0.58	0.58	0.56
query11	0.16	0.11	0.11
query12	0.14	0.11	0.11
query13	0.62	0.60	0.59
query14	2.82	2.73	2.82
query15	0.92	0.84	0.84
query16	0.37	0.36	0.39
query17	1.01	1.01	1.05
query18	0.21	0.20	0.19
query19	1.92	1.82	1.99
query20	0.01	0.01	0.01
query21	15.38	0.93	0.55
query22	0.75	1.18	0.68
query23	14.91	1.38	0.65
query24	6.94	1.66	0.53
query25	0.49	0.22	0.09
query26	0.65	0.16	0.15
query27	0.06	0.05	0.06
query28	9.43	0.90	0.45
query29	12.61	4.04	3.39
query30	0.24	0.09	0.06
query31	2.83	0.58	0.38
query32	3.22	0.55	0.46
query33	3.05	3.02	2.93
query34	15.80	5.17	4.48
query35	4.60	4.54	4.52
query36	0.65	0.49	0.49
query37	0.09	0.06	0.06
query38	0.05	0.03	0.03
query39	0.04	0.03	0.02
query40	0.17	0.13	0.12
query41	0.07	0.03	0.02
query42	0.03	0.02	0.02
query43	0.03	0.04	0.03
Total cold run time: 105.05 s
Total hot run time: 30.33 s

@@ -383,6 +384,11 @@ Status OlapScanLocalState::_init_scanners(std::list<vectorized::VScannerSPtr>* s
}

COUNTER_UPDATE(_key_range_counter, scanner_ranges.size());
Copy link
Contributor

Choose a reason for hiding this comment

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

add comment and better be

for (auto& rs : _read_sources[scan_range_idx].rs_splits) { for ( auto& split : splits) { split.rs_reader = split.rs_reader->clone(); } }

here no need vector copy

@doris-robot
Copy link

TeamCity be ut coverage result:
Function Coverage: 42.94% (11299/26312)
Line Coverage: 32.88% (94893/288599)
Region Coverage: 32.05% (48666/151829)
Branch Coverage: 27.91% (24542/87946)
Coverage Report: http://coverage.selectdb-in.cc/coverage/5b731595c38100a1d68375e9d98bffe7d28d9d28_5b731595c38100a1d68375e9d98bffe7d28d9d28/report/index.html

@Gabriel39
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17619	5231	5149	5149
q2	2051	308	172	172
q3	10392	1384	725	725
q4	10228	1015	567	567
q5	7527	2301	2511	2301
q6	188	173	139	139
q7	896	791	605	605
q8	9335	1406	1178	1178
q9	4951	4683	4855	4683
q10	6826	2354	1907	1907
q11	492	287	265	265
q12	351	359	225	225
q13	17768	3711	3079	3079
q14	229	235	214	214
q15	506	491	460	460
q16	613	619	576	576
q17	573	895	349	349
q18	7237	6212	6154	6154
q19	1207	966	564	564
q20	313	344	197	197
q21	2860	2184	1974	1974
q22	359	321	308	308
Total cold run time: 102521 ms
Total hot run time: 31791 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5601	5120	5144	5120
q2	242	335	232	232
q3	2204	2696	2315	2315
q4	1461	1844	1378	1378
q5	4241	4172	4170	4170
q6	212	169	126	126
q7	1902	1842	1821	1821
q8	2650	2731	2642	2642
q9	7362	7156	7164	7156
q10	3052	3172	2745	2745
q11	578	530	504	504
q12	694	756	601	601
q13	3547	3890	3203	3203
q14	289	320	283	283
q15	513	461	454	454
q16	655	688	621	621
q17	1138	1568	1401	1401
q18	7626	7266	7207	7207
q19	837	798	951	798
q20	1962	1999	1830	1830
q21	5501	4854	4758	4758
q22	669	567	546	546
Total cold run time: 52936 ms
Total hot run time: 49911 ms

@doris-robot
Copy link

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

query1	971	379	377	377
query2	6525	1871	1836	1836
query3	6801	213	213	213
query4	26084	23658	23127	23127
query5	4309	665	499	499
query6	299	206	189	189
query7	4596	516	306	306
query8	285	237	228	228
query9	8589	2579	2573	2573
query10	448	314	254	254
query11	15474	15150	14864	14864
query12	162	108	107	107
query13	1669	533	395	395
query14	9730	6776	6984	6776
query15	219	199	182	182
query16	7502	657	472	472
query17	1203	707	575	575
query18	1984	409	314	314
query19	192	193	157	157
query20	127	116	112	112
query21	214	123	107	107
query22	4012	4132	4131	4131
query23	33855	32969	33184	32969
query24	7731	2448	2484	2448
query25	577	466	440	440
query26	1234	271	157	157
query27	2090	491	346	346
query28	3949	2431	2403	2403
query29	732	536	424	424
query30	235	189	165	165
query31	943	858	771	771
query32	75	63	69	63
query33	572	366	321	321
query34	794	865	523	523
query35	813	880	768	768
query36	969	1003	893	893
query37	122	96	76	76
query38	4215	4207	4051	4051
query39	1474	1442	1407	1407
query40	207	122	107	107
query41	55	53	51	51
query42	122	104	106	104
query43	495	540	490	490
query44	1327	796	804	796
query45	177	173	162	162
query46	889	1060	652	652
query47	1748	1771	1690	1690
query48	383	414	308	308
query49	762	501	426	426
query50	720	749	442	442
query51	4189	4187	4231	4187
query52	107	110	98	98
query53	235	274	197	197
query54	499	493	402	402
query55	89	80	85	80
query56	286	290	258	258
query57	1121	1159	1075	1075
query58	241	239	241	239
query59	2669	2727	2457	2457
query60	285	289	267	267
query61	119	117	120	117
query62	790	721	670	670
query63	234	203	194	194
query64	4335	1017	681	681
query65	3248	3168	3133	3133
query66	1120	418	323	323
query67	15813	15594	15221	15221
query68	7967	780	519	519
query69	475	305	268	268
query70	1225	1166	1113	1113
query71	411	311	279	279
query72	5754	3593	3780	3593
query73	751	774	358	358
query74	9029	8964	9102	8964
query75	3141	3183	2711	2711
query76	3259	1196	790	790
query77	454	385	281	281
query78	10110	10405	9317	9317
query79	1858	855	598	598
query80	683	533	474	474
query81	519	286	236	236
query82	233	132	98	98
query83	174	190	160	160
query84	240	94	76	76
query85	766	342	306	306
query86	318	306	281	281
query87	4416	4559	4480	4480
query88	2927	2215	2196	2196
query89	464	331	301	301
query90	1822	200	201	200
query91	139	142	107	107
query92	68	63	57	57
query93	1171	1039	592	592
query94	619	407	260	260
query95	357	272	265	265
query96	493	587	267	267
query97	2757	2857	2705	2705
query98	253	215	197	197
query99	1342	1436	1283	1283
Total cold run time: 268235 ms
Total hot run time: 184178 ms

@doris-robot
Copy link

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

query1	0.03	0.03	0.02
query2	0.08	0.03	0.03
query3	0.23	0.08	0.07
query4	1.61	0.10	0.10
query5	0.40	0.42	0.39
query6	1.16	0.68	0.66
query7	0.02	0.01	0.01
query8	0.04	0.03	0.03
query9	0.59	0.52	0.54
query10	0.56	0.58	0.57
query11	0.16	0.10	0.10
query12	0.14	0.11	0.11
query13	0.62	0.61	0.60
query14	2.68	2.81	2.78
query15	0.93	0.85	0.85
query16	0.38	0.38	0.37
query17	1.01	1.02	1.03
query18	0.22	0.20	0.19
query19	1.86	1.75	1.99
query20	0.02	0.01	0.02
query21	15.36	0.93	0.56
query22	0.75	1.19	0.66
query23	14.93	1.38	0.62
query24	7.15	1.32	1.40
query25	0.51	0.22	0.15
query26	0.54	0.16	0.14
query27	0.05	0.04	0.05
query28	9.69	0.80	0.43
query29	12.53	3.91	3.29
query30	0.26	0.09	0.08
query31	2.81	0.59	0.40
query32	3.22	0.55	0.46
query33	2.98	3.02	3.02
query34	15.84	5.21	4.60
query35	4.59	4.57	4.57
query36	0.66	0.53	0.48
query37	0.09	0.06	0.06
query38	0.05	0.04	0.04
query39	0.03	0.03	0.02
query40	0.16	0.13	0.13
query41	0.08	0.03	0.03
query42	0.03	0.02	0.02
query43	0.03	0.03	0.02
Total cold run time: 105.08 s
Total hot run time: 31.32 s

@doris-robot
Copy link

TeamCity be ut coverage result:
Function Coverage: 42.98% (11310/26312)
Line Coverage: 32.90% (94947/288561)
Region Coverage: 32.07% (48686/151830)
Branch Coverage: 27.92% (24553/87948)
Coverage Report: http://coverage.selectdb-in.cc/coverage/a7a0497534f6d21aa08a8186f726c00133a5c074_a7a0497534f6d21aa08a8186f726c00133a5c074/report/index.html

Copy link
Contributor

@HappenLee HappenLee 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 Feb 13, 2025
Copy link
Contributor

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

Copy link
Contributor

PR approved by anyone and no changes requested.

@Gabriel39 Gabriel39 merged commit b79c5b2 into apache:master Feb 13, 2025
24 of 27 checks passed
Gabriel39 added a commit to Gabriel39/incubator-doris that referenced this pull request Feb 13, 2025
…#47744)

*** Query id: b7482b4d3ab94bcf-acdb53e8a8fcff81 ***
*** is nereids: 1 ***
*** tablet id: 0 ***
*** Aborted at 1739024048 (unix time) try "date -d @1739024048" if you
are using GNU date ***
*** Current BE git commitID: a733a56 ***
*** SIGSEGV address not mapped to object (@0x0) received by PID 5943
(TID 7905 OR 0x7fd0b0c80640) from PID 0; stack trace: ***
0# doris::signal::(anonymous namespace)::FailureSignalHandler(int,
siginfo_t*, void*) at
/home/zcp/repo_center/doris_branch-3.0/doris/be/src/common/signal_handler.h:421
1# PosixSignals::chained_handler(int, siginfo*, void*) [clone .part.0]
in /usr/lib/jvm/java-17-openjdk-amd64/lib/server/libjvm.so
2# JVM_handle_linux_signal in
/usr/lib/jvm/java-17-openjdk-amd64/lib/server/libjvm.so
 3# 0x00007FD4985D8520 in /lib/x86_64-linux-gnu/libc.so.6
4# doris::segment_v2::FileColumnIterator::next_batch(unsigned long*,
COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>&,
bool*) at
/home/zcp/repo_center/doris_branch-3.0/doris/be/src/olap/rowset/segment_v2/column_reader.cpp:1271
5#
doris::segment_v2::SegmentIterator::_read_columns(std::vector<unsigned
int, std::allocator<unsigned int> > const&,
std::vector<COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>,
std::allocator<COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>
> >&, unsigned long) at
/home/zcp/repo_center/doris_branch-3.0/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:1575
6# doris::segment_v2::SegmentIterator::_seek_and_peek(unsigned int) at
/home/zcp/repo_center/doris_branch-3.0/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:1253
7#
doris::segment_v2::SegmentIterator::_lookup_ordinal_from_sk_index(doris::RowCursor
const&, bool, unsigned int, unsigned int*) at
/home/zcp/repo_center/doris_branch-3.0/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:1148
8# doris::segment_v2::SegmentIterator::_get_row_ranges_by_keys() at
/home/zcp/repo_center/doris_branch-3.0/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:432
9# doris::segment_v2::SegmentIterator::_lazy_init() at
/home/zcp/repo_center/doris_branch-3.0/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:382
10#
doris::segment_v2::SegmentIterator::_next_batch_internal(doris::vectorized::Block*)
at
/home/zcp/repo_center/doris_branch-3.0/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:2012
11#
doris::segment_v2::SegmentIterator::next_batch(doris::vectorized::Block*)
at
/home/zcp/repo_center/doris_branch-3.0/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:1920
12#
doris::segment_v2::LazyInitSegmentIterator::next_batch(doris::vectorized::Block*)
at
/home/zcp/repo_center/doris_branch-3.0/doris/be/src/olap/rowset/segment_v2/lazy_init_segment_iterator.h:45
13#
doris::vectorized::VUnionIterator::next_batch(doris::vectorized::Block*)
at
/home/zcp/repo_center/doris_branch-3.0/doris/be/src/vec/olap/vgeneric_iterators.cpp:405
14# doris::BetaRowsetReader::next_block(doris::vectorized::Block*) at
/home/zcp/repo_center/doris_branch-3.0/doris/be/src/olap/rowset/beta_rowset_reader.cpp:376
15#
doris::vectorized::VCollectIterator::Level0Iterator::refresh_current_row()
at
/home/zcp/repo_center/doris_branch-3.0/doris/be/src/vec/olap/vcollect_iterator.cpp:509
16# doris::vectorized::VCollectIterator::Level0Iterator::init(bool) at
/home/zcp/repo_center/doris_branch-3.0/doris/be/src/vec/olap/vcollect_iterator.cpp:462
17#
doris::vectorized::VCollectIterator::build_heap(std::vector<std::shared_ptr<doris::RowsetReader>,
std::allocator<std::shared_ptr<doris::RowsetReader> > >&) at
/home/zcp/repo_center/doris_branch-3.0/doris/be/src/vec/olap/vcollect_iterator.cpp:126
18#
doris::vectorized::BlockReader::_init_collect_iter(doris::TabletReader::ReaderParams
const&) at
/home/zcp/repo_center/doris_branch-3.0/doris/be/src/vec/olap/block_reader.cpp:148
19#
doris::vectorized::BlockReader::init(doris::TabletReader::ReaderParams
const&) at
/home/zcp/repo_center/doris_branch-3.0/doris/be/src/vec/olap/block_reader.cpp:222
20# doris::vectorized::NewOlapScanner::open(doris::RuntimeState*) at
/home/zcp/repo_center/doris_branch-3.0/doris/be/src/vec/exec/scan/new_olap_scanner.cpp:232
21#
doris::vectorized::ScannerScheduler::_scanner_scan(std::shared_ptr<doris::vectorized::ScannerContext>,
std::shared_ptr<doris::vectorized::ScanTask>) at
/home/zcp/repo_center/doris_branch-3.0/doris/be/src/vec/exec/scan/scanner_scheduler.cpp:221
22# std::_Function_handler<void (),
doris::vectorized::ScannerScheduler::submit(std::shared_ptr<doris::vectorized::ScannerContext>,
std::shared_ptr<doris::vectorized::ScanTask>)::$_1::operator()()
const::{lambda()apache#1}>::_M_invoke(std::_Any_data const&) at
/var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291
23# doris::ThreadPool::dispatch_thread() in
/mnt/hdd01/PERFORMANCE_ENV/be/lib/doris_be
24# doris::Thread::supervise_thread(void*) at
/home/zcp/repo_center/doris_branch-3.0/doris/be/src/util/thread.cpp:499
25# start_thread at ./nptl/pthread_create.c:442
26# 0x00007FD4986BC850 at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:83
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.x dev/3.0.x-conflict reviewed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants