[ 
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)

Reply via email to