hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hadoop QA (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-14331) a single callQueue related improvements
Date Wed, 09 Sep 2015 07:25:45 GMT

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

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/12754820/HBASE-14331.patch
  against master branch at commit e95358a7fc3f554dcbb351c8b7295cafc01e8c23.
  ATTACHMENT ID: 12754820

    {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:green}+1 hadoop versions{color}. The patch compiles with all supported hadoop versions
(2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.0 2.7.0 2.7.1)

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

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

    {color:green}+1 javadoc{color}.  The javadoc tool did not generate any warning messages.

                {color:red}-1 checkstyle{color}.  The applied patch generated 1837 checkstyle
errors (more than the master's current 1834 errors).

    {color:green}+1 findbugs{color}.  The patch does not introduce any  new Findbugs (version
2.0.3) warnings.

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

    {color:green}+1 lineLengths{color}.  The patch does not introduce lines longer than 100

  {color:green}+1 site{color}.  The mvn post-site goal succeeds with this patch.

     {color:red}-1 core tests{color}.  The patch failed these unit tests:
                       org.apache.hadoop.hbase.util.TestMiniClusterLoadEncoded
                  org.apache.hadoop.hbase.util.TestMiniClusterLoadParallel

     {color:red}-1 core zombie tests{color}.  There are 7 zombie test(s): 	at org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat2.testMRIncrementalLoadWithLocality(TestHFileOutputFormat2.java:400)
	at org.apache.hadoop.hbase.mapred.TestTableSnapshotInputFormat.testWithMapReduceImpl(TestTableSnapshotInputFormat.java:225)
	at org.apache.hadoop.hbase.mapreduce.TableSnapshotInputFormatTestBase.testWithMapReduce(TableSnapshotInputFormatTestBase.java:161)
	at org.apache.hadoop.hbase.mapred.TestTableSnapshotInputFormat.testWithMapReduceAndOfflineHBaseMultiRegion(TestTableSnapshotInputFormat.java:148)
	at org.apache.hadoop.hbase.regionserver.wal.TestWALReplay.testReplayEditsAfterRegionMovedWithMultiCF(TestWALReplay.java:218)
	at org.apache.hadoop.hbase.TestZooKeeper.testLogSplittingAfterMasterRecoveryDueToZKExpiry(TestZooKeeper.java:626)
	at org.apache.hadoop.hbase.mapreduce.MultiTableInputFormatTestBase.testScan(MultiTableInputFormatTestBase.java:255)
	at org.apache.hadoop.hbase.mapreduce.MultiTableInputFormatTestBase.testScanEmptyToEmpty(MultiTableInputFormatTestBase.java:196)

Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/15490//testReport/
Release Findbugs (version 2.0.3) 	warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/15490//artifact/patchprocess/newFindbugsWarnings.html
Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/15490//artifact/patchprocess/checkstyle-aggregate.html

                Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/15490//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.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)

Mime
View raw message