[ 
https://issues.apache.org/jira/browse/HBASE-9144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13731507#comment-13731507
 ] 

Ted Yu commented on HBASE-9144:
-------------------------------

Interesting. From 
http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/concurrent/ConcurrentHashMap.java
 , before line 1015:

bq. The view's iterator is a "weakly consistent" iterator that will never throw 
java.util.ConcurrentModificationException, and guarantees to traverse elements 
as they existed upon construction of the iterator

For the weakly consistent view, let's say lease1 existed at time of 
construction of the iterator. During iteration but before lease1 is processed, 
removeLease() removes lease1.
The iteration would still try to notify listener of leaseExpired().
                
> 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

Reply via email to