@stack, sorry for reply late, sir. As HBASE-16388
<https://issues.apache.org/jira/browse/HBASE-16388> said, the client
threads may be blocked by only one slow region server. But a better
solution for this problem is to use async hbase client. And there are many
reasons to make a region server slow, slow read from hdfs, gc stw, etc. So
this should be a advantage of the async client. PS: my colleague Zheng Hu
talked about this problem on today's HBaseCon Asia :-). About the
performance of async client, there are two important metrics: latency and
QPS. Our PE tool can be used to test latency and it will be addressed by
HBASE-17994 <https://issues.apache.org/jira/browse/HBASE-17994>. And YCSB
maybe better to test QPS. I will publish the test result when we get more
test data. Thanks.


2017-07-22 0:35 GMT+08:00 Andrew Purtell <apurt...@apache.org>:

> This is exciting!
> Thanks so much for this hard work.
>
> On Fri, Jul 21, 2017 at 2:21 AM, Phil Yang <ud1...@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  :)
> >
> > Thanks,
> > Phil
> >
> >
> > 2017-07-21 6:15 GMT+08:00 Stack <st...@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 <zghao...@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
> > > >
> > >
> >
>
>
>
> --
> Best regards,
> Andrew
>
> Words like orphans lost among the crosstalk, meaning torn from truth's
> decrepit hands
>    - A23, Crosstalk
>

Reply via email to