impala-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dimitris Tsirogiannis (Code Review)" <>
Subject [Impala-ASF-CR] IMPALA-5147: Add the ability to exclude hosts from query execution
Date Fri, 14 Apr 2017 20:51:30 GMT
Dimitris Tsirogiannis has posted comments on this change.

Change subject: IMPALA-5147: Add the ability to exclude hosts from query execution

Patch Set 1:

File be/src/scheduling/

Line 61: int Cluster::AddHost(bool has_backend, bool has_datanode, bool is_executor) {
> Can you DCHECK(!is_executor || has_backend)?
File be/src/scheduling/

Line 56: /// ranges.
> nit: single line

Line 59:   cluster.AddHost(true, true, false);
> This looks like it can get hard to parse rather quickly - I think even havi
Agree, this isn't pretty. Using a builder may not work well with AddHost(). The latter is
not merely a factory for hosts, it also populates several Cluster fields, like list of backends,
etc. I'll leave a TODO for now and give it some thought later.
File be/src/scheduling/

Line 32: #include "rapidjson/rapidjson.h"
> still needed?

Line 44: using namespace rapidjson;
> still needed?

Line 204:     // If this is not an executor don't add it to the new backend config.
> nit: punctuation
You want me to remove the punctuation?

Line 205:     if (be_desc.is_executor) {
> Do you need to check __is_set?
Made the fields required, so I guess it's not needed now.

Line 207:       current_membership_.insert(make_pair(item.key, be_desc));
> i thought the plan was to continue to have all nodes of the cluster still b
I am a little confused with the last part of your comment: "That way, e.g. clients can still
use the membership topic to discover coordinators." I couldn't find how that works exactly,
can you plz elaborate or give some pointers?
File be/src/service/

Line 2000:   vector<string> modes;
> Building this with a stringstream may be easier and would also not need ano
File be/src/service/impala-server.h:

Line 272:       rapidjson::Document* document);
> you could forward declare the class and move the include to the .cc file.
File be/src/util/

Line 199:   if (env->impala_server()->IsCoordinator()) modes.push_back("Coordinator");
> Same here, maybe use stringstream?
File bin/

PS1, Line 216:  
> missing word?

Line 254:     else:
> elif?
File common/thrift/StatestoreService.thrift:

Line 65:   // True if this is a coordinator node
> What does it mean if these are unset?
I added those as optional because they aren't always set (e.g. during scheduler tests). I
think it may be better to make them required. What do you think?
File tests/custom_cluster/

Line 94:           operators are executed on 'expected_num_of_executors' nodes."""
> nit: indendation

To view, visit
To unsubscribe, visit

Gerrit-MessageType: comment
Gerrit-Change-Id: I5d2ff7f341c9d2b0649e4d14561077e166ad7c4d
Gerrit-PatchSet: 1
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-Owner: Dimitris Tsirogiannis <>
Gerrit-Reviewer: Dan Hecht <>
Gerrit-Reviewer: Dimitris Tsirogiannis <>
Gerrit-Reviewer: Lars Volker <>
Gerrit-HasComments: Yes

View raw message