[
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]