Hi all,
I'm learning data locality in Hama, and found there is a
BestEffortDataLocalTaskAllocator class for this purpose. It's a good idea
to assign task to the groom which contains its split, getGroomToSchedule()
play this role.
Well, in getGroomToSchedule(), the code like:
GroomServerStatus groom = grooms.get(location);
...
if (taskInGroom < groom.getMaxTasks() &&
location.equals(groom.getGroomHostName())) {
return groom.getGroomHostName();
}
It seems that location.equals(groom.getGroomHostName() is always true, so
it just select the first groom which contains split? Am i right?
Thanks in advance!
Micle Bu