Skip to content

Conversation

@HappenLee
Copy link
Contributor

What problem does this PR solve?

some Regression test coredump when segment cache miss:

thrift error, reason=No more data to read.thrift error, reason=No more data to read.thrift error, reason=No more data to read.terminate called after throwing an instance of 'doris::Exception'
  what():  [E3] Method insert_many_dict_data is not supported for variant
*** Query id: 0-0 ***
*** is nereids: 1 ***
*** tablet id: 0 ***
*** Aborted at 1749816938 (unix time) try "date -d @1749816938" if you are using GNU date ***
*** Current BE git commitID: a8f84d2feb ***
*** SIGABRT unknown detail explain (@0x3e9003b76c0) received by PID 3897024 (TID 3898413 OR 0x7c0e01b00700) from PID 3897024; stack trace: ***
 0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /mnt/disk2/tengjianping/doris-master/be/src/common/signal_handler.h:421
 1# 0x00007F013A4705B0 in /lib64/libc.so.6
 2# __GI_raise in /lib64/libc.so.6
 3# __GI_abort in /lib64/libc.so.6
 4# __gnu_cxx::__verbose_terminate_handler() [clone .cold] in /mnt/disk2/tengjianping/doris-master/output/be/lib/doris_be
 5# __cxxabiv1::__terminate(void (*)()) in /mnt/disk2/tengjianping/doris-master/output/be/lib/doris_be
 6# 0x00005640CA3EFC71 in /mnt/disk2/tengjianping/doris-master/output/be/lib/doris_be
 7# 0x00005640CA3EFDC4 in /mnt/disk2/tengjianping/doris-master/output/be/lib/doris_be
 8# doris::vectorized::IColumn::insert_many_dict_data(int const*, unsigned long, doris::StringRef const*, unsigned long, unsigned int) at /mnt/disk2/tengjianping/doris-master/be/src/vec/columns/column.h:247
 9# doris::vectorized::ColumnNullable::insert_many_dict_data(int const*, unsigned long, doris::StringRef const*, unsigned long, unsigned int) at /mnt/disk2/tengjianping/doris-master/be/src/vec/columns/column_nullable.h:242
10# doris::segment_v2::BinaryDictPageDecoder::read_by_rowids(unsigned int const*, unsigned long, unsigned long*, doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>&) at /mnt/disk2/tengjianping/doris-master/be/src/olap/rowset/segment_v2/binary_dict_page.cpp:325
11# doris::segment_v2::FileColumnIterator::read_by_rowids(unsigned int const*, unsigned long, doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>&) at /mnt/disk2/tengjianping/doris-master/be/src/olap/rowset/segment_v2/column_reader.cpp:1368
12# doris::segment_v2::Segment::seek_and_read_by_rowid(doris::TabletSchema const&, doris::SlotDescriptor*, unsigned int, doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>&, doris::OlapReaderStatistics&, std::unique_ptr<doris::segment_v2::ColumnIterator, std::default_delete<doris::segment_v2::ColumnIterator> >&) at /mnt/disk2/tengjianping/doris-master/be/src/olap/rowset/segment_v2/segment.cpp:1163
13# doris::RowIdStorageReader::read_doris_format_row(std::shared_ptr<doris::IdFileMap> const&, std::shared_ptr<doris::FileMapping> const&, long, std::vector<doris::SlotDescriptor, std::allocator<doris::SlotDescriptor> >&, doris::TabletSchema const&, doris::RowStoreReadStruct&, doris::OlapReaderStatistics&, long*, long*, long*, long*, std::unordered_map<doris::IteratorKey, doris::IteratorItem, doris::HashOfIteratorKey, std::equal_to<doris::IteratorKey>, std::allocator<std::pair<doris::IteratorKey const, doris::IteratorItem> > >&, doris::vectorized::Block&) at /mnt/disk2/tengjianping/doris-master/be/src/exec/rowid_fetcher.cpp:816
14# doris::RowIdStorageReader::read_batch_doris_format_row(doris::PRequestBlockDesc const&, std::shared_ptr<doris::IdFileMap>, std::vector<doris::SlotDescriptor, std::allocator<doris::SlotDescriptor> >&, doris::TUniqueId const&, doris::vectorized::Block&, doris::OlapReaderStatistics&, long*, long*, long*, long*) at /mnt/disk2/tengjianping/doris-master/be/src/exec/rowid_fetcher.cpp:624
15# doris::RowIdStorageReader::read_by_rowids(doris::PMultiGetRequestV2 const&, doris::PMultiGetResponseV2*) at /mnt/disk2/tengjianping/doris-master/be/src/exec/rowid_fetcher.cpp:538
16# doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0::operator()() const at /mnt/disk2/tengjianping/doris-master/be/src/service/internal_service.cpp:2124
17# void std::__invoke_impl<void, doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0&>(std::__invoke_other, doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0&) at /mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61
18# std::enable_if<is_invocable_r_v<void, doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0&>, void>::type std::__invoke_r<void, doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0&>(doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0&) at /mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:117
19# std::_Function_handler<void (), doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0>::_M_invoke(std::_Any_data const&) at /mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:290
20# std::function<void ()>::operator()() const at /mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:591
21# doris::vectorized::SimplifiedScanScheduler::submit_scan_task(doris::vectorized::SimplifiedScanTask)::{lambda()#1}::operator()() const at /mnt/disk2/tengjianping/doris-master/be/src/vec/exec/scan/scanner_scheduler.h:134

