fornaix opened a new issue, #31306: URL: https://github.com/apache/doris/issues/31306
### 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.0.2-rc05 ### What's Wrong? When we join two tables, an exception is thrown by type checking during predicate pushdown ``` Failed to execute sql: java.sql.SQLException: (conn=5692) errCode = 2, detailMessage = (10.218.23.57)[CANCELLED][INTERNAL_ERROR]PrimitiveType 6 meet invalid input value size 4, expect size 8 0. /root/doris-code/doris-2.0.2-rc05/be/src/common/stack_trace.cpp:302: StackTrace::tryCapture() @ 0x000000000ba74a47 in /data/apache-doris-vision-test/be/lib/doris_be 1. /root/doris-code/doris-2.0.2-rc05/be/src/common/stack_trace.h:0: doris::get_stack_trace[abi:cxx11]() @ 0x000000000ba72fdd in /data/apache-doris-vision-test/be/lib/doris_be 2. /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:173: doris::Status doris::Status::Error<true, doris::PrimitiveType, unsigned long&, unsigned long>(int, std::basic_string_view<char, std::char_traits<char> >, doris::PrimitiveType&&, unsigned long&, unsigned long&&) @ 0x000000000f272b24 in /data/apache-doris-vision-test/be/lib/doris_be 3. /root/doris-code/doris-2.0.2-rc05/be/src/common/status.h:367: doris::Status doris::vectorized::VScanNode::_normalize_in_and_eq_predicate<(doris::PrimitiveType)6>(doris::vectorized::VExpr*, doris::vectorized::VExprContext*, doris::SlotDescriptor*, doris::ColumnValueRange<(doris::PrimitiveType)6>&, doris::vectorized::VScanNode::PushDownType*) @ 0x000000000f279d38 in /data/apache-doris-vision-test/be/lib/doris_be 4. /root/doris-code/doris-2.0.2-rc05/be/src/vec/exec/scan/vscan_node.cpp:504: std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<std::__detail::__variant::__deduce_visit_result<void> (*)(doris::vectorized::VScanNode::_normalize_predicate(std::shared_ptr<doris::vectorized::VExpr> const&, doris::vectorized::VExprContext*, std::shared_ptr<doris::vectorized::VExpr>&)::$_1&&, std::variant<doris::ColumnValueRange<(doris::PrimitiveType)3>, doris::ColumnValueRange<(doris::PrimitiveType)4>, doris::ColumnValueRange<(doris::PrimitiveType)5>, doris::ColumnValueRange<(doris::PrimitiveType)6>, doris::ColumnValueRange<(doris::PrimitiveType)7>, doris::ColumnValueRange<(doris::PrimitiveType)15>, doris::ColumnValueRange<(doris::PrimitiveType)10>, doris::ColumnValueRange<(doris::PrimitiveType)23>, doris::ColumnValueRange<(doris::PrimitiveType)11>, doris::ColumnValueRange<(doris::PrimitiveType)25>, doris::ColumnValueRange<(doris::PrimitiveType)12>, doris::ColumnValueRa nge<(doris::PrimitiveType)26>, doris::ColumnValueRange<(doris::PrimitiveType)20>, doris::ColumnValueRange<(doris::PrimitiveType)2>, doris::ColumnValueRange<(doris::PrimitiveType)19>, doris::ColumnValueRange<(doris::PrimitiveType)28>, doris::ColumnValueRange<(doris::PrimitiveType)29>, doris::ColumnValueRange<(doris::PrimitiveType)30> >&)>, std::integer_sequence<unsigned long, 3ul> >::__visit_invoke(doris::vectorized::VScanNode::_normalize_predicate(std::shared_ptr<doris::vectorized::VExpr> const&, doris::vectorized::VExprContext*, std::shared_ptr<doris::vectorized::VExpr>&)::$_1&&, std::variant<doris::ColumnValueRange<(doris::PrimitiveType)3>, doris::ColumnValueRange<(doris::PrimitiveType)4>, doris::ColumnValueRange<(doris::PrimitiveType)5>, doris::ColumnValueRange<(doris::PrimitiveType)6>, doris::ColumnValueRange<(doris::PrimitiveType)7>, doris::ColumnValueRange<(doris::PrimitiveType)15>, doris::ColumnValueRange<(doris::PrimitiveType)10>, doris::ColumnValueRange<(doris::PrimitiveTyp e)23>, doris::ColumnValueRange<(doris::PrimitiveType)11>, doris::ColumnValueRange<(doris::PrimitiveType)25>, doris::ColumnValueRange<(doris::PrimitiveType)12>, doris::ColumnValueRange<(doris::PrimitiveType)26>, doris::ColumnValueRange<(doris::PrimitiveType)20>, doris::ColumnValueRange<(doris::PrimitiveType)2>, doris::ColumnValueRange<(doris::PrimitiveType)19>, doris::ColumnValueRange<(doris::PrimitiveType)28>, doris::ColumnValueRange<(doris::PrimitiveType)29>, doris::ColumnValueRange<(doris::PrimitiveType)30> >&) @ 0x000000000f252d03 in /data/apache-doris-vision-test/be/lib/doris_be 5. /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/tuple:180: doris::vectorized::VScanNode::_normalize_predicate(std::shared_ptr<doris::vectorized::VExpr> const&, doris::vectorized::VExprContext*, std::shared_ptr<doris::vectorized::VExpr>&) @ 0x000000000f24e972 in /data/apache-doris-vision-test/be/lib/doris_be 6. /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:701: doris::vectorized::VScanNode::_normalize_conjuncts() @ 0x000000000f24d59b in /data/apache-doris-vision-test/be/lib/doris_be 7. /root/doris-code/doris-2.0.2-rc05/be/src/common/status.h:432: doris::vectorized::NewOlapScanNode::_process_conjuncts() @ 0x000000000f1bd034 in /data/apache-doris-vision-test/be/lib/doris_be 8. /root/doris-code/doris-2.0.2-rc05/be/src/common/status.h:432: doris::vectorized::VScanNode::alloc_resource(doris::RuntimeState*) @ 0x000000000f247a2f in /data/apache-doris-vision-test/be/lib/doris_be 9. /root/doris-code/doris-2.0.2-rc05/be/src/common/status.h:432: doris::pipeline::StreamingOperator<doris::pipeline::ScanOperatorBuilder>::open(doris::RuntimeState*) @ 0x00000000126c2e54 in /data/apache-doris-vision-test/be/lib/doris_be 10. /root/doris-code/doris-2.0.2-rc05/be/src/common/status.h:432: doris::pipeline::PipelineTask::_open() @ 0x00000000126f9dfa in /data/apache-doris-vision-test/be/lib/doris_be 11. /root/doris-code/doris-2.0.2-rc05/be/src/common/status.h:427: doris::pipeline::PipelineTask::execute(bool*) @ 0x00000000126fa20c in /data/apache-doris-vision-test/be/lib/doris_be 12. /root/doris-code/doris-2.0.2-rc05/be/src/common/status.h:348: doris::pipeline::TaskScheduler::_do_work(unsigned long) @ 0x0000000012703103 in /data/apache-doris-vision-test/be/lib/doris_be 13. /root/doris-code/doris-2.0.2-rc05/be/src/util/threadpool.cpp:0: doris::ThreadPool::dispatch_thread() @ 0x000000000bab165f in /data/apache-doris-vision-test/be/lib/doris_be 14. /var/local/ldb-toolchain/bin/../usr/include/pthread.h:562: doris::Thread::supervise_thread(void*) @ 0x000000000baa75ec in /data/apache-doris-vision-test/be/lib/doris_be 15. start_thread @ 0x0000000000007ea5 in /usr/lib64/libpthread-2.17.so 16. clone @ 0x00000000000fe96d in /usr/lib64/libc-2.17.so ``` ### What You Expected? success to execute ### How to Reproduce? create table: ```sql create table tb1(id int, val string) duplicate key(id) distributed by hash(id); create table tb2(id bigint, val string) duplicate key(id) distributed by hash(id); insert into tb1 values (1,'a'),(2,'b'); insert into tb2 values (2,'bb'),(3, 'cc'); ``` failed query: ``` select tb1.* from tb1 join tb2 on tb1.id=tb2.id where tb1.id = 2 ``` success query: ```sql select tb1.* from tb1 join tb2 on tb1.id=tb2.id where tb2.id = 2 ``` the following query is also correct: ```sql select * from tb1 where id=2; select * from tb2 where id=2; ``` ### Anything Else? related PR(type checking): https://github.com/apache/doris/pull/21890 ### Are you willing to submit PR? - [ ] 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
