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

Hudson commented on HBASE-12597:
--------------------------------

SUCCESS: Integrated in HBase-1.0 #552 (See 
[https://builds.apache.org/job/HBase-1.0/552/])
HBASE-12597 Add RpcClient interface and enable changing of RpcClient 
implementation (Jurriaan Mous) (stack: rev 
1d880e3f60989437ab10ecc285037b32bc694464)
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestDelayedRpc.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestProtoBufRpc.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClientImpl.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/filter/FilterTestingCluster.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClient.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/Call.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestHBaseClient.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AbstractRpcClient.java
* 
hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/MetaTableLocator.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/ConnectionId.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClientFactory.java
* 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/PreemptiveFastFailInterceptor.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/IPCUtil.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientScannerRPCTimeout.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestHMasterRPCException.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/FailedServers.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/security/TestSecureRPC.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestIPC.java
* 
hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/FailedServerException.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.java
* 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientTimeouts.java
* 
hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/CallTimeoutException.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSideNoCodec.java


> 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
>            Assignee: 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-v7.patch, 
> HBASE-12597-v8-branch-1.patch, HBASE-12597-v8.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