[
https://issues.apache.org/jira/browse/HBASE-11290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14129322#comment-14129322
]
stack commented on HBASE-11290:
-------------------------------
Why not define and declare all in the one go rather than wait on the
constructor? Then you can mark the data members final.
+ processedServers = new ConcurrentHashMap<>();
What is idea behind erasure here [~mantonov]?
- List<HRegionInfo> rits = new ArrayList<HRegionInfo>();
+ List<HRegionInfo> rits = new ArrayList<>();
Hmm... There is nowhere where we mod two Maps and we need to do it inside
synchronize? I don't see it. Patch looks good if this is the case. Might be
worth making a little test harness to try many concurrent state change ops.
What you think [~jxiang]? Or [~virag]?
> Unlock RegionStates
> -------------------
>
> Key: HBASE-11290
> URL: https://issues.apache.org/jira/browse/HBASE-11290
> Project: HBase
> Issue Type: Sub-task
> Reporter: Francis Liu
> Assignee: Francis Liu
> Attachments: HBASE-11290.draft.patch
>
>
> Even though RegionStates is a highly accessed data structure in HMaster. Most
> of it's methods are synchronized. Which limits concurrency. Even simply
> making some of the getters non-synchronized by using concurrent data
> structures has helped with region assignments. We can go as simple as this
> approach or create locks per region or a bucket lock per region bucket.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)