[
https://issues.apache.org/jira/browse/HBASE-9144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13731567#comment-13731567
]
Ted Yu commented on HBASE-9144:
-------------------------------
In HRegionServer.scan():
{code}
// Remove lease while its being processed in server; protects
against case
// where processing of request takes > lease expiration time.
lease = leases.removeLease(scannerName);
{code}
In Leases.run(), previously ConcurrentModificationException is ignored:
{code}
try {
lease = leaseQueue.poll(leaseCheckFrequency, TimeUnit.MILLISECONDS);
} catch (InterruptedException e) {
continue;
} catch (ConcurrentModificationException e) {
continue;
{code}
With patch, lease expiration notification may be delivered.
> Leases class has contention that's not needed
> ---------------------------------------------
>
> Key: HBASE-9144
> URL: https://issues.apache.org/jira/browse/HBASE-9144
> Project: HBase
> Issue Type: Bug
> Components: regionserver
> Affects Versions: 0.95.1
> Reporter: Elliott Clark
> Assignee: Elliott Clark
> Priority: Critical
> Fix For: 0.95.2
>
> Attachments: HBASE-9144-0.patch, Sheet1.pdf
>
>
> The Leases class has lots of thread contention. These locks are there to
> ensure that all timeouts are met exactly. This isn't needed in HBase.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira