hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stack <st...@duboce.net>
Subject Re: [ANNOUNCE] Asynchronous client is available in HBase 2.0
Date Fri, 21 Jul 2017 14:47:20 GMT
On Fri, Jul 21, 2017 at 10:21 AM, Phil Yang <ud1937@gmail.com> wrote:

> I filed an issue HBASE-18334
> <https://issues.apache.org/jira/browse/HBASE-18334> to remove the old sync
> implementation. I think we can do it in 3.0 and keep sync logic in
> branch-2? Of course we can also remove it in 2.1 or higher 2.x branch but
> if we remove it since 2.0 it may be a little radical  :)
>
>
Agreed (smile). 3.0 sounds like a plan.

One thing Guanghao, you don't say what advantage of the async client are
over synchronous client (or downsides). Might be worth stating even if
'obvious' (uses less resources/threads, more throughput?).

Good one lads,
St.Ack




> Thanks,
> Phil
>
>
> 2017-07-21 6:15 GMT+08:00 Stack <stack@duboce.net>:
>
> > Very sweet Guanghao. Thanks for all the hard work (you, Duo and all who
> > contributed to the async work).
> >
> > When you think we should move the sync client to be on top of the async
> > chassis?
> >
> > Thanks,
> > St.Ack
> >
> > P.S. It looks like you updated its status in this doc,
> > https://docs.google.com/document/d/1WCsVlnHjJeKUcl7wHwqb4z9iEu_
> > ktczrlKHK8N4SZzs/edit#,
> > thanks.
> >
> > On Thu, Jul 20, 2017 at 4:51 AM, Guanghao Zhang <zghaobac@gmail.com>
> > wrote:
> >
> > > Dear all,
> > >
> > > Asynchronous client aims to provide the ability to access HBase
> > > asynchronously. You can obtain an AsyncConnection from
> ConnectionFactory,
> > > and then get an asynchronous table instance (for DML operations) or an
> > > asynchronous admin instance (for DDL operations) from it to access
> HBase.
> > > For the asynchronous table or admin, most methods have the same meaning
> > > with the old Table or Admin interface, expect that the return value is
> > > wrapped with a CompletableFuture (java 8 or higher is required)
> usually.
> > > You can get more details from the documentation[1][2].
> > >
> > > There are two examples about the asynchronous client.
> > AsyncClientExample[3]
> > > is a simple example to show you how to use AsyncTable.
> > HttpProxyExample[4]
> > > is an example for advance user to show you how to use RawAsyncTable to
> > > write a fully asynchronous HTTP proxy server. Welcome to try the
> > > asynchronous client in your project.
> > >
> > > We tested the performance of asynchronous client by
> > > the PerformanceEvaluation tool. And it showed that async client has
> > almost
> > > same latency with sync client[5]. Notice: when we did performance test
> > for
> > > asynchronous client. We found some performance issue when use jdk
> > 1.8_111.
> > > And it was fixed when use jdk 1.8_131 [6]. So suggest use a bigger
> > version
> > > than jdk8_131 when you use the asynchronous client.
> > >
> > > The major umbrella issues include:
> > > HBASE-16432 Revisit the asynchronous ipc implementation[7]
> > > HBASE-16833 Implement asynchronous hbase client based on HBASE-15921[8]
> > > HBASE-17359 Implement async admin[9]
> > >
> > > There is also an issue HBASE-17856 to track the further improvements
> for
> > > asynchronous hbase client[10].
> > >
> > > Finally, thanks Duo Zhang and Zheng Hu who worked with me together to
> > > implement the asynchronous client.
> > >
> > > Best Regards,
> > > Guanghao
> > >
> > > [1] https://hbase.apache.org/book.html#async.client
> > > [2] https://hbase.apache.org/book.html#async.admin
> > > [3]
> > > https://github.com/apache/hbase/blob/master/hbase-
> > > examples/src/main/java/org/apache/hadoop/hbase/client/
> > > example/AsyncClientExample.java
> > > [4]
> > > https://github.com/apache/hbase/blob/master/hbase-
> > > examples/src/main/java/org/apache/hadoop/hbase/client/
> > > example/HttpProxyExample.java
> > > [5] https://www.slideshare.net/HBaseCon/hbase-at-xiaomi
> > > [6]
> > > http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/687fd7c7986d/src/share/
> > > classes/java/util/concurrent/CompletableFuture.java
> > > [7] https://issues.apache.org/jira/browse/HBASE-16432
> > > [8] https://issues.apache.org/jira/browse/HBASE-16833
> > > [9] https://issues.apache.org/jira/browse/HBASE-17359
> > > [10] https://issues.apache.org/jira/browse/HBASE-17856
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message