Uh oh!
There was an error while loading. Please reload this page.
[branch-2.1] (doris-future) Support auto partition name function - #38853
Conversation
doris-robot
commented
Aug 5, 2024
Thank you for your contribution to Apache Doris. Since 2024-03-18, the Document has been moved to doris-website. |
5db4f78 to
8662732Compareclang-tidy review says "All clean, LGTM! 👍" |
8662732 to
e53d6a2Comparewyxxxcat
commented
Aug 5, 2024
run buildall |
clang-tidy review says "All clean, LGTM! 👍" |
1 similar comment
clang-tidy review says "All clean, LGTM! 👍" |
clang-tidy review says "All clean, LGTM! 👍" |
e53d6a2 to
93fc121Compare93fc121 to
c0a511fComparewyxxxcat
commented
Aug 5, 2024
run buildall |
Uh oh!
There was an error while loading. Please reload this page.
doris-robot
commented
Aug 5, 2024
TeamCity be ut coverage result: |
…planner (#55464) ### What problem does this PR solve? **Problem:** Incorrect input arguments for auto_partition_name cause a fallback to the legacy planner in branch 2.1. However, since this function is handled by the FE legacy code, there is no parameter checking logic. (See: #38853) Furthermore, there is a lack of sufficient checks on the BE side, which can lead to crashes. Such as: ``` select auto_partition_name("xxx"); select auto_partition_name("xxx", "sss"); ``` **How to Fix:** So here we simply remove function `auto_partition_name` in legacy planner **The stack is like:** ``` *** Query id: 24c69ac956394483-b2a4d08963d06593 *** *** is nereids: 0 *** *** tablet id: 0 *** *** Aborted at 1756449846 (unix time) try "date -d @1756449846" if you are using GNU date *** *** Current BE git commitID: 2506121 *** *** SIGSEGV address not mapped to object (@0x0) received by PID 1010328 (TID 1011344 OR 0x7f75ba07a6c0) from PID 0; stack trace: *** 0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) in /usr/local/service/doris/lib/be/doris_be 1# os::Linux::chained_handler(int, siginfo*, void*) in /usr/local/jdk/jre/lib/amd64/server/libjvm.so 2# JVM_handle_linux_signal in /usr/local/jdk/jre/lib/amd64/server/libjvm.so 3# signalHandler(int, siginfo*, void*) in /usr/local/jdk/jre/lib/amd64/server/libjvm.so 4# 0x00007F77D0EA1AD0 in /lib64/libc.so.6 5# doris::vectorized::PreparedFunctionImpl::default_implementation_for_constant_arguments(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long, bool, bool*) const in /usr/local/service/doris/lib/be/doris_be 6# doris::vectorized::PreparedFunctionImpl::execute_without_low_cardinality_columns(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long, bool) const in /usr/local/service/doris/lib/be/doris_be 7# doris::vectorized::PreparedFunctionImpl::execute(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long, bool) const in /usr/local/service/doris/lib/be/doris_be 8# doris::vectorized::IFunctionBase::execute(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long, bool) const in /usr/local/service/doris/lib/be/doris_be 9# doris::vectorized::VectorizedFnCall::_do_execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*, std::vector<unsigned long, std::allocator<unsigned long> >&) in /usr/local/service/doris/lib/be/doris_be 10# doris::vectorized::VectorizedFnCall::execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*) in /usr/local/service/doris/lib/be/doris_be 11# doris::vectorized::VExpr::get_const_col(doris::vectorized::VExprContext*, std::shared_ptr<doris::ColumnPtrWrapper>*) in /usr/local/service/doris/lib/be/doris_be 12# doris::vectorized::VectorizedFnCall::open(doris::RuntimeState*, doris::vectorized::VExprContext*, doris::FunctionContext::FunctionStateScope) in /usr/local/service/doris/lib/be/doris_be 13# doris::vectorized::VExprContext::open(doris::RuntimeState*) in /usr/local/service/doris/lib/be/doris_be 14# doris::vectorized::VExpr::open(std::vector<std::shared_ptr<doris::vectorized::VExprContext>, std::allocator<std::shared_ptr<doris::vectorized::VExprContext> > > const&, doris::RuntimeState*) in /usr/local/service/doris/lib/be/doris_be 15# doris::pipeline::UnionSourceOperatorX::open(doris::RuntimeState*) in /usr/local/service/doris/lib/be/doris_be 16# doris::pipeline::Pipeline::prepare(doris::RuntimeState*) in /usr/local/service/doris/lib/be/doris_be 17# doris::pipeline::PipelineXFragmentContext::prepare(doris::TPipelineFragmentParams const&, doris::ThreadPool*) in /usr/local/service/doris/lib/be/doris_be 18# doris::FragmentMgr::exec_plan_fragment(doris::TPipelineFragmentParams const&, doris::QuerySource, std::function<void (doris::RuntimeState*, doris::Status*)> const&) in /usr/local/service/doris/lib/be/doris_be 19# doris::FragmentMgr::exec_plan_fragment(doris::TPipelineFragmentParams const&, doris::QuerySource) in /usr/local/service/doris/lib/be/doris_be ``` ### Release note None ### Check List (For Author) - Test <!-- At least one of them must be included. --> - [ ] 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 <!-- Add your reason? --> - Behavior changed: - [ ] No. - [ ] Yes. <!-- Explain the behavior change --> - Does this need documentation? - [ ] No. - [ ] Yes. <!-- Add document PR link here. eg: apache/doris-website#1214 --> ### Check List (For Reviewer who merge this PR) - [ ] Confirm the release note - [ ] Confirm test cases - [ ] Confirm document - [ ] Add branch pick label <!-- Add branch pick label that this PR should merge into -->
cherry-pick #34258 to branch-2.1