Sahil Takiar has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13883 )

Change subject: IMPALA-8779, IMPALA-8780: RowBatchQueue re-factoring and 
BufferedPRS impl
......................................................................


Patch Set 9:

(10 comments)

http://gerrit.cloudera.org:8080/#/c/13883/9/be/src/exec/buffered-plan-root-sink.cc
File be/src/exec/buffered-plan-root-sink.cc:

http://gerrit.cloudera.org:8080/#/c/13883/9/be/src/exec/buffered-plan-root-sink.cc@65
PS9, Line 65:   rows_available_.NotifyAll();
> It's better to drop the lock before calling notify, so that the woken threa
Done. Switched to NotifyOne() as well as per the recommendation in IMPALA-6125

I looked through the other uses of Notify and made similar changes, but I 
couldn't change all of them because it would introduce race conditions.


http://gerrit.cloudera.org:8080/#/c/13883/9/be/src/exec/buffered-plan-root-sink.cc@74
PS9, Line 74: way
> wake
Done


http://gerrit.cloudera.org:8080/#/c/13883/9/be/src/exec/buffered-plan-root-sink.cc@104
PS9, Line 104: Status BufferedPlanRootSink::GetNext(
> I saw a null pointer dereference causing a crash in the function. Emailed S
Done


http://gerrit.cloudera.org:8080/#/c/13883/9/be/src/exec/buffered-plan-root-sink.cc@121
PS9, Line 121:       *eos = true;
> Are you missing a consumer_eos_.NotifyAll() here ?
Done


http://gerrit.cloudera.org:8080/#/c/13883/9/be/src/exec/plan-root-sink.h
File be/src/exec/plan-root-sink.h:

http://gerrit.cloudera.org:8080/#/c/13883/9/be/src/exec/plan-root-sink.h@84
PS9, Line 84: approriate
> typo
Yeah, I decided just to split this up into two methods since it makes more 
sense.


http://gerrit.cloudera.org:8080/#/c/13883/9/be/src/exec/plan-root-sink.h@107
PS9, Line 107: Send()
> stale
Done


http://gerrit.cloudera.org:8080/#/c/13883/9/be/src/runtime/blocking-row-batch-queue.cc
File be/src/runtime/blocking-row-batch-queue.cc:

http://gerrit.cloudera.org:8080/#/c/13883/9/be/src/runtime/blocking-row-batch-queue.cc@66
PS9, Line 66:   
row_batches_put_timer_->Set(batch_queue_->total_put_wait_time());
            :   
row_batches_get_timer_->Set(batch_queue_->total_get_wait_time());
> I believe the TODO has more to do with not using this pattern of setting th
Done


http://gerrit.cloudera.org:8080/#/c/13883/9/be/src/runtime/deque-row-batch-queue.h
File be/src/runtime/deque-row-batch-queue.h:

http://gerrit.cloudera.org:8080/#/c/13883/9/be/src/runtime/deque-row-batch-queue.h@57
PS9, Line 57: remanining
> typo.
Done


http://gerrit.cloudera.org:8080/#/c/13883/9/be/src/runtime/deque-row-batch-queue.h@68
PS9, Line 68:   int max_batches_;
> const
Done


http://gerrit.cloudera.org:8080/#/c/13883/9/be/src/runtime/deque-row-batch-queue.cc
File be/src/runtime/deque-row-batch-queue.cc:

http://gerrit.cloudera.org:8080/#/c/13883/9/be/src/runtime/deque-row-batch-queue.cc@61
PS9, Line 61:     result->Reset();
> I was able to trigger a segfault from a null pointer here by running "selec
Done



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

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I9b1bb4b9c6f6e92c70e8fbee6ccdf48c2f85b7be
Gerrit-Change-Number: 13883
Gerrit-PatchSet: 9
Gerrit-Owner: Sahil Takiar <stak...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Gerrit-Reviewer: Michael Ho <k...@cloudera.com>
Gerrit-Reviewer: Sahil Takiar <stak...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com>
Gerrit-Comment-Date: Fri, 26 Jul 2019 01:01:54 +0000
Gerrit-HasComments: Yes

Reply via email to