liutang123 opened a new issue, #46498: URL: https://github.com/apache/doris/issues/46498
### Search before asking - [X] I had searched in the [issues](https://github.com/apache/doris/issues?q=is%3Aissue) and found no similar issues. ### Version 2.1.7 ### What's Wrong? When execute nested loop join in pipelineX and old planner, an `DCHECK` error occur. be.INFO ``` F20250106 17:17:31.337930 558416 block.cpp:731] Check failed: d.column->use_count() == 1 (2 vs. 1) 0x6180000e0a20 block use count: , [ channel_id, 2], [__DORIS_DELETE_SIGN__, 1], [channel_id, 1], [event_date, 1], [__DORIS_DELETE_SIGN__, 1] ``` be.out ``` 8# doris::vectorized::Block::clear_column_data(int) in /usr/local/service/doris/lib/be/doris_be 9# doris::pipeline::NestedLoopJoinProbeOperatorX::pull(doris::RuntimeState*, doris::vectorized::Block*, bool*) const at /root/tc/be/sr c/pipeline/exec/nested_loop_join_probe_operator.cpp:547 10# doris::pipeline::StatefulOperatorX<doris::pipeline::NestedLoopJoinProbeLocalState>::get_block(doris::RuntimeState*, doris::vectoriz ed::Block*, bool*) at /root/tc/be/src/pipeline/pipeline_x/operator.cpp:571 11# doris::pipeline::OperatorXBase::get_block_after_projects(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /root/tc/be/src /pipeline/pipeline_x/operator.cpp:292 12# doris::pipeline::PipelineXTask::execute(bool*) at /root/tc/be/src/pipeline/pipeline_x/pipeline_x_task.cpp:342 13# doris::pipeline::TaskScheduler::_do_work(unsigned long) at /root/tc/be/src/pipeline/task_scheduler.cpp:347 14# doris::pipeline::TaskScheduler::start()::$_0::operator()() const at /root/tc/be/src/pipeline/task_scheduler.cpp:218 15# void std::__invoke_impl<void, doris::pipeline::TaskScheduler::start()::$_0&>(std::__invoke_other, doris::pipeline::TaskScheduler::s tart()::$_0&) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61 16# std::enable_if<is_invocable_r_v<void, doris::pipeline::TaskScheduler::start()::$_0&>, void>::type std::__invoke_r<void, doris::pipe line::TaskScheduler::start()::$_0&>(doris::pipeline::TaskScheduler::start()::$_0&) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-li nux-gnu/11/../../../../include/c++/11/bits/invoke.h:117 17# std::_Function_handler<void (), doris::pipeline::TaskScheduler::start()::$_0>::_M_invoke(std::_Any_data const&) at /var/local/ldb-t oolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291 18# std::function<void ()>::operator()() const at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/1 1/bits/std_function.h:560 19# doris::FunctionRunnable::run() at /root/tc/be/src/util/threadpool.cpp:48 20# doris::ThreadPool::dispatch_thread() at /root/tc/be/src/util/threadpool.cpp:544 21# void std::__invoke_impl<void, void (doris::ThreadPool::*&)(), doris::ThreadPool*&>(std::__invoke_memfun_deref, void (doris::ThreadP ool::*&)(), doris::ThreadPool*&) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke. h:74 22# std::__invoke_result<void (doris::ThreadPool::*&)(), doris::ThreadPool*&>::type std::__invoke<void (doris::ThreadPool::*&)(), doris ::ThreadPool*&>(void (doris::ThreadPool::*&)(), doris::ThreadPool*&) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../ ../../../include/c++/11/bits/invoke.h:96 23# void std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/functional:420 24# void std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>::operator()<, void>() at /var/local/ldb-toolchain/bin/../lib/gcc /x86_64-linux-gnu/11/../../../../include/c++/11/functional:503 25# void std::__invoke_impl<void, std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&>(std::__invoke_other, std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/ 11/bits/invoke.h:61 26# std::enable_if<is_invocable_r_v<void, std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&>, void>::type std::__invoke_r< void, std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&>(std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()>&) a t /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:117 27# std::_Function_handler<void (), std::_Bind<void (doris::ThreadPool::*(doris::ThreadPool*))()> >::_M_invoke(std::_Any_data const&) a t /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291 28# std::function<void ()>::operator()() const at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/1 1/bits/std_function.h:560 29# doris::Thread::supervise_thread(void*) at /root/tc/be/src/util/thread.cpp:498 30# start_thread in /lib64/libpthread.so.0 31# __clone in /lib64/libc.so.6 ``` ### What You Expected? No `DCHECK` occur. ### How to Reproduce? 1. build doris be with asan. 2. create table ``` CREATE TABLE `dbgr` ( `event_date` int NULL DEFAULT "0" COMMENT '天', `c_id` int NULL DEFAULT "0" COMMENT '渠道ID', INDEX event_date (`event_date`) USING INVERTED ) ENGINE=OLAP UNIQUE KEY(`event_date`) COMMENT '' PARTITION BY RANGE(`event_date`) (PARTITION p_min VALUES [("-2147483648"), ("20220500")), PARTITION p_202206 VALUES [("20220500"), ("20220600")), PARTITION p_202207 VALUES [("20220600"), ("20220700")), PARTITION p_202413 VALUES [("20241200"), ("20250100")), PARTITION p_max VALUES [("20270200"), (MAXVALUE))) DISTRIBUTED BY HASH(`event_date`) BUCKETS 2 PROPERTIES ( "replication_allocation" = "tag.location.default: 3", "min_load_replica_num" = "-1", "is_being_synced" = "false", "storage_medium" = "hdd", "storage_format" = "V2", "inverted_index_storage_format" = "V1", "enable_unique_key_merge_on_write" = "true", "light_schema_change" = "true", "disable_auto_compaction" = "false", "enable_single_replica_compaction" = "false", "group_commit_interval_ms" = "10000", "group_commit_data_bytes" = "134217728", "enable_mow_light_delete" = "false" ); ``` ``` CREATE TABLE `lo` ( `id` bigint NULL, `event_date` int NULL COMMENT '', `c_id` int NULL COMMENT '' ) ENGINE=OLAP UNIQUE KEY(`id`, `event_date`) COMMENT '' PARTITION BY RANGE(`event_date`) (PARTITION p_202206 VALUES [("20220500"), ("20220600")), PARTITION p_202207 VALUES [("20220600"), ("20220700")), PARTITION p_202702 VALUES [("20270100"), ("20270200"))) DISTRIBUTED BY HASH(`event_date`) BUCKETS 2 PROPERTIES ( "replication_allocation" = "tag.location.default: 2", "min_load_replica_num" = "-1", "is_being_synced" = "false", "storage_medium" = "hdd", "storage_format" = "V2", "inverted_index_storage_format" = "V1", "enable_unique_key_merge_on_write" = "true", "light_schema_change" = "true", "disable_auto_compaction" = "false", "enable_single_replica_compaction" = "false", "group_commit_interval_ms" = "10000", "group_commit_data_bytes" = "134217728", "enable_mow_light_delete" = "false" ); ``` 3. insert some test data in dbgr table and lo table 4. execute follow query: ``` set experimental_enable_pipeline_x_engine = true; set experimental_enable_pipeline_engine = true; set experimental_enable_nereids_planner = false; select b.c_id from dbgr as b left join (select c.c_id from lo where event_date between 20220500 and 20220600 limit 100 )c on c.c_id = 1 LIMIT 0, 200; ``` ### Anything Else? _No response_ ### Are you willing to submit PR? - [X] Yes I am willing to submit a PR! ### Code of Conduct - [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org