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

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

Commit c4277d8f7558451731b6da4d984df7bd78942050 in impala's branch 
refs/heads/master from stiga-huang
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=c4277d8 ]

IMPALA-10183: Fix hitting DCHECK when cancelling a query with result spooling

BufferedPlanRootSink has a Promise, all_results_spooled_, that could be
accessed by different threads, e.g. the fragment execution thread and
cancellation threads. The main purpose of setting this Promise is to
unblock the coordinator if it's waiting for this. So we can simply
declare this Promise's mode to be MULTIPLE_PRODUCER to avoid hitting the
DCHECK in Promise.Set().

Tests:
 - Run TestResultSpoolingFailpoints::test_failpoints for more than 4000
   iterations

Change-Id: Iaba0ed729ef984f9c51347df02e9fb6f90bc71e0
Reviewed-on: http://gerrit.cloudera.org:8080/16489
Reviewed-by: Tim Armstrong <[email protected]>
Tested-by: Impala Public Jenkins <[email protected]>


> Hit promise DCHECK while looping result spooling tests
> ------------------------------------------------------
>
>                 Key: IMPALA-10183
>                 URL: https://issues.apache.org/jira/browse/IMPALA-10183
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Backend
>            Reporter: Tim Armstrong
>            Assignee: Quanlong Huang
>            Priority: Major
>         Attachments: impalad.ERROR.gz, impalad.FATAL.gz, impalad.INFO.gz
>
>
> {noformat}
> while impala-py.test tests/query_test/test_result_spooling.py -n4 ; do date; 
> done
> {noformat}
> {noformat}
> F0921 10:14:35.355281  5842 promise.h:61] Check failed: mode == 
> PromiseMode::MULTIPLE_PRODUCER [ mode = 0 , PromiseM
> ode::MULTIPLE_PRODUCER = 1 ]Called Set(..) twice on the same Promise in 
> SINGLE_PRODUCER mode
> *** Check failure stack trace: ***
>     @          0x52087fc  google::LogMessage::Fail()
>     @          0x520a0ec  google::LogMessage::SendToLog()
>     @          0x520815a  google::LogMessage::Flush()
>     @          0x520bd58  google::LogMessageFatal::~LogMessageFatal()
>     @          0x223cc50  impala::Promise<>::Set()
>     @          0x293f21d  impala::BufferedPlanRootSink::Cancel()
>     @          0x2317856  impala::FragmentInstanceState::Cancel()
>     @          0x2284c62  impala::QueryState::Cancel()
>     @          0x2464728  impala::ControlService::CancelQueryFInstances()
>     @          0x253df37  
> _ZZN6impala16ControlServiceIfC4ERK13scoped_refptrIN4kudu12MetricEntityEERKS1_INS2_3rpc13Re
> sultTrackerEEENKUlPKN6google8protobuf7MessageEPSE_PNS7_10RpcContextEE4_clESG_SH_SJ_
>     @          0x253fb65  
> _ZNSt17_Function_handlerIFvPKN6google8protobuf7MessageEPS2_PN4kudu3rpc10RpcContextEEZN6imp
> ala16ControlServiceIfC4ERK13scoped_refptrINS6_12MetricEntityEERKSD_INS7_13ResultTrackerEEEUlS4_S5_S9_E4_E9_M_invokeE
> RKSt9_Any_dataOS4_OS5_OS9_
>     @          0x2c9612f  std::function<>::operator()()
>     @          0x2c95ade  kudu::rpc::GeneratedServiceIf::Handle()
>     @          0x21d8c55  impala::ImpalaServicePool::RunThread()
>     @          0x21de836  boost::_mfi::mf0<>::operator()()
>     @          0x21de468  boost::_bi::list1<>::operator()<>()
>     @          0x21de02e  boost::_bi::bind_t<>::operator()()
>     @          0x21ddaa5  
> boost::detail::function::void_function_obj_invoker0<>::invoke()
>     @          0x2140b55  boost::function0<>::operator()()
>     @          0x271e1a9  impala::Thread::SuperviseThread()
>     @          0x2726146  boost::_bi::list5<>::operator()<>()
>     @          0x272606a  boost::_bi::bind_t<>::operator()()
>     @          0x272602b  boost::detail::thread_data<>::run()
>     @          0x3f0f621  thread_proxy
>     @     0x7f4db3f356da  start_thread
>     @     0x7f4db092ca3e  clone
> Wrote minidump to 
> /home/tarmstrong/Impala/impala/logs/cluster/minidumps/impalad/3204ffe5-6905-4842-d702c395-21c4eca5
> .dmp
> (END)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to