[
https://issues.apache.org/jira/browse/HBASE-12597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14233037#comment-14233037
]
Anoop Sam John edited comment on HBASE-12597 at 12/3/14 2:36 PM:
-----------------------------------------------------------------
ConnectionId
You should add Apache license header as well as InterfaceAudience.
FailedServerException
You should add Apache license header
FailedServers
You should add Apache license header as well as InterfaceAudience.
{code}
String rpcClientClass =
conf.get(CUSTOM_RPC_CLIENT_IMPL_CONF_KEY,
RpcClientImpl.class.getName());
{code}
The agreement is that RpcClient implementations to have a 3 arg constructor.
Need to add the info in release notes
RpcClientAdapter -> Is this an adapter class? This is a common base class for
diff RpcClient impls. This name correct?
was (Author: anoop.hbase):
ConnectionId
You should add Apache license header as well as InterfaceAudience.
FailedServerException
You should add Apache license header
FailedServers
You should add Apache license header as well as InterfaceAudience.
{code}
String rpcClientClass =
conf.get(CUSTOM_RPC_CLIENT_IMPL_CONF_KEY,
RpcClientImpl.class.getName());
{code}
The agrement is that RpcClient implementations to have a 3 arg constructor.
Need to add the info in release notes
RpcClientAdapter -> Is this an adapter class? This is a common base for diff
RpcClient impls. This name correct?
> 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
> Attachments: HBASE-12597-v1.patch, HBASE-12597-v2.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)