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

Yu Li commented on HBASE-15921:
-------------------------------

Thanks for the reference here [~Apache9], and sorry for the late response 
(don't want to use 11-11 as excuse but really kind of exhausted preparing for 
it...)

I've noticed that there're some good refactoring work done recently on the 
RpcClient part, so I need some more time to do some code rebase and give some 
brief demo later (I think some demo codes would help to understand than simply 
words.:-)).

Basically, our implementation based on PB's {{RpcCallback}} interface, but to 
be honest, we don't take much consideration of region replica part for now 
especially for the batch request. And we support callback and future separately 
rather than a mature interface like ListenableFuture or CompletableFuture. So I 
believe there're still quite some discussion in need but I'll supply a simple 
demo first, ASAP.

I've also noticed the work [~chenheng] is doing about unifying all operations 
into AsyncProcess, but when I did the async table implementation based on 
branch-1, I truly found AsyncProcess complicated and hard to coordinate all 
async logic in, so I guess we need more discussion here also. Anyway, let me 
prepare the sample patch first.

> Add first AsyncTable impl and create TableImpl based on it
> ----------------------------------------------------------
>
>                 Key: HBASE-15921
>                 URL: https://issues.apache.org/jira/browse/HBASE-15921
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Jurriaan Mous
>            Assignee: Jurriaan Mous
>         Attachments: HBASE-15921.patch, HBASE-15921.v1.patch
>
>
> First we create an AsyncTable interface with implementation without the Scan 
> functionality. Those will land in a separate patch since they need a refactor 
> of existing scans.
> Also added is a new TableImpl to replace HTable. It uses the AsyncTableImpl 
> internally and should be a bit faster because it does jump through less hoops 
> to do ProtoBuf transportation. This way we can run all existing tests on the 
> AsyncTableImpl to guarantee its quality.



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

Reply via email to