[
https://issues.apache.org/jira/browse/HBASE-16398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15444446#comment-15444446
]
binlijin commented on HBASE-16398:
----------------------------------
I do have a simple perf, and run 100 rounds to computeHDFSBlocksDistribution
for a directory have 0,1,2,3,4 files.
||number of files||without patch||with patch||
|0|83ms|193ms|
|1|349ms|278ms|
|2|543ms|323ms|
|3|731ms|380ms|
|4|995ms|532ms|
> optimize HRegion computeHDFSBlocksDistribution
> ----------------------------------------------
>
> Key: HBASE-16398
> URL: https://issues.apache.org/jira/browse/HBASE-16398
> Project: HBase
> Issue Type: Sub-task
> Reporter: binlijin
> Assignee: binlijin
> Attachments: HBASE-16398.patch
>
>
> 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)