drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jacques Nadeau <jacq...@dremio.com>
Subject Re: Questions about Event Loop Groups
Date Wed, 09 Mar 2016 20:19:00 GMT
We should probably have three main categories with a thread group for each.
Generally, the second and third can probably be very small:

Bit <> Bit (Data)
Data Client, DataServer

Bit <> Bit (Control)
ControlServer, ControlClient

Bit <> User
User Client, User Server

For the question with regards to control client/server, I believe we still
use a peer to peer approach for the control channel (unless we deprecated
this). As such, whomever creates the connection first is a ControlClient
but messages can be sent either direction. So no, I don't think you can
remove the handle method. This is different than the data channel where I
believe our behavior is to establish different sockets for each direction
of communication.

Jacques Nadeau
CTO and Co-Founder, Dremio

On Wed, Mar 9, 2016 at 11:55 AM, Sudheesh Katkam <skatkam@maprtech.com>

> Slightly unrelated question: ControlClient does not handle requests; it is
> the requestor. So shouldn't the handle method <
> https://github.com/apache/drill/blob/master/exec/java-exec/src/main/java/org/apache/drill/exec/rpc/control/ControlClient.java#L92>
> throw an UnsupportedOperationException (just like DataClient)?
> > On Mar 9, 2016, at 11:44 AM, Sudheesh Katkam <skatkam@maprtech.com>
> wrote:
> >
> > There are two event loop groups to handle bit-to-bit communication (“bit
> server” and “bit client”).
> >
> > (1) The “bit server” loop is used by DataServer, ControlServer and
> ControlClient, and “bit client” loop is used by DataClient. Is there a
> reason why ControlClient does not use the “bit client” loop?
> >
> > (2) The event loop groups are shutdown only when *Server are shutdown.
> So the “bit server” loop is shutdown twice, and the “bit client” loop is
> not shutdown.
> >
> > To avoid confusion, I propose these loops to be shutdown in (close
> methods of) classes that create them. Thoughts?
> >
> > Thank you,
> > Sudheesh

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