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