Tim Armstrong has posted comments on this change.

Change subject: IMPALA-4348 / IMPALA-4333: Improve coordinator fragment 
cancellation
......................................................................


Patch Set 1:

(1 comment)

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

Line 163:     consumer_cv_.wait(l);
As far as I can see, PlanRootSink can still be destroyed while a thread A is 
stuck in here.

If CloseConsumer() is called concurrently by thread B while the consumer thread 
is waiting here, consumer_done_ is set to true, and thread A remains blocked 
here.

Then if Close() is called by a different thread C, consumer_done_ is true so it 
returns immediately and can start destroying this. Close() signals 
'consumer_cv_' so this thread might get luck and get out of here in time, but I 
don't see anything that guarantees that.


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I5b4e25c1d658b3929182ba5e56b5c5e881dd394a
Gerrit-PatchSet: 1
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-Owner: Henry Robinson <[email protected]>
Gerrit-Reviewer: Dan Hecht <[email protected]>
Gerrit-Reviewer: Tim Armstrong <[email protected]>
Gerrit-HasComments: Yes

Reply via email to