Henry Robinson has posted comments on this change.

Change subject: IMPALA-3902: Scheduler improvements for running multiple 
fragment instances on a single backend
......................................................................


Patch Set 9:

(10 comments)

Publishing these comments because I know you have a new patch nearly ready to 
go.

http://gerrit.cloudera.org:8080/#/c/4054/9/be/src/runtime/coordinator.cc
File be/src/runtime/coordinator.cc:

PS9, Line 203: called
I think what the original comment was trying to get at was that the returned 
values must be accessed under lock() - since all return mutable pointers.


Line 680:     // This code anticipates the indices of the yet-to-be-created 
instance states.
comment where they are created.


PS9, Line 711: cref
why cref(params)? Won't the reference (not the value) be copied by bind(), and 
exist until the barrier is hit on 776 (and beyond)?


PS9, Line 712: std::cref(request.fragments[fragment_idx])
several of these can be omitted if schedule_ is a member variable. Again, don't 
have to deal with here but it will remove a lot of parameter passing so I'm 
noting it to remind us to do it soon.


PS9, Line 1212: (Instances have a sink only if the coordinator does not)
This is still wrong.


PS9, Line 1453:  
please make sure to run git-clang-format over this patch when you commit it.


http://gerrit.cloudera.org:8080/#/c/4054/9/be/src/runtime/coordinator.h
File be/src/runtime/coordinator.h:

PS9, Line 300: backends
instances


PS9, Line 495: const QuerySchedule& schedule
Now that Llama is being removed, QuerySchedule's use can be cleaned up:

  * Doesn't need to be in QES at all
  * Can be computed in Coordinator::Exec() and assigned to a const member 
variable - or passed into the Coordinator c'tor

You might want to consider that in this patch to avoid passing around the 
schedule so much, otherwise let's do it shortly.


PS9, Line 551: /// Calls CancelInternal() and returns an error if there was any 
error starting the
             :   /// fragments.
Nit: comment makes it sound like CancelInternal() is the first thing that 
happens, since the conditional clause is delayed in the sentence. Prefer:

"Checks fragment instance start-up status, and calls CancelInternal(), 
returning an error, if any fragment instance failed to start".


http://gerrit.cloudera.org:8080/#/c/4054/9/be/src/service/query-exec-state.cc
File be/src/service/query-exec-state.cc:

PS9, Line 428:   bool is_mt_exec = 
query_exec_request.query_ctx.request.query_options.mt_dop > 0;
             :   const TPlanFragment& fragment = is_mt_exec
             :       ? query_exec_request.mt_plan_exec_info[0].fragments[0]
             :       : query_exec_request.fragments[0];
             :   bool has_coordinator_fragment =
             :       fragment.partition.type == TPartitionType::UNPARTITIONED;
             :   DCHECK(has_coordinator_fragment || 
query_exec_request.__isset.desc_tbl);
I think this check makes a lot more sense in the QuerySchedule c'tor.


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I240445199e22f009f4e72fdb8754eb8d77e3d680
Gerrit-PatchSet: 9
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-Owner: Marcel Kornacker <mar...@cloudera.com>
Gerrit-Reviewer: Alex Behm <alex.b...@cloudera.com>
Gerrit-Reviewer: Dan Hecht <dhe...@cloudera.com>
Gerrit-Reviewer: Henry Robinson <he...@cloudera.com>
Gerrit-Reviewer: Lars Volker <l...@cloudera.com>
Gerrit-Reviewer: Marcel Kornacker <mar...@cloudera.com>
Gerrit-Reviewer: Matthew Jacobs <m...@cloudera.com>
Gerrit-Reviewer: Mostafa Mokhtar <mmokh...@cloudera.com>
Gerrit-HasComments: Yes

Reply via email to