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

Hadoop QA commented on HBASE-7160:
----------------------------------

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12554815/HBASE-7160-V4.patch
  against trunk revision .

    {color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

    {color:green}+1 tests included{color}.  The patch appears to include 5 new 
or modified tests.

    {color:green}+1 hadoop2.0{color}.  The patch compiles against the hadoop 
2.0 profile.

    {color:red}-1 javadoc{color}.  The javadoc tool appears to have generated 
98 warning messages.

    {color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

    {color:red}-1 findbugs{color}.  The patch appears to introduce 24 new 
Findbugs (version 1.3.9) warnings.

    {color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

     {color:red}-1 core tests{color}.  The patch failed these unit tests:
                       org.apache.hadoop.hbase.client.TestFromClientSide

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/3399//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/3399//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/3399//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/3399//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/3399//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/3399//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/3399//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/3399//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/3399//console

This message is automatically generated.
                
> Improve IdLock and remove its minor defects
> -------------------------------------------
>
>                 Key: HBASE-7160
>                 URL: https://issues.apache.org/jira/browse/HBASE-7160
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Hiroshi Ikeda
>            Assignee: Hiroshi Ikeda
>            Priority: Minor
>         Attachments: HBASE-7160.patch, HBASE-7160-V2.patch, 
> HBASE-7160-V3.patch, HBASE-7160-V4.patch
>
>
> Combination of synchronizations and concurrent collections complicates the 
> code, and it is hard to trace the code and to confirm its correctness. We 
> should re-create the class and make it more understandable.
> In the current code, I find the following minor defects:
> (1) In the case that there is a waiting thread for a lock in getLockEntry() 
> and another thread is releasing the lock by calling releaseLockEntry(), 
> trying to get the lock with a 3rd thread by calling getLockEntry() falls into 
> a busy loop until the waiting thread wakes up and gets the lock.
> Even if notify() wakes up the blocked thread and causes a context switch to 
> the waked thread immediately, synchronization might block the waked thread 
> and cause another context switch, and the busy loop might continue for a 
> while.
> (2) In the same case as (1), since releasing the lock is merely notifying 
> without removing the lock-entry from the map, interrupting the waiting thread 
> might leave an unused lock-entry (entry.numWaiters == 0) in the map. This is 
> a memory leak unless the id of the lock is used again.

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