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]

Reply via email to