On Sun, Jun 8, 2008 at 10:53 AM, Rong-en Fan <grafan@gmail.com> wrote:
> I'm playing with latest hbase trunk and noticed there is a
> region close-then-assign looping.
>
> I have 3 region servers and total regions are about 108, and
> the avgLoad is 36.0, then this code in RegionManager.java:
>
> if (regionsToAssign.size() == 0) {
> // There are no regions waiting to be assigned. This is an opportunity
> // for us to check if this server is overloaded.
> double avgLoad = master.serverManager.getAverageLoad();
> if (avgLoad > 2.0 && thisServersLoad.getNumberOfRegions() > avgLoad)
{
>
> If I understand correctly, when there is no outstanding unassigned
> regions, then RegionManager tries to check whether a region server
> is overloaded by the # of loaded regions on this region server.
> Then, it seems to me that avgLoad > 2.0 is quite unrealistic under
> current calculation of "avgLoad".
Forget to mention, under my situation, all 3 boxes are kicking regions
among them as all loaded regions > avgLoad... even after assign
some to others.
Regards,
Rong-En Fan
> Isn't the better way to consider system load or based on # of loaded
> regions and # of requests?
>
> Thanks,
> Rong-En Fan
>
|