hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Slava Gorelik" <slava.gore...@gmail.com>
Subject Re: Question on Single Connection Limitation
Date Wed, 24 Dec 2008 21:12:51 GMT
Ok, got you, make sense.

On Wed, Dec 24, 2008 at 10:41 PM, Michael Dagaev
<michael.dagaev@gmail.com>wrote:

> Ok. Let's consider a multithreaded client and server.
>
> Two client threads C1 and C2 call server over RPC. What happens ?
>
> 0:00 Client thread C1 grabs the connection and sends a request over it,
> 0:01 Client thread C2 comes and waits for the connection
> 0:02 Server thread S1 receives the request and handles it
>
> Client thread C1 is waiting for response while server thread S1 is
> handling the request.
> Client thread C2 is waiting for the connection.
>
> 0:05 Server thread S1 finished the request handling and sends the response
> to C1
> 0:06 C1 receives the response and releases the connection
> 0:06 Once C1 releases the connection C2 grabs the connection and sends
> the request ...
>
> Does it make sense so far ?
>
> Now the question is what the connection did since 0:02 till 0:05.
> The answer is that the connection was probably IDLE.
>
> Is it good ? No.
>
> How should it work ?
> 0:02 C1 should release the connection after sending the request.
> 0:02 C2 should grab it and send the request while C1 is waiting
> and S1 is handling the request of C1.
> ...
>
> Now the connection works more and that is how good RPC implementations
> work.
>
> Is it more clear now?
>
> M.
>
> On Wed, Dec 24, 2008 at 10:09 PM, Slava Gorelik <slava.gorelik@gmail.com>
> wrote:
> > Sorry, some how i didn't get you.
> >
> > On Wed, Dec 24, 2008 at 9:17 PM, Michael Dagaev <
> michael.dagaev@gmail.com>wrote:
> >
> >> Hi, all
> >>
> >>    On the second thought, one connection per JVM
> >> between Hbase servers and clients should be enough.
> >>
> >> Let an Hbase client calls Hbase server.
> >> This call consists of sending/receiving data over the network
> >> and processing on the Hbase side. I guess that the network (LAN)
> >> is not a bottleneck here.
> >>
> >> I believe that the raw throughput of one TCP connection over LAN
> >> is much better than the throughput of the RPC, i.e. it looke like
> >> RPC does not utilize the connection properly.
> >>
> >> For instance, when a client thread has sent a request to Hbase
> >> and Hbase is processing it, the thread is waiting on the idle
> connection,
> >> and no other thread can use it. However the connection should be used
> >> for sending/receiving data of other threads.
> >>
> >> Does it make sense?
> >>
> >> Thank you for your cooperation,
> >> M.
> >>
> >
>

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