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
