hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Purtell (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-12762) Region with no hfiles will have the highest locality cost in LocalityCostFunction
Date Tue, 30 Dec 2014 08:07:14 GMT

    [ https://issues.apache.org/jira/browse/HBASE-12762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14260902#comment-14260902
] 

Andrew Purtell commented on HBASE-12762:
----------------------------------------

My mistake, please pardon, fix version is fine, it's (phone) operator error on my part. Test
issue is real though. :-)

> Region with no hfiles will have the highest locality cost in LocalityCostFunction
> ---------------------------------------------------------------------------------
>
>                 Key: HBASE-12762
>                 URL: https://issues.apache.org/jira/browse/HBASE-12762
>             Project: HBase
>          Issue Type: Improvement
>          Components: Balancer
>    Affects Versions: 0.99.2
>            Reporter: cuijianwei
>            Assignee: cuijianwei
>            Priority: Minor
>             Fix For: 1.0.0, 2.0.0, 0.98.10, 1.1.0
>
>         Attachments: HBASE-12762-trunk.patch
>
>
> The locality cost of region will be computed in LocalityCostFunction.cost as:
> {code}
> double cost() {
>         ...
>         int index = -1;
>         for (int j = 0; j < regionLocations.length; j++) {
>           if (regionLocations[j] >= 0 && regionLocations[j] == serverIndex)
{
>             index = j;
>             break;
>           }
>         }
>         if (index < 0) {
>           cost += 1;  // ==> region with no hfiles will have the highest cost
>         } else {
>           cost += (double) index / (double) regionLocations.length;
>         }
>         ...
>     }
> {code}
> The region with no hfiles(such as empty region) will have the highest cost which represents
the worst case that region located in the server with no locality for hfiles. However, this
might be the best case because there are no hlogs for the region. Although the absolute cost
value won't affect the balance process, will it be more reasonable to have zero cost for such
regions? such as:
> {code}
>    ...
>         if (index < 0) {
>           if (regionLocation.length > 0) { //  ==> only consider regions with hfiles
>               cost += 1;
>           }
>         } else {
>           cost += (double) index / (double) regionLocations.length;
>         }
>    ...
> {code} 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message