[ 
https://issues.apache.org/jira/browse/IMPALA-12582?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17807465#comment-17807465
 ] 

ASF subversion and git services commented on IMPALA-12582:
----------------------------------------------------------

Commit 12fec51944eeff19030f3e7ca03868f792392732 in impala's branch 
refs/heads/master from Eyizoha
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=12fec5194 ]

IMPALA-12582: Fix crash when enabling MIN_MAX RuntimeFilter in Nested Loop Join

This patch fixes an issue reported by IMPALA-12582, where enabling
MIN_MAX RuntimeFilter for a specific query would cause the executor to
crash. The direct cause of the crash was an out-of-bounds access to
input_vals in the ScalarFnCall::InterpretEval() function, but the root
cause was actually due to the related ScalarExprEvaluator not invoking
the Open() function.

Testing:
 - Added new E2E test case about this issue.

Change-Id: Iba951796d52f109c419587c444840adbb2d44f5d
Reviewed-on: http://gerrit.cloudera.org:8080/20891
Reviewed-by: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Reviewed-by: Csaba Ringhofer <csringho...@cloudera.com>
Tested-by: Csaba Ringhofer <csringho...@cloudera.com>


> Executors crashed while generating the runtime filters
> ------------------------------------------------------
>
>                 Key: IMPALA-12582
>                 URL: https://issues.apache.org/jira/browse/IMPALA-12582
>             Project: IMPALA
>          Issue Type: Bug
>    Affects Versions: Impala 4.3.0
>            Reporter: Zhi Tang
>            Assignee: Ye Zihao
>            Priority: Major
>
> Stack trace:
> {code:java}
> Stack: [0x00007f7c196a5000,0x00007f7c19ea5000],  sp=0x00007f7c19ea2b50,  free 
> space=8182k
> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native 
> code)
> C  [impalad+0x182f362]  impala_udf::StringVal 
> impala::ScalarFnCall::InterpretEval<impala_udf::StringVal>(impala::ScalarExprEvaluator*,
> impala::TupleRow const*) const+0x1c6
> C  [impalad+0x1824dd9]  
> impala::ScalarFnCall::GetStringValInterpreted(impala::ScalarExprEvaluator*, 
> impala::TupleRow const*) const+0x5d
> C  [impalad+0x17ebba9]  
> impala::ScalarExprEvaluator::GetValue(impala::ScalarExpr const&, 
> impala::TupleRow const*)+0x10d3
> C  [impalad+0x17ed8fa]  
> impala::ScalarExprEvaluator::GetValue(impala::TupleRow const*)+0x10
> C  [impalad+0x16ec5b0]  
> impala::FilterContext::InsertPerCompareOp(impala::TupleRow*) const+0x98
> C  [impalad+0x1602c13]  
> impala::NljBuilder::InsertRuntimeFilters(impala::FilterContext*, 
> impala::TupleRow*)+0x47
> C  [impalad+0x1603892]  impala::NljBuilder::Send(impala::RuntimeState*, 
> impala::RowBatch*)+0x3e8
> C  [impalad+0x16d0fa0]  impala::Status 
> impala::BlockingJoinNode::SendBuildInputToSink<true>(impala::RuntimeState*, 
> impala::JoinBuilder*
> )+0x614
> C  [impalad+0x16ca8ba]  
> impala::BlockingJoinNode::ProcessBuildInputAsync(impala::RuntimeState*, 
> impala::JoinBuilder*, impala::Status*)+
> 0xaf8
> C  [impalad+0x16cae46]  impala::BackendDescriptorPB::Clear()+0x2f8
> C  [impalad+0x14ad84a]  
> impala::Thread::SuperviseThread(std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> >
>  const&, std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > const&, boost::function<void ()()>, impala::Th
> readDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*)+0x534
> C  [impalad+0x14b09bb]  boost::detail::thread_data<boost::_bi::bind_t<void, 
> void (*)(std::__cxx11::basic_string<char, std::char_traits<
> char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, boost::fu
> nction<void ()()>, impala::ThreadDebugInfo const*, impala::Promise<long, 
> (impala::PromiseMode)0>*), boost::_bi::list5<boost::_bi::value
> <std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > >, boost::_bi::value<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > >, 
> boost::_bi::value<boost::function<void ()()> >, 
> boost::_bi::value<impala::ThreadDebug
> Info*>, boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > > 
> >::run()+0x6f {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org

Reply via email to