On 10/2/12 6:02 PM, Dan Berindei wrote:
> The members should be updated in viewAccepted(). When you connect
a
> channel, then viewAccepted() will be called *before* JChannel.connect()
> returns, so the main thread won't have a chance of accessing members
> before that.
>
>
Ok, if viewAccepted() is guaranteed to be called before connect() returns
then you're right, the latch is superfluous. We only need to call
viewAccepted() ourselves if the channel was injected (which we already do).
In this particular case, however, we don't get a viewAccepted() call or an
exception from connect(), so I'm not sure it would have been better (easier
to debug) without the latch.
This is due to
https://issues.jboss.org/browse/JGRP-1522, which was
introduced in 3.2.0; when this is fixed, you will get a viewAccepted().
The workaround is to set NAKACK{2}.become_server_queue_size=0.
--
Bela Ban, JGroups lead (
http://www.jgroups.org)