Problem Summary:

Release note

None

Check List (For Author)

  • Test

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

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

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

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

@hello-stephen
Copy link
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?

@HappenLee
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17195	5181	5095	5095
q2	1959	305	204	204
q3	6880	1333	732	732
q4	9676	1052	527	527
q5	8537	2338	2419	2338
q6	221	159	129	129
q7	880	757	612	612
q8	9113	1276	1150	1150
q9	6955	5160	5088	5088
q10	6936	2359	1988	1988
q11	480	283	271	271
q12	338	357	219	219
q13	5049	3742	3163	3163
q14	233	229	210	210
q15	553	493	495	493
q16	414	418	390	390
q17	603	862	365	365
q18	7515	7252	7117	7117
q19	1180	951	550	550
q20	325	351	216	216
q21	4047	3207	2399	2399
q22	1062	1006	960	960
Total cold run time: 90151 ms
Total hot run time: 34216 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5144	5134	5115	5115
q2	247	327	223	223
q3	2228	2701	2299	2299
q4	1371	1792	1359	1359
q5	4221	4184	4172	4172
q6	203	162	119	119
q7	1854	1808	1680	1680
q8	2470	2530	2435	2435
q9	6768	6806	6831	6806
q10	2976	3136	2664	2664
q11	561	509	481	481
q12	627	735	608	608
q13	3417	3785	3089	3089
q14	262	279	262	262
q15	503	467	468	467
q16	432	491	426	426
q17	1154	1527	1315	1315
q18	7162	7189	7182	7182
q19	799	772	796	772
q20	1938	1989	1808	1808
q21	4752	4349	4202	4202
q22	1017	1030	987	987
Total cold run time: 50106 ms
Total hot run time: 48471 ms

Copy link
Contributor

@csun5285 csun5285 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
Copy link
Contributor

github-actions bot commented Jul 1, 2025

PR approved by anyone and no changes requested.

@doris-robot
Copy link

TPC-DS: Total hot run time: 185258 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 0acfbc740d44100be70bb5df654d04dde5f07296, data reload: false

