Lars Volker has posted comments on this change.

Change subject: IMPALA-2979: Fix scheduling on remote hosts
......................................................................


Patch Set 27:

(15 comments)

Thanks for the review, please see PS28.

http://gerrit.cloudera.org:8080/#/c/2200/24/be/src/scheduling/simple-scheduler.cc
File be/src/scheduling/simple-scheduler.cc:

Line 439:               backend_candidates.push_back(backend_ip);
> could you add a todo to that effect to the .h?
We had one there already, I changed it to be more specific.


Line 439:               backend_candidates.push_back(backend_ip);
> yes, let's reevaluate the scheduling strategy  based on more extensive test
Ok.


Line 440:             } else if (memory_distance == min_distance) {
> ?
You're right, done.


Line 509:   // (the root fragment doesn't have a destination)
> is that not true?
It is, I thought it doesn't help much to comment on this here. I added it back.


PS24, Line 1089:   total_assignments_->
> why does moving the seed generator into the main scheduler class cause a pr
It won't cause a problem to move the seed generator there, as long as the seeds 
are generated deterministically (which is what rand() does). Eventually we 
might want to factor out and inject all global dependencies of the scheduler so 
it becomes more testable. Should we move the call to rand() outside and pass a 
seed (int) here? Or pass in a functor to generate the random numbers for 
shuffle? Or keep it as is for now? I'm good with either, none of them will make 
a difference wrt testability.


Line 1090:     if (!remote_read) total_local_assignments_->Increment(1);
> let's do it as a follow-on (but let's do that right after this gets in).
Added a class level todo.


http://gerrit.cloudera.org:8080/#/c/2200/27/be/src/scheduling/simple-scheduler.cc
File be/src/scheduling/simple-scheduler.cc:

Line 916:   BackendList* be_descs = &backend_map_[be_desc.ip_address];
> i'm not a fan of using [] for reading, because that has the potential also 
Done


Line 1100:   // Explicitly set the optional fields.
> why?
The comment didn't make sense, I removed it.


http://gerrit.cloudera.org:8080/#/c/2200/25/be/src/scheduling/simple-scheduler.h
File be/src/scheduling/simple-scheduler.h:

Line 174:   /// AssignmentHeap it can be used to look up heap elements by their 
IP address and
> i guess it's good to leave here.
Done


Line 327: 
> is this the local backend? local_backend_descriptor_?
Done


http://gerrit.cloudera.org:8080/#/c/2200/27/be/src/scheduling/simple-scheduler.h
File be/src/scheduling/simple-scheduler.h:

Line 140:   /// Internal structure to track scan range assignments for a 
backend. This struct is
> ah, so this is really for a backend host, not just backend.
Yes.


Line 141:   /// used as the heap element in AddressableAssignmentHeap.
> "heap element in and maintained by "? (or is this updated by anyone else?)
Done


Line 148:     int random_rank;
> you can also make this const int and then provide a c'tor that sets the ran
Good idea, aggregate initialization makes this possible without a c'tor even.


Line 247:     /// member in AssignmentCtx.
> streamline comment
Done


Line 428:   /// Finally scan ranges are considered which do not have an impalad 
backend running on
> sorry, i think it's actually "finally, ..."
Done


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I044f83806fcde820fcb38047cf6b8e780d803858
Gerrit-PatchSet: 27
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Lars Volker <l...@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-Reviewer: Sailesh Mukil <sail...@cloudera.com>
Gerrit-Reviewer: anujphadke <apha...@cloudera.com>
Gerrit-HasComments: Yes

Reply via email to