You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Benoit Sigoure (JIRA)" <ji...@apache.org> on 2011/03/17 18:16:29 UTC

[jira] Commented: (HBASE-3657) reduce copying of HRegionInfo's

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

Benoit Sigoure commented on HBASE-3657:
---------------------------------------

{code}
      assignUserRegions(allRegions.keySet().toArray(new HRegionInfo[0]), servers);
{code}
Instead of creating a useless 0-length array that will be discarded almost immediately, can you please do this instead:
{code}
      assignUserRegions(allRegions.keySet().toArray(new HRegionInfo[allRegions.size()]), servers);
{code}
Thanks.

> reduce copying of HRegionInfo's
> -------------------------------
>
>                 Key: HBASE-3657
>                 URL: https://issues.apache.org/jira/browse/HBASE-3657
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Ted Yu
>            Assignee: Ted Yu
>         Attachments: hbase-3657.txt
>
>
> I looked at calls to this method in AssignmentManager:
>   public void assignUserRegions(List<HRegionInfo> regions, List<HServerInfo> servers)
> Here is one from AssignmentManager:
>       assignUserRegions(Arrays.asList(regions.keySet().toArray(new HRegionInfo[0])), servers);
> Here is another from Master:
>       this.assignmentManager.assignUserRegions(Arrays.asList(newRegions), servers);
> I propose changing the first parameter to HRegionInfo[] so that extra copying can be avoided - considering that the number of regions in production is high.
> A bigger task is to reduce memory footprint of AssignmentManager.
> It would eliminate this copy:
>   165       public static <T> List<T> asList(T... array) {
>   166           return new ArrayList<T>(array);
>   167       }
>   168   

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira