Matthew Jacobs has posted comments on this change.

Change subject: IMPALA-5567: race in fragment instance teardown
......................................................................


Patch Set 2:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/7275/2/be/src/exec/plan-root-sink.cc
File be/src/exec/plan-root-sink.cc:

Line 101:     RETURN_IF_ERROR(state->GetQueryStatus());
At first glance this looks reasonable to put here, but is this necessary for 
this change? Looks like the caller is FIS::ExecInternal and the error status 
gets propagated. I'm just asking because we'll start seeing errors sooner, 
which seems like a good thing but may result in some different runtime behavior.


http://gerrit.cloudera.org:8080/#/c/7275/1/be/src/runtime/runtime-state.h
File be/src/runtime/runtime-state.h:

PS1, Line 294:   /// Returns a non-OK status if query execution should stop 
(e.g., the query was
             :   /// cancelled or a mem limit was exceeded). Exec nodes should 
check this periodically so
             :   /// execution doesn't continue if the query terminates 
abnormally. This should not be
             :   /// called after ReleaseResources().
             :   Status CheckQueryState();
> I wonder if most of the remaining callers can be converted to CheckQuerySta
I like CheckAsyncError() for GetQueryStatus(). If we can convert all of the 
other callsites to CheckQueryStatus(), that'd clearly be ideal, but that seems 
like a bigger change to move Allocate -> TryAllocate. However, maybe we can 
split CheckQueryState() into a fn that just updates the status_ on mem limit 
exceeded, then the places where we know the memory may have been over consumed 
we call that before calling CheckAsyncError()? I guess 
CheckMemLimitOrAsyncError() is at least more clear for now. I'm OK with fixing 
this more localized issue now.

It's funny, CheckQueryStatus() clearly suffers from the QueryMaintenance() 
problem.


-- 
To view, visit http://gerrit.cloudera.org:8080/7275
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: If567e734042b5f2b82323368dd536dbf3bdf4744
Gerrit-PatchSet: 2
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-Owner: Tim Armstrong <[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]>
Gerrit-HasComments: Yes

Reply via email to