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

Hadoop QA commented on HBASE-12597:
-----------------------------------

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12685361/HBASE-12597-v6.patch
  against master branch at commit 155a644b1cce68b5ef7dcf20eca8ed29bf39c771.
  ATTACHMENT ID: 12685361

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

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

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

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

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

                {color:red}-1 checkstyle{color}.  The applied patch generated 
2078 checkstyle errors (more than the master's current 2072 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:red}-1 lineLengths{color}.  The patch introduces the following lines 
longer than 100:
    +   * either {@link 
org.apache.hadoop.hbase.util.PoolMap.PoolType#RoundRobin} or {@link 
org.apache.hadoop.hbase.util.PoolMap.PoolType#ThreadLocal},
+   * thread-local pool. In any case, the number of {@link 
org.apache.hadoop.hbase.ipc.RpcClient} instances
+   * Creates a new RpcClient by the class defined in the configuration or 
falls back to RpcClientImpl
+   * Creates a new RpcClient by the class defined in the configuration or 
falls back to RpcClientImpl
+  public static RpcClient createClient(Configuration conf, String clusterId, 
SocketAddress localAddr) {
+      new Class[] { Configuration.class, String.class, SocketAddress.class }, 
new Object[] { conf, clusterId, localAddr });
+  static class RandomTimeoutBlockingRpcChannel extends 
RpcClientImpl.BlockingRpcChannelImplementation {
+    RpcClient rpcClient = RpcClientFactory.createClient(conf, 
HConstants.DEFAULT_CLUSTER_ID.toString());
+    RpcClient rpcClient = RpcClientFactory.createClient(conf, 
HConstants.DEFAULT_CLUSTER_ID.toString());
+    RpcClient rpcClient = RpcClientFactory.createClient(conf, 
HConstants.DEFAULT_CLUSTER_ID.toString());

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

     {color:red}-1 core tests{color}.  The patch failed these unit tests:
                       org.apache.hadoop.hbase.client.TestReplicasClient
                  org.apache.hadoop.hbase.TestAcidGuarantees
                  
org.apache.hadoop.hbase.security.visibility.TestVisibilityLabelsWithDistributedLogReplay
                  org.apache.hadoop.hbase.coprocessor.TestCoprocessorEndpoint
                  org.apache.hadoop.hbase.TestFullLogReconstruction
                  org.apache.hadoop.hbase.coprocessor.TestRegionServerObserver
                  org.apache.hadoop.hbase.ipc.TestDelayedRpc
                  
org.apache.hadoop.hbase.security.visibility.TestVisibilityLabelsWithDefaultVisLabelService
                  org.apache.hadoop.hbase.client.TestFastFail
                  org.apache.hadoop.hbase.client.TestMultiParallel
                  org.apache.hadoop.hbase.coprocessor.TestRowProcessorEndpoint
                  org.apache.hadoop.hbase.client.TestAdmin2

     {color:red}-1 core zombie tests{color}.  There are 16 zombie test(s):      
at 
org.apache.hadoop.hbase.coprocessor.TestMasterObserver.testRegionTransitionOperations(TestMasterObserver.java:1523)
        at 
org.apache.hadoop.hbase.mapreduce.TestTableSnapshotInputFormat.testWithMapReduceImpl(TestTableSnapshotInputFormat.java:247)
        at 
org.apache.hadoop.hbase.mapreduce.TableSnapshotInputFormatTestBase.testWithMapReduce(TableSnapshotInputFormatTestBase.java:111)
        at 
org.apache.hadoop.hbase.mapreduce.TableSnapshotInputFormatTestBase.testWithMapReduceMultiRegion(TableSnapshotInputFormatTestBase.java:95)
        at 
org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat.testMRIncrementalLoadWithSplit(TestHFileOutputFormat.java:366)
        at 
org.apache.hadoop.hbase.client.TestAdmin1.testDeleteEditUnknownColumnFamilyAndOrTable(TestAdmin1.java:134)
        at 
org.apache.hadoop.hbase.security.visibility.TestVisibilityLabels.testVisibilityLabelsOnRSRestart(TestVisibilityLabels.java:406)
        at 
org.apache.hadoop.hbase.security.visibility.TestVisibilityLabels.testVisibilityLabelsInScanThatDoesNotMatchAnyDefinedLabels(TestVisibilityLabels.java:278)
        at 
org.apache.hadoop.hbase.TestFullLogReconstruction.testReconstruction(TestFullLogReconstruction.java:100)
        at 
org.apache.hadoop.hbase.client.TestTableSnapshotScanner.testScanner(TestTableSnapshotScanner.java:133)
        at 
org.apache.hadoop.hbase.client.TestTableSnapshotScanner.testWithMultiRegion(TestTableSnapshotScanner.java:120)

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11955//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11955//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11955//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11955//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11955//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11955//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11955//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11955//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11955//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11955//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11955//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11955//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11955//artifact/patchprocess/checkstyle-aggregate.html

                Javadoc warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11955//artifact/patchprocess/patchJavadocWarnings.txt
Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11955//console

This message is automatically generated.

> Add RpcClient interface and enable changing of RpcClient implementation
> -----------------------------------------------------------------------
>
>                 Key: HBASE-12597
>                 URL: https://issues.apache.org/jira/browse/HBASE-12597
>             Project: HBase
>          Issue Type: Improvement
>          Components: Client
>            Reporter: Jurriaan Mous
>             Fix For: 1.0.0, 2.0.0
>
>         Attachments: HBASE-12597-v1.patch, HBASE-12597-v2.patch, 
> HBASE-12597-v3.patch, HBASE-12597-v4.patch, HBASE-12597-v4.patch, 
> HBASE-12597-v5.patch, HBASE-12597-v6.patch, HBASE-12597.patch
>
>
> Currently HConnectionImplementation works with the included RpcClient which 
> is a direct implementation and not defined by an interface.
> It would be great to be able to swap out the default RpcClient with another 
> implementation which can also be controlled by the default 
> HConnectionImplementation. 
> Suggested changes:
> - Create a RpcClient interface which defines all the ways 
> HConnectionImplementation interacts with an RPC client. Like getting a 
> blocking protobuf service interface or closing the client.
> - Define which RpcClient implementation to construct by setting a 
> configuration variable which defaults to the current RpcClient.
> - Possibly create an abstract RpcClient class to only load all the basic Rpc 
> layer configurations to be used in an implementation.
> Why? It enables experimentation with RpcClients which could enable new 
> features or could be more performant than the included client. 
> I created a new RpcClient implementation based on Netty which can also be 
> called asynchronously. It would be great to also be able to use this 
> RpcClient in all the default ways and tests to see if there are any issues 
> with it. 
> https://github.com/jurmous/async-hbase-client/
> https://github.com/jurmous/async-hbase-client/blob/master/src/main/java/org/apache/hadoop/hbase/ipc/AsyncRpcClient.java



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to