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

Jurriaan Mous commented on HBASE-12684:
---------------------------------------

{quote}
1 warning
[WARNING] Javadoc Warnings
[WARNING] 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java:544:
 warning - @param argument "perm" is not a parameter name.
{quote}
Ah I overlooked it because I have not touched AccessController. I didn't know 
which counted and which didn't. I checked it now and this error is on master in 
commit d3002c6a8e5ad54c944661211d7dfe364dabc27c by [~enis]. I don't think it is 
wise that I fix it in a patch here.

bq. Regards EnvironmentEdgeManager, its sporadically applied and mostly makes 
sense serverside, not so much clientside. I suppose it could be used doing 
timings in client but that is TODO.

Ah ok. It was also already there on Call of the current RpcClientImpl. (Which 
was not there when I started porting it with HBase 0.98

bq. Rolled back BlockingRpcChannelImplementation since it was needed for 
failing connections to reconnect to a new RpcChannel. So could not be in 
Channel itself...
bq. Can you say more about this for layman....
 
The BlockingRpcChannel is created on creation of the RPC channel and it is 
later called to actually do the RPC call. 
When I extended the AsyncRpcChannel with BlockingRpcChannel the protobuf 
service would always call that channel. And in failure situations that channel 
could be closed and retries would never be redirected to a new channel. This 
caused some test failures in those failure situations. 
With the BlockingRpcChannelImpl object the channel is created/retrieved when 
callBlockingMethod is called. So if there is a need for a new channel it will 
then be created. Thus retried connections get redirected.

> Add new AsyncRpcClient
> ----------------------
>
>                 Key: HBASE-12684
>                 URL: https://issues.apache.org/jira/browse/HBASE-12684
>             Project: HBase
>          Issue Type: Improvement
>          Components: Client
>            Reporter: Jurriaan Mous
>            Assignee: Jurriaan Mous
>         Attachments: HBASE-12684-v1.patch, HBASE-12684-v2.patch, 
> HBASE-12684-v3.patch, HBASE-12684-v4.patch, HBASE-12684-v5.patch, 
> HBASE-12684-v6.patch, HBASE-12684-v7.patch, HBASE-12684-v8.patch, 
> HBASE-12684.patch
>
>
> With the changes in HBASE-12597 it is possible to add new RpcClients. This 
> issue is about adding a new Async RpcClient which would enable HBase to do 
> non blocking protobuf service communication.
> Besides delivering a new AsyncRpcClient I would also like to ask the question 
> what it would take to replace the current RpcClient? This would enable to 
> simplify async code in some next issues.



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

Reply via email to