Qifan Chen has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/18093 )

Change subject: IMPALA-11033: Add support for specifying multiple executor 
group sets
......................................................................


Patch Set 3:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/18093/2/be/src/scheduling/cluster-membership-mgr.cc
File be/src/scheduling/cluster-membership-mgr.cc:

http://gerrit.cloudera.org:8080/#/c/18093/2/be/src/scheduling/cluster-membership-mgr.cc@685
PS2, Line 685:  parsed_group_prefixes.insert(group_prefix);
> For the first part of your comment: FE is sent the max size of an executor
Since FE will use ExecutorMembershipSnapshot.exec_group_sets to generate 
several distributed plans, I would think for each group, the logic to obtain a 
worktable executor size is as follows.

int workableExecutorSize() {
return (curr_num_executors > 0) ? curr_num_executors : expected_num_executors; }

Is it about right?

Currently, FE iterates over exec_group_sets (which is a list) and stops 
generating more plans when the current group sets fit. So is it possible to 
arrange group sets in exec_group_sets in the order of threshold? In other 
words, exec_group_sets provides all the information needed by the planner.

// Types of executor groups
struct TExecutorGroupSet {
  // The current max number of executors among all healthy groups of this group 
set.
  1: i32 curr_num_executors = 0

  // The expected size of the executor groups. Can be used to plan queries when
  // no healthy executor groups are present(curr_num_executors is 0).
  2: i32 expected_num_executors = 0

  // The name of the request pool associated with this executor group type. All
  // executor groups that match this prefix will be included as a part of this 
set.
  // Note: this will be empty when 'default' executor group is used or
  // 'expected_executor_group_sets' startup flag is not specified.
  3: string exec_group_name_prefix
}


http://gerrit.cloudera.org:8080/#/c/18093/2/fe/src/main/java/org/apache/impala/util/ExecutorMembershipSnapshot.java
File fe/src/main/java/org/apache/impala/util/ExecutorMembershipSnapshot.java:

http://gerrit.cloudera.org:8080/#/c/18093/2/fe/src/main/java/org/apache/impala/util/ExecutorMembershipSnapshot.java@71
PS2, Line 71: exec_group_sets
> Since this functionality is not used directly in this patch I deferred it t
I think the only missing piece in TExecutorGroupSet is the threshold. If FE is 
to read it from the HDFS configuration file, then every FE on every node will 
do so which creates extra network pressure. A better solution is for BE to read 
it once and present it consistently to every FE as part of TExecutorGroupSet.



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

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I9e0a3a5fe2b1f0b7507b7c096b7a3c373bc2e684
Gerrit-Change-Number: 18093
Gerrit-PatchSet: 3
Gerrit-Owner: Bikramjeet Vig <bikramjeet....@cloudera.com>
Gerrit-Reviewer: Andrew Sherman <asher...@cloudera.com>
Gerrit-Reviewer: Bikramjeet Vig <bikramjeet....@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Gerrit-Reviewer: Kurt Deschler <kdesc...@cloudera.com>
Gerrit-Reviewer: Qifan Chen <qc...@cloudera.com>
Gerrit-Reviewer: Wenzhe Zhou <wz...@cloudera.com>
Gerrit-Comment-Date: Thu, 16 Dec 2021 15:43:01 +0000
Gerrit-HasComments: Yes

Reply via email to