query1	1010	398	385	385
query2	6528	1705	1659	1659
query3	6739	213	207	207
query4	25972	24287	23219	23219
query5	5776	592	460	460
query6	306	221	199	199
query7	4630	500	283	283
query8	274	229	219	219
query9	8629	2636	2632	2632
query10	556	344	258	258
query11	15550	15153	14916	14916
query12	162	108	106	106
query13	1671	538	393	393
query14	9742	5718	5737	5718
query15	201	187	171	171
query16	7607	623	471	471
query17	1363	698	578	578
query18	2022	394	301	301
query19	199	187	152	152
query20	120	119	109	109
query21	214	131	105	105
query22	4016	4026	3954	3954
query23	34100	33133	33335	33133
query24	8373	2391	2405	2391
query25	543	479	422	422
query26	1240	276	159	159
query27	2736	535	350	350
query28	4391	2145	2117	2117
query29	765	632	437	437
query30	282	217	190	190
query31	911	851	774	774
query32	73	63	63	63
query33	548	361	307	307
query34	811	829	509	509
query35	803	836	766	766
query36	965	976	879	879
query37	115	97	77	77
query38	4108	4080	4040	4040
query39	1476	1446	1424	1424
query40	211	118	109	109
query41	56	56	52	52
query42	124	105	106	105
query43	492	517	464	464
query44	1297	822	806	806
query45	184	172	164	164
query46	841	1011	624	624
query47	1726	1786	1711	1711
query48	409	424	305	305
query49	710	469	383	383
query50	646	699	416	416
query51	4187	4158	4131	4131
query52	122	105	98	98
query53	224	255	191	191
query54	572	570	497	497
query55	82	80	83	80
query56	333	295	275	275
query57	1171	1186	1106	1106
query58	260	255	259	255
query59	2474	2554	2508	2508
query60	344	333	312	312
query61	133	128	124	124
query62	820	700	660	660
query63	227	189	193	189
query64	4303	1043	667	667
query65	4246	4166	4221	4166
query66	1005	419	315	315
query67	16060	15809	15522	15522
query68	6419	902	520	520
query69	473	315	271	271
query70	1195	1112	1108	1108
query71	412	328	310	310
query72	5527	4866	5183	4866
query73	685	674	355	355
query74	8962	9224	8747	8747
query75	3192	3204	2747	2747
query76	3089	1161	725	725
query77	480	393	316	316
query78	10177	10124	9410	9410
query79	2297	842	598	598
query80	625	575	450	450
query81	494	269	229	229
query82	188	131	100	100
query83	258	257	240	240
query84	259	112	95	95
query85	782	362	323	323
query86	337	317	297	297
query87	4463	4449	4286	4286
query88	3498	2243	2258	2243
query89	370	318	280	280
query90	2099	211	215	211
query91	140	155	112	112
query92	80	62	57	57
query93	2350	946	576	576
query94	684	419	288	288
query95	373	289	293	289
query96	491	575	278	278
query97	2685	2793	2639	2639
query98	245	214	201	201
query99	1347	1368	1323	1323
Total cold run time: 273462 ms
Total hot run time: 185258 ms

Copy link
Member

@eldenmoon eldenmoon 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 Jul 1, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Jul 1, 2025

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

@doris-robot
Copy link

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

query1	0.05	0.04	0.04
query2	0.08	0.03	0.04
query3	0.24	0.08	0.07
query4	1.66	0.11	0.11
query5	0.44	0.44	0.45
query6	1.19	0.67	0.66
query7	0.02	0.02	0.01
query8	0.04	0.03	0.03
query9	0.61	0.52	0.52
query10	0.58	0.57	0.57
query11	0.16	0.11	0.11
query12	0.15	0.12	0.11
query13	0.64	0.61	0.61
query14	0.81	0.82	0.81
query15	0.90	0.89	0.87
query16	0.40	0.39	0.40
query17	1.09	1.07	1.07
query18	0.22	0.21	0.22
query19	1.91	1.88	1.83
query20	0.01	0.01	0.02
query21	15.37	0.91	0.54
query22	0.74	1.24	0.61
query23	14.98	1.35	0.64
query24	6.61	0.72	1.91
query25	0.58	0.16	0.09
query26	0.63	0.17	0.14
query27	0.06	0.05	0.05
query28	10.32	0.97	0.46
query29	12.54	3.99	3.27
query30	0.26	0.09	0.08
query31	2.83	0.61	0.39
query32	3.23	0.56	0.48
query33	3.13	3.22	3.09
query34	15.95	5.44	4.81
query35	4.86	4.90	4.85
query36	0.67	0.50	0.49
query37	0.09	0.06	0.07
query38	0.05	0.05	0.04
query39	0.03	0.03	0.02
query40	0.18	0.15	0.14
query41	0.08	0.03	0.02
query42	0.03	0.03	0.02
query43	0.04	0.04	0.04
Total cold run time: 104.46 s
Total hot run time: 29.55 s

@doris-robot
Copy link

BE UT Coverage Report

Increment line coverage 0.00% (0/18) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 57.07% (15347/26892)
Line Coverage 46.14% (139431/302199)
Region Coverage 45.44% (70658/155493)
Branch Coverage 40.22% (37320/92782)

