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

stack commented on HBASE-15745:
-------------------------------

First. Sorry for the crazy contortions you have to flip retrofitting async. 
This patch is good but just a few notes.

My first reaction was, oh no, not more additions to the class hierarchy, but my 
second thought was that there is no way around it for now; later once async is 
the default, we can start peeling away the abandoned tiers.

Second, on ProtoRetryingCallable, there is no protobuf in the Interface -- 
Proto usually implies PB around these parts but you seem to be referencing 
prototype here? --  nor is there a call method (no call when we async? Or its 
signature is different?). Is this Interface a Decorator or a Base Interface? If 
latter, RetryingCallableBase? If former RetryingCallableDecorator... ugly names 
but more clear what they are about. Just suggestions.

RetryingCallable<?>  did not give you sufficient leeway for introducing an 
async version?





> Refactor RPC classes to better accept async changes.
> ----------------------------------------------------
>
>                 Key: HBASE-15745
>                 URL: https://issues.apache.org/jira/browse/HBASE-15745
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Jurriaan Mous
>            Assignee: Jurriaan Mous
>         Attachments: HBASE-15745-v1.patch, HBASE-15745-v2.patch, 
> HBASE-15745.patch
>
>
> The class layout needs to be changed to better accept Async versions of the 
> same classes. This is a partly commit of the patch in HBASE-13784
> Classes turned interface:
> * AsyncRpcChannel with AsyncRpcChannelImpl as implementation
> * CoprocessorRpcChannel with SyncCoprocessorRpcChannel for implementation
> New lower-level abstractions:
> * ProtoRetryingCallable below RetryingCallable
> * AbstractRegionServerCallable below RegionServerCallable



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

Reply via email to