hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-15745) Refactor RPC classes to better accept async changes.
Date Thu, 05 May 2016 15:57:12 GMT

    [ 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)

Mime
View raw message