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

Ted Yu commented on HBASE-14306:
--------------------------------

{code}
241       private Set<WALProvider> getCurrentProviders() {
242         Set<WALProvider> providerSet = new HashSet<WALProvider>();
243         for (WALProvider provider : this.cached.values()) {
244           providerSet.add(provider);
{code}
Do we need the extra HashSet ?
The callers just iterate through the return value from the above method.
ConcurrentHashMap.java#ConcurrentHashMap.Values returns a Collection which can 
be iterated. Looks like returning this.cached.values() from above method should 
suffice.

> Refine RegionGroupingProvider: fix issues and make it more scalable
> -------------------------------------------------------------------
>
>                 Key: HBASE-14306
>                 URL: https://issues.apache.org/jira/browse/HBASE-14306
>             Project: HBase
>          Issue Type: Improvement
>          Components: wal
>    Affects Versions: 2.0.0, 1.1.2
>            Reporter: Yu Li
>            Assignee: Yu Li
>             Fix For: 2.0.0, 1.3.0
>
>         Attachments: HBASE-14306.patch, HBASE-14306_v2.patch, 
> HBASE-14306_v3.patch, HBASE-14306_v3.patch, HBASE-14306_v4.patch
>
>
> There're multiple issues in RegionGroupingProvider, including:
> * The provider cache in it is using byte array as the key of 
> ConcurrentHashMap, which is not right (the reason is 
> [here|http://stackoverflow.com/questions/1058149/using-a-byte-array-as-hashmap-key-java])
> * It's using IdentityGroupingStrategy to get group and use it as key of the 
> cache, which means the cache will include an entry for each region. This is 
> especially unnecessary when using BoundedRegionGroupingProvider
> Besides fixing the above issues, I suggest to change 
> BoundedRegionGroupingProvider from a *provider* to a pluggable *strategy*, 
> which will make the whole picture much more clear.
> For more details, please refer to the patch



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to