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

Change subject: IMPALA-10178 Run-time profile shall report skews
......................................................................


Patch Set 41: Code-Review+1

(6 comments)

mostly nits, otherwise approach LGTM.

@Tim if you want to take another look as well. I think the patch has changed 
significantly over the past few weeks.

http://gerrit.cloudera.org:8080/#/c/16474/41/be/src/service/query-options.cc
File be/src/service/query-options.cc:

http://gerrit.cloudera.org:8080/#/c/16474/41/be/src/service/query-options.cc@998
PS41, Line 998:       }
              :       if (set_query_options_mask != NULL) {
              :         DCHECK_LT(option, set_query_options_mask->size());
              :         set_query_options_mask->set(option);
              :       }
unnecessary change


http://gerrit.cloudera.org:8080/#/c/16474/41/be/src/util/runtime-profile-counters.h
File be/src/util/runtime-profile-counters.h:

http://gerrit.cloudera.org:8080/#/c/16474/41/be/src/util/runtime-profile-counters.h@488
PS41, Line 488:   bool EvaluateSkewWithCoV(double threshold, std::stringstream* 
details);
nit: document return value


http://gerrit.cloudera.org:8080/#/c/16474/41/be/src/util/runtime-profile.h
File be/src/util/runtime-profile.h:

http://gerrit.cloudera.org:8080/#/c/16474/41/be/src/util/runtime-profile.h@203
PS41, Line 203: recurssively
nit: typo


http://gerrit.cloudera.org:8080/#/c/16474/41/be/src/util/runtime-profile.cc
File be/src/util/runtime-profile.cc:

http://gerrit.cloudera.org:8080/#/c/16474/41/be/src/util/runtime-profile.cc@675
PS41, Line 675: Each spec is a pair of a profile name prefix and a list of
              :   // counter names.
would be nice to mention that all counters *have* to be averaged counters


http://gerrit.cloudera.org:8080/#/c/16474/41/be/src/util/runtime-profile.cc@677
PS41, Line 677:   static const unordered_map<string, vector<string>> 
skew_profile_specs = {
              :       {"KUDU_SCAN_NODE", {"RowsRead"}}, {"HDFS_SCAN_NODE", 
{"RowsRead"}},
              :       {"HASH_JOIN_NODE", {"ProbeRows", "BuildRows"}},
              :       {"GroupingAggregator", {"RowsReturned"}}, 
{"EXCHANGE_NODE", {"RowsReturned"}},
              :       {"SORT_NODE", {"RowsReturned"}}};
nit: would be nice to define a struct that encapsulates the entries in the map. 
something like

 struct SkewProfileSpec {
   string node_name;
   vector<string> counter_names;
 };


http://gerrit.cloudera.org:8080/#/c/16474/41/be/src/util/runtime-profile.cc@1960
PS41, Line 1960:   if (remove_last_comma) {
               :     ss.seekp(-1, std::ios_base::end);
               :   }
you can probably simplify the string manipulation logic by using something like 
boost::algorithm::join - 
https://stackoverflow.com/questions/1833447/a-good-example-for-boostalgorithmjoin



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

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I91041f2856eef8293ea78f1721f97469062589a1
Gerrit-Change-Number: 16474
Gerrit-PatchSet: 41
Gerrit-Owner: Qifan Chen <qc...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Gerrit-Reviewer: Qifan Chen <qc...@cloudera.com>
Gerrit-Reviewer: Sahil Takiar <stak...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com>
Gerrit-Comment-Date: Mon, 12 Oct 2020 17:42:07 +0000
Gerrit-HasComments: Yes

Reply via email to