hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Allan Yang <allan...@apache.org>
Subject Re: Regarding Connection Pooling
Date Tue, 13 Jun 2017 02:44:43 GMT
Which HBase version are you using?(I'm assuming you are using the original
blocking client, the new netty client only available in 2.0 ) Yes, in
default, there is only one socket to each RS, and the calls written to this
socket are synchronized(or queued using another thread called CallSender ).
But usually, this won't become a bottleneck. If this is a problem for you,
you can tune "hbase.client.ipc.pool.size".

2017-06-12 23:47 GMT+08:00 Sachin Jain <sachinjain024@gmail.com>:

> I meant to ask since connection object has predefined connections to region
> servers that means there is a Socket based connection already open with
> some region server R1. When a Hbase client has to make two or more  get
> requests to region server R1 how does that work with same connection with
> R1.
>
> On 12-Jun-2017 7:31 PM, "Allan Yang" <allan163@apache.org> wrote:
>
> Connection is thread safe. You can use it across different threads. And
> requests made by different thread are handled in parallel no matter the
> keys are in the same region or not.
>
> 2017-06-12 20:44 GMT+08:00 Sachin Jain <sachinjain024@gmail.com>:
>
> > Hi,
> >
> > I was going through connections in hbase. Here is reference from
> > ConnectionFactory API doc.
> >
> > >  Connection encapsulates all housekeeping for a connection to the
> > cluster. All tables and interfaces created from returned connection share
> > zookeeper connection, meta cache, and connections to region servers and
> > masters.
> >
> > Suppose I am building a REST api and trying to retrieve data from Hbase
> in
> > REST calls. I am thinking to pre-create a connection and use it among
> > different request threads.
> >
> > Suppose I get multiple requests for keys within same region, will that
> > single connection be able to serve multiple requests via same region
> server
> > ?
> >
> > Or Are those requests handled serially because once a request is made to
> > region server for key1,
> > another requests for key2,..,keyN have to wait for request of key1 to
> > complete.
> >
> > Even if I create a connection pool of pre-created connections of N size,
> > does that mean I can serve only N parallel requests if all those requests
> > have to deal with same hbase region server. Is this true ?
> >
> > [0]:
> > https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/
> > ConnectionFactory.html
> >
> > Thanks
> > -Sachin
> >
>

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