Impala Public Jenkins has submitted this change and it was merged. Change subject: IMPALA-5567: race in fragment instance teardown ......................................................................
IMPALA-5567: race in fragment instance teardown The bug is that PlanRootSink::GetNext() calls RuntimeState::CheckQueryState() was called concurrently with RuntimeState::ReleaseResources() and got a reference The other callsites of CheckQueryState() are safe because they are in two categories: * ExecNodes or DataSink methods executed by fragment instance execution threads, which must terminate before the runtime state resources are released. * In FeSupport where ReleaseResources() called after CheckQueryState() There is no need to asynchronously check for memory limit exceeded in PlanRootSink::GetNext() since that method does not allocate tracked memory that could push the query over the memory limit. Change-Id: If567e734042b5f2b82323368dd536dbf3bdf4744 Reviewed-on: http://gerrit.cloudera.org:8080/7275 Reviewed-by: Tim Armstrong <[email protected]> Tested-by: Impala Public Jenkins --- M be/src/exec/plan-root-sink.cc M be/src/runtime/runtime-state.cc M be/src/runtime/runtime-state.h 3 files changed, 7 insertions(+), 6 deletions(-) Approvals: Impala Public Jenkins: Verified Tim Armstrong: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/7275 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: If567e734042b5f2b82323368dd536dbf3bdf4744 Gerrit-PatchSet: 7 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim Armstrong <[email protected]> Gerrit-Reviewer: Dan Hecht <[email protected]> Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Lars Volker <[email protected]> Gerrit-Reviewer: Matthew Jacobs <[email protected]> Gerrit-Reviewer: Michael Ho <[email protected]> Gerrit-Reviewer: Tim Armstrong <[email protected]>
