On Mon, 2010-05-17 at 15:08 +0530, Supun Kamburugamuva wrote:
> On Sun, May 16, 2010 at 2:41 PM, Oleg Kalnichevski <ol...@apache.org> wrote:
> 
> > On Sun, 2010-05-16 at 10:16 +0530, Supun Kamburugamuva wrote:
> > > Hi Oleg,
> > >
> > > A quick question. In this system we have two IO dispatchers. Only
> > > one dispatcher is blocked. But all the workers are waiting on a lock
> > > unlocked by the dispatchers. If one dispatcher is blocked, what happen to
> > > the other dispatcher? Is it going to work normally?
> > >
> >
> > No, it is not. A dispatch thread can be responsible for selecting I/O
> > events for many non-blocking channels. If the tread gets stuck, all its
> > connections become blocked. For example, if you have 2 dispatch threads
> > and one gets stuck, 50% of open connections are dead.
> >
> > To be more clear I will as the question in a different way,
> 
> Lets say a dispatcher thread gets blocked and there are some consumer
> threads working on the connections processed by this dispatcher. Now the
> dispatcher is blocked and consumers are waiting for a event fired by a
> dispatcher to continue.
> 
> Do you say that the consumers will block fore-ever because this particular
> dispatcher is blocked even though there is another dispatcher running in the
> system.
> 

Yes, they will. Blocked dispatch thread spells big trouble.

Oleg


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org
For additional commands, e-mail: dev-h...@hc.apache.org

Reply via email to