[ https://issues.apache.org/jira/browse/HBASE-11290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15262682#comment-15262682 ]
Francis Liu commented on HBASE-11290: ------------------------------------- {quote} If we could have up-to-date patches for both trunk and branch-1 that would be great! It seems a useful change where a lot of effort went in (both in writing the code and in reviewing different versions of the patch), pity if that keeps sitting around... {quote} I see great, let me rebase then. {quote} Do you happen to have any numbers on performance improvement here? {quote} We did do perf testing and if I remember correctly it went from not being able to assign 1M regions (took hours and still not done) to being able to assign them in 10s of minutes. Because of lock thrashing which resulted in high cpu, even refreshing master page was blocked. That was sometime ago, I'll see if I can dig it up. > Unlock RegionStates > ------------------- > > Key: HBASE-11290 > URL: https://issues.apache.org/jira/browse/HBASE-11290 > Project: HBase > Issue Type: Sub-task > Affects Versions: 1.2.0, 1.3.0 > Reporter: Francis Liu > Assignee: Francis Liu > Fix For: 2.0.0, 1.4.0, 0.98.20 > > Attachments: HBASE-11290-0.98.patch, HBASE-11290-0.98_v2.patch, > HBASE-11290.draft.patch, HBASE-11290_trunk.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)