[ https://issues.apache.org/jira/browse/HBASE-14268?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14716012#comment-14716012 ]
Hadoop QA commented on HBASE-14268: ----------------------------------- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12752646/HBASE-14268-V6.patch against master branch at commit 56890d9fe148dd192520fab349a66aa3f688e232. ATTACHMENT ID: 12752646 {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:red}-1 javac{color}. The patch appears to cause mvn compile goal to fail with Hadoop version 2.4.0. Compilation errors resume: [ERROR] Error invoking method 'get(java.lang.Integer)' in java.util.ArrayList at META-INF/LICENSE.vm[line 1619, column 22] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-remote-resources-plugin:1.5:process (default) on project hbase-assembly: Error rendering velocity resource. Error invoking method 'get(java.lang.Integer)' in java.util.ArrayList at META-INF/LICENSE.vm[line 1619, column 22]: InvocationTargetException: Index: 0, Size: 0 -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException [ERROR] [ERROR] After correcting the problems, you can resume the build with the command [ERROR] mvn <goals> -rf :hbase-assembly Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/15283//console This message is automatically generated. > Improve KeyLocker > ----------------- > > Key: HBASE-14268 > URL: https://issues.apache.org/jira/browse/HBASE-14268 > Project: HBase > Issue Type: Improvement > Components: util > Reporter: Hiroshi Ikeda > Assignee: Hiroshi Ikeda > Priority: Minor > Attachments: 14268-V5.patch, HBASE-14268-V2.patch, > HBASE-14268-V3.patch, HBASE-14268-V4.patch, HBASE-14268-V5.patch, > HBASE-14268-V5.patch, HBASE-14268-V6.patch, HBASE-14268.patch, > KeyLockerPerformance.java > > > 1. In the implementation of {{KeyLocker}} it uses atomic variables inside a > synchronized block, which doesn't make sense. Moreover, logic inside the > synchronized block is not trivial so that it makes less performance in heavy > multi-threaded environment. > 2. {{KeyLocker}} gives an instance of {{RentrantLock}} which is already > locked, but it doesn't follow the contract of {{ReentrantLock}} because you > are not allowed to freely invoke lock/unlock methods under that contract. > That introduces a potential risk; Whenever you see a variable of the type > {{RentrantLock}}, you should pay attention to what the included instance is > coming from. -- This message was sent by Atlassian JIRA (v6.3.4#6332)