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

Reply via email to