[
https://issues.apache.org/jira/browse/HBASE-11290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14504339#comment-14504339
]
Virag Kothari commented on HBASE-11290:
---------------------------------------
IdLock is not reentrant. So, wont be able to use that
So probably we have to go with LockCache impl as in patch. For eviction,
currently values are wrapped using soft references so garbage collection will
be triggered on it on demand. Its not a great eviction policy and will create
memory pressure for large no of regions. As LockCache uses guava's cache
builder, it can support quite a few eviction schemes
(https://code.google.com/p/guava-libraries/wiki/CachesExplained) I think they
can be investigated and added later on in a new jira. Thoughts?
> Unlock RegionStates
> -------------------
>
> Key: HBASE-11290
> URL: https://issues.apache.org/jira/browse/HBASE-11290
> Project: HBase
> Issue Type: Sub-task
> Reporter: Francis Liu
> Assignee: Virag Kothari
> Fix For: 2.0.0, 1.1.0, 0.98.13
>
> Attachments: HBASE-11290-0.98.patch, HBASE-11290-0.98_v2.patch,
> 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)