Re: [jgroups-dev] Problem with FD_SOCK failure detection

Bela Ban <[email protected]> Wed, 21 Aug 2013 17:12:15 +0200
Newsgroups gmane.comp.java.javagroups.devel
Message-ID <[email protected]>
Works for me: I used udp.xml, commented FD_ALL and increased the timeout 
in VERIFY_SUSPECT to 5000.

The I started members A and B. Then I killed A (will get removed ca. 5 s 
later) and immediately started C. C looped around the failed JOIN until 
A was removed, then B joined and the new view was {B,C}.

Comments inine.

On 8/21/13 12:29 PM, mayank.agarwal wrote:
> yes, this is reproducible.
> FD_SOCK start() method is not called as JChannel.connect call wasn't
> succeeded because it was trying to JOIN killed member(co-ordinator)

This should not be the case as the killed coordinator will be removed 
from the view, so a discovery should not return it anymore.
Do you use return_entire_cache="true" by any chance ?

> there are three nodes in cluster. (member-89,member-101,member-88,member-87)
> we are getting lot of warnings mentioned below. it is trying to contact
> member-89(which is killed)
> [pool-3-thread-1] WARN  o.jgroups.protocols.pbcast.GMS -
> JOIN(member-87-22015) sent to member-89-55050 timed out (after 7000 ms), on
> try 2852

It attempted to join 2852 times ?
Note that you can set GMS.max_join_attempts to put a ceiling to the 
number of tries.

> On discovery request from member-87: member-88 is returning view
> [member-89-55050|10].

This shouldn't be the case, as member-89 should have been removed from 
the view !
What's the config you use ?

> So it is always sending JOIN request to member-89(killed).
>
> member-88,89,101 has view {member-89,member-101,member-88,member-87}
> member-87 does't have any view.
> Scenario is: let say 2  A,B,C is in cluster new node D try to join and at
> the same time A goes down. than C has already closed the socket with A
> gracefully, assuming D will create the socket with A . D's FD_SOCK pinger
> thread is not started. ( i am not seeing the msg "pinger_thread started" in
> logs)


Yes, that would be the case if D always gets discovery response(s) which 
still indicate A is the coordinator. This is the core issue, and we need 
to find out why anyone's still returning A in its discovery response.


> We are not using combo of FD_SOCK with FD/FD_ALL. we are using only in
> FD_SOCK.

Why ? The recommended config includes both FD_SOCK *and* either FD (TCP) 
or FD_ALL (UDP).

If you can come up with exact steps to reproduce this, or a small 
program, than that would be good. Then I could create a JIRA.

-- 
Bela Ban, JGroups lead (http://www.jgroups.org)

------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
_______________________________________________
Javagroups-development mailing list