@HappenLee HappenLee merged commit 154c185 into apache:master Jul 1, 2025
27 of 30 checks passed
yiguolei pushed a commit that referenced this pull request Jul 3, 2025
### What problem does this PR solve?

cherry pick #52573
Problem Summary:
koarz pushed a commit to koarz/doris that referenced this pull request Jul 4, 2025
some Regression test coredump when segment cache miss:

```
thrift error, reason=No more data to read.thrift error, reason=No more data to read.thrift error, reason=No more data to read.terminate called after throwing an instance of 'doris::Exception'
  what():  [E3] Method insert_many_dict_data is not supported for variant
*** Query id: 0-0 ***
*** is nereids: 1 ***
*** tablet id: 0 ***
*** Aborted at 1749816938 (unix time) try "date -d @1749816938" if you are using GNU date ***
*** Current BE git commitID: a8f84d2 ***
*** SIGABRT unknown detail explain (@0x3e9003b76c0) received by PID 3897024 (TID 3898413 OR 0x7c0e01b00700) from PID 3897024; stack trace: ***
 0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /mnt/disk2/tengjianping/doris-master/be/src/common/signal_handler.h:421
 1# 0x00007F013A4705B0 in /lib64/libc.so.6
 2# __GI_raise in /lib64/libc.so.6
 3# __GI_abort in /lib64/libc.so.6
 4# __gnu_cxx::__verbose_terminate_handler() [clone .cold] in /mnt/disk2/tengjianping/doris-master/output/be/lib/doris_be
 5# __cxxabiv1::__terminate(void (*)()) in /mnt/disk2/tengjianping/doris-master/output/be/lib/doris_be
 6# 0x00005640CA3EFC71 in /mnt/disk2/tengjianping/doris-master/output/be/lib/doris_be
 7# 0x00005640CA3EFDC4 in /mnt/disk2/tengjianping/doris-master/output/be/lib/doris_be
 8# doris::vectorized::IColumn::insert_many_dict_data(int const*, unsigned long, doris::StringRef const*, unsigned long, unsigned int) at /mnt/disk2/tengjianping/doris-master/be/src/vec/columns/column.h:247
 9# doris::vectorized::ColumnNullable::insert_many_dict_data(int const*, unsigned long, doris::StringRef const*, unsigned long, unsigned int) at /mnt/disk2/tengjianping/doris-master/be/src/vec/columns/column_nullable.h:242
10# doris::segment_v2::BinaryDictPageDecoder::read_by_rowids(unsigned int const*, unsigned long, unsigned long*, doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>&) at /mnt/disk2/tengjianping/doris-master/be/src/olap/rowset/segment_v2/binary_dict_page.cpp:325
11# doris::segment_v2::FileColumnIterator::read_by_rowids(unsigned int const*, unsigned long, doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>&) at /mnt/disk2/tengjianping/doris-master/be/src/olap/rowset/segment_v2/column_reader.cpp:1368
12# doris::segment_v2::Segment::seek_and_read_by_rowid(doris::TabletSchema const&, doris::SlotDescriptor*, unsigned int, doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>&, doris::OlapReaderStatistics&, std::unique_ptr<doris::segment_v2::ColumnIterator, std::default_delete<doris::segment_v2::ColumnIterator> >&) at /mnt/disk2/tengjianping/doris-master/be/src/olap/rowset/segment_v2/segment.cpp:1163
13# doris::RowIdStorageReader::read_doris_format_row(std::shared_ptr<doris::IdFileMap> const&, std::shared_ptr<doris::FileMapping> const&, long, std::vector<doris::SlotDescriptor, std::allocator<doris::SlotDescriptor> >&, doris::TabletSchema const&, doris::RowStoreReadStruct&, doris::OlapReaderStatistics&, long*, long*, long*, long*, std::unordered_map<doris::IteratorKey, doris::IteratorItem, doris::HashOfIteratorKey, std::equal_to<doris::IteratorKey>, std::allocator<std::pair<doris::IteratorKey const, doris::IteratorItem> > >&, doris::vectorized::Block&) at /mnt/disk2/tengjianping/doris-master/be/src/exec/rowid_fetcher.cpp:816
14# doris::RowIdStorageReader::read_batch_doris_format_row(doris::PRequestBlockDesc const&, std::shared_ptr<doris::IdFileMap>, std::vector<doris::SlotDescriptor, std::allocator<doris::SlotDescriptor> >&, doris::TUniqueId const&, doris::vectorized::Block&, doris::OlapReaderStatistics&, long*, long*, long*, long*) at /mnt/disk2/tengjianping/doris-master/be/src/exec/rowid_fetcher.cpp:624
15# doris::RowIdStorageReader::read_by_rowids(doris::PMultiGetRequestV2 const&, doris::PMultiGetResponseV2*) at /mnt/disk2/tengjianping/doris-master/be/src/exec/rowid_fetcher.cpp:538
16# doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0::operator()() const at /mnt/disk2/tengjianping/doris-master/be/src/service/internal_service.cpp:2124
17# void std::__invoke_impl<void, doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0&>(std::__invoke_other, doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0&) at /mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61
18# std::enable_if<is_invocable_r_v<void, doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0&>, void>::type std::__invoke_r<void, doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0&>(doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0&) at /mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:117
19# std::_Function_handler<void (), doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0>::_M_invoke(std::_Any_data const&) at /mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:290
20# std::function<void ()>::operator()() const at /mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:591
21# doris::vectorized::SimplifiedScanScheduler::submit_scan_task(doris::vectorized::SimplifiedScanTask)::{lambda()apache#1}::operator()() const at /mnt/disk2/tengjianping/doris-master/be/src/vec/exec/scan/scanner_scheduler.h:134
```
koarz pushed a commit to koarz/doris that referenced this pull request Jul 4, 2025
some Regression test coredump when segment cache miss:

