Tim Armstrong has posted comments on this change. ( http://gerrit.cloudera.org:8080/10690 )
Change subject: IMPALA-7046: introduce "global" debug_actions ...................................................................... Patch Set 8: (8 comments) Approach seems good, glad we're adding this. Just had some minor feedback. http://gerrit.cloudera.org:8080/#/c/10690/8//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/10690/8//COMMIT_MSG@28 PS8, Line 28: of Release builds. Your approach to this changed, right? http://gerrit.cloudera.org:8080/#/c/10690/8/be/src/runtime/debug-options.cc File be/src/runtime/debug-options.cc: http://gerrit.cloudera.org:8080/#/c/10690/8/be/src/runtime/debug-options.cc@60 PS8, Line 60: DCHECK(!(phase_ == TExecNodePhase::CLOSE && action_ == TDebugAction::WAIT)) Maybe we should just log an error here - I don't think we want users to be able to crash a debug build with a query option since occasionally people deploy DEBUG builds to clusters to diagnose issues, etc. Or maybe I'm overthinking it.. http://gerrit.cloudera.org:8080/#/c/10690/8/be/src/util/debug-util.cc File be/src/util/debug-util.cc: http://gerrit.cloudera.org:8080/#/c/10690/8/be/src/util/debug-util.cc@295 PS8, Line 295: list Any reason to use a list and not a vector? Seems arbitrary but I might be missing something. http://gerrit.cloudera.org:8080/#/c/10690/8/be/src/util/debug-util.cc@318 PS8, Line 318: if (parse_result != StringParser::PARSE_SUCCESS || Should we log a parse failure? http://gerrit.cloudera.org:8080/#/c/10690/8/be/src/util/debug-util.cc@323 PS8, Line 323: *should_execute = rand() < probability * (RAND_MAX + 1L); We use rand() here and std::mt19937 below. Any reason not to standardise on one? http://gerrit.cloudera.org:8080/#/c/10690/8/be/src/util/debug-util.cc@331 PS8, Line 331: error_msg How about upper case to make it clearer that it's a constant? I was momentarily concerned reading the code down below about whether it was a dynamically constructed string that might not always have the same number of substitution parameters. http://gerrit.cloudera.org:8080/#/c/10690/8/be/src/util/debug-util.cc@339 PS8, Line 339: if (cmd.compare("SLEEP") == 0) { This is ok, but why not (cmd == "SLEEP")? Dislike for operator overloading? http://gerrit.cloudera.org:8080/#/c/10690/8/common/thrift/ImpalaService.thrift File common/thrift/ImpalaService.thrift: http://gerrit.cloudera.org:8080/#/c/10690/8/common/thrift/ImpalaService.thrift@91 PS8, Line 91: // 2. Global actions I think this is fine for now but if the set of things continue to grow I wonder if we want a less ad-hoc grammar for them - JSON or something like that. -- To view, visit http://gerrit.cloudera.org:8080/10690 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I77663a539be18711a4f12c470ffd7474e3d69388 Gerrit-Change-Number: 10690 Gerrit-PatchSet: 8 Gerrit-Owner: Dan Hecht <dhe...@cloudera.com> Gerrit-Reviewer: Bikramjeet Vig <bikramjeet....@cloudera.com> Gerrit-Reviewer: Dan Hecht <dhe...@cloudera.com> Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com> Gerrit-Comment-Date: Tue, 19 Jun 2018 16:15:14 +0000 Gerrit-HasComments: Yes