hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-11290) Unlock RegionStates
Date Wed, 10 Sep 2014 23:12:34 GMT

    [ 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)

Mime
View raw message