```
thrift error, reason=No more data to read.thrift error, reason=No more data to read.thrift error, reason=No more data to read.terminate called after throwing an instance of 'doris::Exception'
  what():  [E3] Method insert_many_dict_data is not supported for variant
*** Query id: 0-0 ***
*** is nereids: 1 ***
*** tablet id: 0 ***
*** Aborted at 1749816938 (unix time) try "date -d @1749816938" if you are using GNU date ***
*** Current BE git commitID: a8f84d2 ***
*** SIGABRT unknown detail explain (@0x3e9003b76c0) received by PID 3897024 (TID 3898413 OR 0x7c0e01b00700) from PID 3897024; stack trace: ***
 0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /mnt/disk2/tengjianping/doris-master/be/src/common/signal_handler.h:421
 1# 0x00007F013A4705B0 in /lib64/libc.so.6
 2# __GI_raise in /lib64/libc.so.6
 3# __GI_abort in /lib64/libc.so.6
 4# __gnu_cxx::__verbose_terminate_handler() [clone .cold] in /mnt/disk2/tengjianping/doris-master/output/be/lib/doris_be
 5# __cxxabiv1::__terminate(void (*)()) in /mnt/disk2/tengjianping/doris-master/output/be/lib/doris_be
 6# 0x00005640CA3EFC71 in /mnt/disk2/tengjianping/doris-master/output/be/lib/doris_be
 7# 0x00005640CA3EFDC4 in /mnt/disk2/tengjianping/doris-master/output/be/lib/doris_be
 8# doris::vectorized::IColumn::insert_many_dict_data(int const*, unsigned long, doris::StringRef const*, unsigned long, unsigned int) at /mnt/disk2/tengjianping/doris-master/be/src/vec/columns/column.h:247
 9# doris::vectorized::ColumnNullable::insert_many_dict_data(int const*, unsigned long, doris::StringRef const*, unsigned long, unsigned int) at /mnt/disk2/tengjianping/doris-master/be/src/vec/columns/column_nullable.h:242
10# doris::segment_v2::BinaryDictPageDecoder::read_by_rowids(unsigned int const*, unsigned long, unsigned long*, doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>&) at /mnt/disk2/tengjianping/doris-master/be/src/olap/rowset/segment_v2/binary_dict_page.cpp:325
11# doris::segment_v2::FileColumnIterator::read_by_rowids(unsigned int const*, unsigned long, doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>&) at /mnt/disk2/tengjianping/doris-master/be/src/olap/rowset/segment_v2/column_reader.cpp:1368
12# doris::segment_v2::Segment::seek_and_read_by_rowid(doris::TabletSchema const&, doris::SlotDescriptor*, unsigned int, doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>&, doris::OlapReaderStatistics&, std::unique_ptr<doris::segment_v2::ColumnIterator, std::default_delete<doris::segment_v2::ColumnIterator> >&) at /mnt/disk2/tengjianping/doris-master/be/src/olap/rowset/segment_v2/segment.cpp:1163
13# doris::RowIdStorageReader::read_doris_format_row(std::shared_ptr<doris::IdFileMap> const&, std::shared_ptr<doris::FileMapping> const&, long, std::vector<doris::SlotDescriptor, std::allocator<doris::SlotDescriptor> >&, doris::TabletSchema const&, doris::RowStoreReadStruct&, doris::OlapReaderStatistics&, long*, long*, long*, long*, std::unordered_map<doris::IteratorKey, doris::IteratorItem, doris::HashOfIteratorKey, std::equal_to<doris::IteratorKey>, std::allocator<std::pair<doris::IteratorKey const, doris::IteratorItem> > >&, doris::vectorized::Block&) at /mnt/disk2/tengjianping/doris-master/be/src/exec/rowid_fetcher.cpp:816
14# doris::RowIdStorageReader::read_batch_doris_format_row(doris::PRequestBlockDesc const&, std::shared_ptr<doris::IdFileMap>, std::vector<doris::SlotDescriptor, std::allocator<doris::SlotDescriptor> >&, doris::TUniqueId const&, doris::vectorized::Block&, doris::OlapReaderStatistics&, long*, long*, long*, long*) at /mnt/disk2/tengjianping/doris-master/be/src/exec/rowid_fetcher.cpp:624
15# doris::RowIdStorageReader::read_by_rowids(doris::PMultiGetRequestV2 const&, doris::PMultiGetResponseV2*) at /mnt/disk2/tengjianping/doris-master/be/src/exec/rowid_fetcher.cpp:538
16# doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0::operator()() const at /mnt/disk2/tengjianping/doris-master/be/src/service/internal_service.cpp:2124
17# void std::__invoke_impl<void, doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0&>(std::__invoke_other, doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0&) at /mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61
18# std::enable_if<is_invocable_r_v<void, doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0&>, void>::type std::__invoke_r<void, doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0&>(doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0&) at /mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:117
19# std::_Function_handler<void (), doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0>::_M_invoke(std::_Any_data const&) at /mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:290
20# std::function<void ()>::operator()() const at /mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:591
21# doris::vectorized::SimplifiedScanScheduler::submit_scan_task(doris::vectorized::SimplifiedScanTask)::{lambda()apache#1}::operator()() const at /mnt/disk2/tengjianping/doris-master/be/src/vec/exec/scan/scanner_scheduler.h:134
```
koarz pushed a commit to koarz/doris that referenced this pull request Jul 4, 2025
some Regression test coredump when segment cache miss:

