Todd Lipcon has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/10855 )

Change subject: IMPALA-7213, IMPALA-7241: Port ReportExecStatus() RPC to use 
KRPC
......................................................................


Patch Set 12:

(7 comments)

http://gerrit.cloudera.org:8080/#/c/10855/10/be/src/runtime/coordinator-backend-state.cc
File be/src/runtime/coordinator-backend-state.cc:

http://gerrit.cloudera.org:8080/#/c/10855/10/be/src/runtime/coordinator-backend-state.cc@294
PS10, Line 294:     DCHECK(!instance_stats->done_);
> The ctor was marked explicit so not sure it's allowed:
Oh, I missed that this was converted from a PB to a non-PB status.


http://gerrit.cloudera.org:8080/#/c/10855/12/be/src/runtime/coordinator-backend-state.cc
File be/src/runtime/coordinator-backend-state.cc:

http://gerrit.cloudera.org:8080/#/c/10855/12/be/src/runtime/coordinator-backend-state.cc@497
PS12, Line 497:   last_report_seq_no_ = exec_status.report_seq_no();
Can you add a CHECK here that it isn't decreasing? It's verified above, but 
seems good to verify it here just to be safe


http://gerrit.cloudera.org:8080/#/c/10855/12/be/src/runtime/coordinator-backend-state.cc@508
PS12, Line 508:   lock_guard<SpinLock> l1(exec_summary->lock);
is this critical section extending farther than it needs to? should it end 
around line 534?


http://gerrit.cloudera.org:8080/#/c/10855/12/be/src/runtime/fragment-instance-state.h
File be/src/runtime/fragment-instance-state.h:

http://gerrit.cloudera.org:8080/#/c/10855/12/be/src/runtime/fragment-instance-state.h@128
PS12, Line 128:   int32_t ReportSeqNo() {
nit: maybe rename to AdvanceReportSeqNo or NextReportSeqNo or something so it's 
clear that it has a side effect?


http://gerrit.cloudera.org:8080/#/c/10855/12/be/src/runtime/fragment-instance-state.h@178
PS12, Line 178:   DFAKE_MUTEX(report_seq_no_lock_);
I think this fake mutex should be held around the whole function that generates 
a report, not just the advancing of the sequence number. As is, the fake mutex 
won't throw in the case of a race:

T1: generate seq num
T2: generate seq num
T2: generate and send report
T1: generate and send report


http://gerrit.cloudera.org:8080/#/c/10855/12/be/src/runtime/query-state.cc
File be/src/runtime/query-state.cc:

http://gerrit.cloudera.org:8080/#/c/10855/12/be/src/runtime/query-state.cc@306
PS12, Line 306: REPORT_EXEC_STATUS
hmm, I dont see this one used. did I miss something?


http://gerrit.cloudera.org:8080/#/c/10855/12/common/protobuf/common.proto
File common/protobuf/common.proto:

http://gerrit.cloudera.org:8080/#/c/10855/12/common/protobuf/common.proto@33
PS12, Line 33: int64
nit: i think fixed64 is more appropriate for these fields since they dont tend 
to be small, right?



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

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I7638583b433dcac066b87198e448743d90415ebe
Gerrit-Change-Number: 10855
Gerrit-PatchSet: 12
Gerrit-Owner: Michael Ho <[email protected]>
Gerrit-Reviewer: Dan Hecht <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>
Gerrit-Reviewer: Michael Ho <[email protected]>
Gerrit-Reviewer: Sailesh Mukil <[email protected]>
Gerrit-Reviewer: Todd Lipcon <[email protected]>
Gerrit-Comment-Date: Fri, 07 Sep 2018 18:10:53 +0000
Gerrit-HasComments: Yes

Reply via email to