[ https://issues.apache.org/jira/browse/HBASE-14331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14743369#comment-14743369 ]
Hadoop QA commented on HBASE-14331: ----------------------------------- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12755703/HBASE-14331-V4.patch against master branch at commit ceff3e242bc71130a7c0dea9828e6763fc0c9fec. ATTACHMENT ID: 12755703 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 6 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] COMPILATION ERROR : [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/SimpleRpcScheduler.java:[58,64] cannot find symbol [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallQueueFactories.java:[25,53] package org.apache.hadoop.hbase.ipc.DeadlineCallQueue does not exist [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallQueueFactories.java:[33,21] cannot find symbol [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/SimpleRpcScheduler.java:[69,5] method does not override or implement a method from a supertype [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallQueueFactories.java:[48,35] cannot find symbol [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallQueueFactories.java:[52,22] cannot find symbol [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallQueueFactories.java:[53,51] cannot find symbol [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallQueueFactories.java:[73,35] cannot find symbol [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallQueueFactories.java:[77,22] cannot find symbol [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallQueueFactories.java:[78,36] cannot find symbol [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallQueueFactories.java:[79,52] cannot find symbol [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallQueueFactories.java:[80,33] cannot find symbol [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.2:compile (default-compile) on project hbase-server: Compilation failure: Compilation failure: [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/SimpleRpcScheduler.java:[58,64] cannot find symbol [ERROR] symbol: class DeadlineCalculator [ERROR] location: class org.apache.hadoop.hbase.ipc.SimpleRpcScheduler [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallQueueFactories.java:[25,53] package org.apache.hadoop.hbase.ipc.DeadlineCallQueue does not exist [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallQueueFactories.java:[33,21] cannot find symbol [ERROR] symbol: class DeadlineCalculator [ERROR] location: class org.apache.hadoop.hbase.ipc.CallQueueFactories [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/SimpleRpcScheduler.java:[69,5] method does not override or implement a method from a supertype [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallQueueFactories.java:[48,35] cannot find symbol [ERROR] symbol: class DeadlineCalculator [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallQueueFactories.java:[52,22] cannot find symbol [ERROR] symbol: class DeadlineCallQueue [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallQueueFactories.java:[53,51] cannot find symbol [ERROR] symbol: class DeadlineContainer [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallQueueFactories.java:[73,35] cannot find symbol [ERROR] symbol: class DeadlineCalculator [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallQueueFactories.java:[77,22] cannot find symbol [ERROR] symbol: class DeadlineCallQueue [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallQueueFactories.java:[78,36] cannot find symbol [ERROR] symbol: class DeadlineContainer [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallQueueFactories.java:[79,52] cannot find symbol [ERROR] symbol: class DeadlineContainer [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallQueueFactories.java:[80,33] cannot find symbol [ERROR] symbol: variable DeadlineContainer [ERROR] -> [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/MojoFailureException [ERROR] [ERROR] After correcting the problems, you can resume the build with the command [ERROR] mvn <goals> -rf :hbase-server Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/15580//console This message is automatically generated. > a single callQueue related improvements > --------------------------------------- > > Key: HBASE-14331 > URL: https://issues.apache.org/jira/browse/HBASE-14331 > Project: HBase > Issue Type: Improvement > Components: IPC/RPC, Performance > Reporter: Hiroshi Ikeda > Assignee: Hiroshi Ikeda > Priority: Minor > Attachments: BlockingQueuesPerformanceTestApp-output.pdf, > BlockingQueuesPerformanceTestApp-output.txt, > BlockingQueuesPerformanceTestApp.java, CallQueuePerformanceTestApp.java, > HBASE-14331-V2.patch, HBASE-14331-V3.patch, HBASE-14331-V4.patch, > HBASE-14331.patch, HBASE-14331.patch, SemaphoreBasedBlockingQueue.java, > SemaphoreBasedLinkedBlockingQueue.java, > SemaphoreBasedPriorityBlockingQueue.java > > > {{LinkedBlockingQueue}} well separates locks between the {{take}} method and > the {{put}} method, but not between takers, and not between putters. These > methods are implemented to take locks at the almost beginning of their logic. > HBASE-11355 introduces multiple call-queues to reduce such possible > congestion, but I doubt that it is required to stick to {{BlockingQueue}}. > There are the other shortcomings of using {{BlockingQueue}}. When using > multiple queues, since {{BlockingQueue}} blocks threads it is required to > prepare enough threads for each queue. It is possible that there is a queue > starving for threads while there is another queue where threads are idle. > Even if you can tune parameters to avoid such situations, the tuning is not > so trivial. > I suggest using a single {{ConcurrentLinkedQueue}} with {{Semaphore}}. -- This message was sent by Atlassian JIRA (v6.3.4#6332)