```
thrift error, reason=No more data to read.thrift error, reason=No more data to read.thrift error, reason=No more data to read.terminate called after throwing an instance of 'doris::Exception'
  what():  [E3] Method insert_many_dict_data is not supported for variant
*** Query id: 0-0 ***
*** is nereids: 1 ***
*** tablet id: 0 ***
*** Aborted at 1749816938 (unix time) try "date -d @1749816938" if you are using GNU date ***
*** Current BE git commitID: a8f84d2 ***
*** SIGABRT unknown detail explain (@0x3e9003b76c0) received by PID 3897024 (TID 3898413 OR 0x7c0e01b00700) from PID 3897024; stack trace: ***
 0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /mnt/disk2/tengjianping/doris-master/be/src/common/signal_handler.h:421
 1# 0x00007F013A4705B0 in /lib64/libc.so.6
 2# __GI_raise in /lib64/libc.so.6
 3# __GI_abort in /lib64/libc.so.6
 4# __gnu_cxx::__verbose_terminate_handler() [clone .cold] in /mnt/disk2/tengjianping/doris-master/output/be/lib/doris_be
 5# __cxxabiv1::__terminate(void (*)()) in /mnt/disk2/tengjianping/doris-master/output/be/lib/doris_be
 6# 0x00005640CA3EFC71 in /mnt/disk2/tengjianping/doris-master/output/be/lib/doris_be
 7# 0x00005640CA3EFDC4 in /mnt/disk2/tengjianping/doris-master/output/be/lib/doris_be
 8# doris::vectorized::IColumn::insert_many_dict_data(int const*, unsigned long, doris::StringRef const*, unsigned long, unsigned int) at /mnt/disk2/tengjianping/doris-master/be/src/vec/columns/column.h:247
 9# doris::vectorized::ColumnNullable::insert_many_dict_data(int const*, unsigned long, doris::StringRef const*, unsigned long, unsigned int) at /mnt/disk2/tengjianping/doris-master/be/src/vec/columns/column_nullable.h:242
10# doris::segment_v2::BinaryDictPageDecoder::read_by_rowids(unsigned int const*, unsigned long, unsigned long*, doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>&) at /mnt/disk2/tengjianping/doris-master/be/src/olap/rowset/segment_v2/binary_dict_page.cpp:325
11# doris::segment_v2::FileColumnIterator::read_by_rowids(unsigned int const*, unsigned long, doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>&) at /mnt/disk2/tengjianping/doris-master/be/src/olap/rowset/segment_v2/column_reader.cpp:1368
12# doris::segment_v2::Segment::seek_and_read_by_rowid(doris::TabletSchema const&, doris::SlotDescriptor*, unsigned int, doris::COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>&, doris::OlapReaderStatistics&, std::unique_ptr<doris::segment_v2::ColumnIterator, std::default_delete<doris::segment_v2::ColumnIterator> >&) at /mnt/disk2/tengjianping/doris-master/be/src/olap/rowset/segment_v2/segment.cpp:1163
13# doris::RowIdStorageReader::read_doris_format_row(std::shared_ptr<doris::IdFileMap> const&, std::shared_ptr<doris::FileMapping> const&, long, std::vector<doris::SlotDescriptor, std::allocator<doris::SlotDescriptor> >&, doris::TabletSchema const&, doris::RowStoreReadStruct&, doris::OlapReaderStatistics&, long*, long*, long*, long*, std::unordered_map<doris::IteratorKey, doris::IteratorItem, doris::HashOfIteratorKey, std::equal_to<doris::IteratorKey>, std::allocator<std::pair<doris::IteratorKey const, doris::IteratorItem> > >&, doris::vectorized::Block&) at /mnt/disk2/tengjianping/doris-master/be/src/exec/rowid_fetcher.cpp:816
14# doris::RowIdStorageReader::read_batch_doris_format_row(doris::PRequestBlockDesc const&, std::shared_ptr<doris::IdFileMap>, std::vector<doris::SlotDescriptor, std::allocator<doris::SlotDescriptor> >&, doris::TUniqueId const&, doris::vectorized::Block&, doris::OlapReaderStatistics&, long*, long*, long*, long*) at /mnt/disk2/tengjianping/doris-master/be/src/exec/rowid_fetcher.cpp:624
15# doris::RowIdStorageReader::read_by_rowids(doris::PMultiGetRequestV2 const&, doris::PMultiGetResponseV2*) at /mnt/disk2/tengjianping/doris-master/be/src/exec/rowid_fetcher.cpp:538
16# doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0::operator()() const at /mnt/disk2/tengjianping/doris-master/be/src/service/internal_service.cpp:2124
17# void std::__invoke_impl<void, doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0&>(std::__invoke_other, doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0&) at /mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61
18# std::enable_if<is_invocable_r_v<void, doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0&>, void>::type std::__invoke_r<void, doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0&>(doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0&) at /mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:117
19# std::_Function_handler<void (), doris::PInternalService::multiget_data_v2(google::protobuf::RpcController*, doris::PMultiGetRequestV2 const*, doris::PMultiGetResponseV2*, google::protobuf::Closure*)::$_0>::_M_invoke(std::_Any_data const&) at /mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:290
20# std::function<void ()>::operator()() const at /mnt/disk2/tengjianping/local/ldb_toolchain/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:591
21# doris::vectorized::SimplifiedScanScheduler::submit_scan_task(doris::vectorized::SimplifiedScanTask)::{lambda()apache#1}::operator()() const at /mnt/disk2/tengjianping/doris-master/be/src/vec/exec/scan/scanner_scheduler.h:134
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants