[ https://issues.apache.org/jira/browse/HBASE-16398?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
binlijin updated HBASE-16398: ----------------------------- Resolution: Fixed Status: Resolved (was: Patch Available) > optimize HRegion computeHDFSBlocksDistribution > ---------------------------------------------- > > Key: HBASE-16398 > URL: https://issues.apache.org/jira/browse/HBASE-16398 > Project: HBase > Issue Type: Sub-task > Components: regionserver > Affects Versions: 2.0.0, 1.4.0 > Reporter: binlijin > Assignee: binlijin > Fix For: 2.0.0, 1.4.0 > > Attachments: HBASE-16398.branch-1.v1.patch, HBASE-16398.patch, > HBASE-16398_v2.patch, HBASE-16398_v3.patch, HBASE-16398_v4.patch, > HBASE-16398_v5.patch, LocatedBlockStatusComparison.java > > > First i assume there is no reference and link in a region family's directory. > Without the patch to computeHDFSBlocksDistribution for a region family, there > is 1+2*N rpc call, N is hfile numbers, The first rpc call is to > DistributedFileSystem#listStatus to get hfiles, for every hfile there is two > rpc call DistributedFileSystem#getFileStatus(path) and then > DistributedFileSystem#getFileBlockLocations(status, start, length). > With the patch to computeHDFSBlocksDistribution for a region family, there is > 2 rpc call, they are DistributedFileSystem#getFileStatus(path) and > DistributedFileSystem#listLocatedStatus(final Path p, final PathFilter > filter). > So if there is at least one hfile, with the patch, the rpc call will less. -- This message was sent by Atlassian JIRA (v6.3.4#6332)