Re: [javagroups-users] Error in JavaGroups?
Brought to you by:
belaban
From: Bela B. <be...@ya...> - 2002-10-28 22:56:23
|
Hi Dennis, several problems here: 1. Since you are not using JavaGroups group membership service (you're ignoring views), you have to take care of the following: * When you send a request and wait for responses, it could be that a member has crashed - in that case you'd wait forever for that member's response * I can see that you don't handle member crashes/leaves in your code. This way you will never stop sending requests to a failed member * Actually, all of these problems are handled by GroupRequest, so you may want to look into it 2. UNICAST uses group membership information to remove crashed members, in combination with your own group membership info, this can lead to the following problem: * JG VIEW={A,B,C}, your view={A,B,C,D} * You send a request to D and expect a response. UNICAST, however, will remove D from its connection table, and suppress any responses (unless you use use_gms=false in UNICAST). Bottom line: when you do your own group membership, you need to take care of a lot of things yourself. In such a case I suggest you do the following: * Use smack.xml, which has *no* GMS protocol * Use use_gms=false in UNICAST (already set in smack.xml) * Implement your own JOIN/LEAVE protocol o When a member joins send a multicast message so everyone adds that member (you already do that) o When a member leaves, detect this and remove that member from all caches, so you won't send/wait for responses from failed members Hope this helps, > Hi, > > I sent a post yesterday asking for help with figuring out why we can't > get JavaGroups to work properly. > > After I sent that mail, we have made a very simple stand-alone Java > class that can reproduce the problem. We also reproduced the problem > in another (less complicated) network environment consisting of 4 > normal workstations on a LAN. > > It should be stressed that the stand-alone program cannot be made to > reproduce the problem on every run. We have only been able to > reproduce the problem when 4 instances are running on four different > machines. It does not seem to be reproducable on a single machine. > > The Java class demonstrating the problem is attached. A sample of the > output is listed below. We are using javagroups-all.jar (JavaGroups > v2.0.3). > > As can be seen from the attached output all members are discovered > (javagroups views are not used; a simple "heartbeat" protocol similar > to FD - I think - is built on top of JavaGroups, so that received > messages makes the program discover members), but not all replies are > received (the replies are sent as can be observed on the replying > machine). So: The unicast from the replying machine does not reach the > requesting machine. > > Any help will be greatly appreciated. We're really in trouble here ;) > > -dennis > > java -cp .;javagroups-all.jar JG dennis > >>INFO: Starting up... > Trace.init() java.io.FileNotFoundException: C:\Documents and > Settings\Dennis\javagroups.properties (Den angivne fil blev ikke fundet) > >>INFO: Received 0 replies for request #0 > >>INFO: Adding new member to collection of known members: linda - > current members: {linda=LIZZY:2611} > >>INFO: Replying to request #0 from linda > >>INFO: Replying to request #1 from linda > >>ERROR: Failed to get all necessary replies to request #1. Received > 1, missingreplies from [linda] > >>INFO: Replying to request #2 from linda > >>INFO: Replying to request #3 from linda > >>INFO: Adding new member to collection of known members: peter - > current members: {linda=LIZZY:2611, peter=PERNILLE:1565} > >>INFO: Adding new member to collection of known members: bo - current > members:{bo=BONITA:1147, linda=LIZZY:2611, peter=PERNILLE:1565} > >>INFO: Replying to request #3 from peter > >>ERROR: Failed to get all necessary replies to request #2. Received > 1, missing replies from [linda] > >>INFO: Replying to request #4 from linda > > ... > > >>INFO: Replying to request #9 from peter > >>ERROR: Failed to get all necessary replies to request #7. Received > 1, missing replies from [linda] > >>INFO: Replying to request #12 from linda > >>INFO: Replying to request #10 from peter > >>INFO: Replying to request #9 from bo > >>INFO: Replying to request #13 from linda > >>INFO: Replying to request #14 from linda > >>ERROR: Failed to get all necessary replies to request #8. Received > 1, missing replies from [linda] > > ------------------------------------------------------------------------ > -- Bela Ban http://www.javagroups.com Cell: (408) 316-4459 |