[ https://issues.apache.org/jira/browse/HBASE-16398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15750312#comment-15750312 ]
binlijin edited comment on HBASE-16398 at 12/15/16 4:05 AM: ------------------------------------------------------------ With two+1, if there is no objections, will commit is soon. was (Author: aoxiang): With two+1, if there is no objects, will commit is soon. > 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 > Reporter: binlijin > Assignee: binlijin > Fix For: 2.0.0 > > Attachments: 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)