hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jurriaan Mous (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-13784) Add Async Client Table API
Date Wed, 27 May 2015 11:22:17 GMT

     [ https://issues.apache.org/jira/browse/HBASE-13784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Jurriaan Mous updated HBASE-13784:
    Attachment: HBASE-13784.patch

First proposal for the Async Table API. 

* Only get is currently added to Table/HTable as asyncGet method which returns a promise.
I would prefer to name it get(Get) but that conflicts with the existing method. Does anybody
has a nice suggestion for async method names? Or should we create a new alternative AsyncTable
with the methods?
* Async calls return a ResponsePromise<Type>. This Promise is directly based on the
Promise of Netty which extends Java Future so it works together with the Netty EventLoop.
Any other type of Future or handlers would add overhead. 
* Internally the Async path does not work with the Google Protobuf RpcControllers but works
directly with Promises that contain all metadata and cellScanners. So no need for PayloadCarryingRpcController
to handle failures or RpcCallBacks. This saves some overhead on Async communication.
* Read Replicas is not implemented yet but could easily be implemented because it already
works with java Futures internally.
* The blocking RpcClientImpl has currently no implementation for createRpcChannel and getEventLoop.
It is in my opinion best to remove the blocking implementation instead of engineering fake

> Add Async Client Table API
> --------------------------
>                 Key: HBASE-13784
>                 URL: https://issues.apache.org/jira/browse/HBASE-13784
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: Jurriaan Mous
>            Assignee: Jurriaan Mous
>         Attachments: HBASE-13784.patch
> With the introduction of the Async HBase RPC Client it is possible to create an Async
Table API and more. This issue is focussed on creating a first async Table API so it is possible
to do any non deprecated Table call in an async way.

This message was sent by Atlassian JIRA

View raw message