[
https://issues.apache.org/jira/browse/HBASE-15843?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15286865#comment-15286865
]
Stephen Yuan Jiang commented on HBASE-15843:
--------------------------------------------
[~mbertozzi], HashSet is implemented using HashMap with very small difference
(eg. HashSet not allow dupe key) that may be irrelevant to this part of the
code. Except making code looks little clean and maybe a little less memory, I
don't see big improvement here (with extra internal logic inside HashSet to
call HashMap, performance might be slightly worse; again I don't think it would
make any noticeable difference).
> Replace RegionState.getRegionInTransition() Map with a Set
> ----------------------------------------------------------
>
> Key: HBASE-15843
> URL: https://issues.apache.org/jira/browse/HBASE-15843
> Project: HBase
> Issue Type: Improvement
> Components: master, Region Assignment
> Affects Versions: 2.0.0, 1.3.0, 1.2.1
> Reporter: Matteo Bertozzi
> Assignee: Matteo Bertozzi
> Priority: Trivial
> Fix For: 2.0.0
>
> Attachments: HBASE-15843-v0.patch
>
>
> RegionState.getRegionInTransition() is always used as a Set.
> replace the Map with a Set, avoid some allocation and extra code.
> also ClusterStatus.RegionInTransition has duplicated information.
> The spec field contains the regionName (not encoded).
> but we have the same info as part of the region_state with the HRegionInfo
> serialized.
> unfortunately I don't think we can get rid of 'spec' that being a required
> field.
> {noformat}
> message RegionInTransition {
> required RegionSpecifier spec = 1;
> required RegionState region_state = 2;
> }
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)