RE: [javagroups-users] Member don't become coord after installing a new view
Brought to you by:
belaban
From: Nicolas P. <NPI...@kl...> - 2004-02-16 15:54:06
|
Hi, In the method installView() of pbcast.GMS protocol v1.1.1.1. Could you explain why the test to check if client must = becomeCoordinator check if coord adresse is not equals to view's coordinator ? The current test is : coord=3DdetermineCoordinator(); if(coord !=3D null && coord.equals(local_addr) && !coord.equals(vid.getCoordAddress())) { Because in my case local_addr =3D=3D coord =3D=3D vid.getCoordAddress() = but my GMSImpl is an ParticipantGmsImpl. Is this test correct ? Why it's not : if(coord !=3D null && coord.equals(local_addr) && !haveCoordinatorRole()) { =20 The protocol which set the new view send a message to the new = coordinator to mutate it as coordinator ? How does it work ? =20 Thanks for your help.. =20 =20 Nicolas =20 =20 =20 =20 =20 -----Message d'origine----- De : Nicolas PIEDELOUP [ <mailto:NPI...@kl...> mailto:NPI...@kl...] Envoy=E9 : vendredi 13 f=E9vrier 2004 18:06 =C0 : jav...@li... Objet : [javagroups-users] Member don't become coord after installing a n ew view Hi, I have a problem with merging. It's seems that one participant didn't = become the coord. It happend after a MERGE others members have elect him as coord, but it = stay as participant. And my group hasn't an coord anymore.. My stack was : UDP,PING,MERGE2,FD,VERIFY_SUSPECT,pbcast.NAKACK,UNICAST,pbcast.STABLE,FR= AG,p bcast.GMS The step of my example (logs follow): - 3 instances start - 2 instances on server2 become coordinators, server1 become = participant and have server2:54643 as coord - a merge create a new view where server1 is the coord and other participant - the 2 coords become participant after installing the new view - server1 install the new view but it didn't become the coord.. I use jGroups 2.2 release. Log on server2 instance1: [13/02/2004 15:16:58.192] [INFO] GMS.setImpl(): changed role to org.jgroups.protocols.pbcast.ClientGmsImpl [13/02/2004 15:17:00.452] [INFO] GMS.installView(): view is [Server2:54643|0] [Server2:54643] [13/02/2004 15:17:00.509] [INFO] GMS.setImpl(): changed role to org.jgroups.protocols.pbcast.CoordGmsImpl [13/02/2004 15:17:01.193] [INFO] GMS.becomeCoordinator(): Server2:54643 became coordinator [13/02/2004 15:17:01.324] [INFO] MERGE2.FindSubgroups.run(): merge task started [13/02/2004 15:17:03.915] [DEBUG] GMS.handleJoinRequest(): = mbr=3Dserver1:37813 [13/02/2004 15:17:03.930] [DEBUG] GMS.getNextView(): VID=3D1, current members=3D(Server2:54643), new_mbrs=3D(server1:37813), old_mbrs=3D(), suspected_mbrs=3D() [13/02/2004 15:17:03.931] [DEBUG] GMS.getNextView(): new view is [Server2:54643|1] [Server2:54643, server1:37813] [13/02/2004 15:17:05.323] [DEBUG] GMS.handleJoinRequest(): = mbr=3Dserver1:37815 [13/02/2004 15:17:05.324] [DEBUG] GMS.getNextView(): VID=3D2, current members=3D(Server2:54643, server1:37813), new_mbrs=3D(server1:37815), old_mbrs=3D(), suspected_mbrs=3D() [13/02/2004 15:17:05.325] [DEBUG] GMS.getNextView(): new view is [Server2:54643|2] [Server2:54643, server1:37813, server1:37815] [13/02/2004 15:17:05.325] [INFO] GMS.castViewChange(): mcasting view {[Server2:54643|2] [Server2:54643, server1:37813, server1:37815]} (3 = mbrs) [13/02/2004 15:17:05.330] [INFO] GMS.installView(): view is [Server2:54643|2] [Server2:54643, server1:37813, server1:37815] [13/02/2004 15:17:10.600] [INFO] MERGE2.FindSubgroups.run(): initial_mbrs=3D[[own_addr=3DServer2:54643, coord_addr=3DServer2:54643], [own_addr=3Dserver1:37815, coord_addr=3DServer2:54643]] [13/02/2004 15:17:18.874] [INFO] MERGE2.FindSubgroups.run(): initial_mbrs=3D[[own_addr=3Dserver1:37813, coord_addr=3DServer2:54643], [own_addr=3Dserver1:37815, coord_addr=3DServer2:54643], = [own_addr=3DServer2:54645, coord_addr=3DServer2:54645], [own_addr=3DServer2:54643, coord_addr=3DServer2:54643]] [13/02/2004 15:17:18.874] [INFO] MERGE2.FindSubgroups.run(): found = multiple coordinators: [Server2:54643, Server2:54645]; sending up MERGE event [13/02/2004 15:17:18.946] [INFO] GMS.castViewChange(): mcasting view {MergeView::[server1:37813|3] [server1:37813, server1:37815, = Server2:54643, Server2:54645], subgroups=3D[[Server2:54643|2] [Server2:54643, = server1:37813, server1:37815], [Server2:54645|0] [Server2:54645]]} (4 mbrs) [13/02/2004 15:17:18.949] [INFO] GMS.installView(): view is MergeView::[server1:37813|3] [server1:37813, server1:37815, = Server2:54643, Server2:54645], subgroups=3D[[Server2:54643|2] [Server2:54643, = server1:37813, server1:37815], [Server2:54645|0] [Server2:54645]] [13/02/2004 15:17:18.953] [INFO] GMS.setImpl(): changed role to org.jgroups.protocols.pbcast.ParticipantGmsImpl [13/02/2004 15:17:18.954] [INFO] GMS.becomeParticipant(): Server2:54643 became participant [13/02/2004 15:17:18.999] [ERROR] GMS.installView(): received view <=3D current view; discarding it ! (current vid: [server1:37813|3], new vid: [server1:37813|3]) Log on server2 instance2: [13/02/2004 15:16:58.943] [INFO] GMS.setImpl(): changed role to org.jgroups.protocols.pbcast.ClientGmsImpl [13/02/2004 15:17:01.123] [INFO] GMS.installView(): view is [Server2:54645|0] [Server2:54645] [13/02/2004 15:17:01.956] [INFO] GMS.setImpl(): changed role to org.jgroups.protocols.pbcast.CoordGmsImpl [13/02/2004 15:17:01.957] [INFO] GMS.becomeCoordinator(): Server2:54645 became coordinator [13/02/2004 15:17:02.056] [INFO] MERGE2.FindSubgroups.run(): merge task started [13/02/2004 15:17:07.970] [INFO] MERGE2.FindSubgroups.run(): initial_mbrs=3D[[own_addr=3DServer2:54645, coord_addr=3DServer2:54645], [own_addr=3Dserver1:37813, coord_addr=3DServer2:54643], = [own_addr=3Dserver1:37815, coord_addr=3DServer2:54643], [own_addr=3DServer2:54643, coord_addr=3DServer2:54643]] [13/02/2004 15:17:07.971] [INFO] MERGE2.FindSubgroups.run(): found = multiple coordinators: [Server2:54645, Server2:54643]; sending up MERGE event [13/02/2004 15:17:17.305] [INFO] MERGE2.FindSubgroups.run(): initial_mbrs=3D[[own_addr=3DServer2:54645, coord_addr=3DServer2:54645], [own_addr=3DServer2:54643, coord_addr=3DServer2:54643]] [13/02/2004 15:17:17.306] [INFO] MERGE2.FindSubgroups.run(): found = multiple coordinators: [Server2:54645, Server2:54643]; sending up MERGE event [13/02/2004 15:17:18.993] [INFO] GMS.castViewChange(): mcasting view {MergeView::[server1:37813|3] [server1:37813, server1:37815, = Server2:54643, Server2:54645], subgroups=3D[[Server2:54643|2] [Server2:54643, = server1:37813, server1:37815], [Server2:54645|0] [Server2:54645]]} (4 mbrs) [13/02/2004 15:17:18.999] [INFO] GMS.installView(): view is MergeView::[server1:37813|3] [server1:37813, server1:37815, = Server2:54643, Server2:54645], subgroups=3D[[Server2:54643|2] [Server2:54643, = server1:37813, server1:37815], [Server2:54645|0] [Server2:54645]] [13/02/2004 15:17:19.002] [INFO] GMS.setImpl(): changed role to org.jgroups.protocols.pbcast.ParticipantGmsImpl [13/02/2004 15:17:19.003] [INFO] GMS.becomeParticipant(): Server2:54645 became participant [13/02/2004 15:18:01.209] [ERROR] GMS.installView(): received view <=3D current view; discarding it ! (current vid: [server1:37813|3], new vid: [server1:37813|3]) Log on server1: [13/02/2004 15:14:34.145] [INFO] GMS.setImpl(): changed role to org.jgroups.protocols.pbcast.ClientGmsImpl [13/02/2004 15:14:34.309] [INFO] PING.down(): FIND_INITIAL_MBRS [13/02/2004 15:14:34.504] [INFO] PING.up(): received = FIND_INITAL_MBRS_RSP, rsp=3D[own_addr=3Dserver2:54643, coord_addr=3Dserver2:54643] [13/02/2004 15:14:36.330] [INFO] PING.down(): initial mbrs are [[own_addr=3Dserver2:54643, coord_addr=3Dserver2:54643]] [13/02/2004 15:14:36.558] [INFO] GMS.installView(): view is [server2:54643|1] [server2:54643, server1:37813] [13/02/2004 15:14:36.561] [INFO] GMS.setImpl(): changed role to org.jgroups.protocols.pbcast.ParticipantGmsImpl [13/02/2004 15:14:36.562] [INFO] GMS.becomeParticipant(): server1:37813 became participant [13/02/2004 15:14:37.696] [INFO] PING.up(): received GET_MBRS_REQ from server1:37815, returning [PING: type=3DGET_MBRS_RSP, arg=3D[own_addr=3Dserver1:37813, coord_addr=3Dserver2:54643]] [13/02/2004 15:14:37.909] [INFO] GMS.installView(): view is [server2:54643|2] [server2:54643, server1:37813, server1:37815] [13/02/2004 15:14:40.502] [INFO] PING.up(): received GET_MBRS_REQ from server2:54645, returning [PING: type=3DGET_MBRS_RSP, arg=3D[own_addr=3Dserver1:37813, coord_addr=3Dserver2:54643]] [13/02/2004 15:14:43.137] [INFO] PING.up(): received GET_MBRS_REQ from server2:54643, returning [PING: type=3DGET_MBRS_RSP, arg=3D[own_addr=3Dserver1:37813, coord_addr=3Dserver2:54643]] [13/02/2004 15:14:49.844] [INFO] PING.up(): received GET_MBRS_REQ from server2:54645, returning [PING: type=3DGET_MBRS_RSP, arg=3D[own_addr=3Dserver1:37813, coord_addr=3Dserver2:54643]] [13/02/2004 15:14:51.402] [INFO] PING.up(): received GET_MBRS_REQ from server2:54643, returning [PING: type=3DGET_MBRS_RSP, arg=3D[own_addr=3Dserver1:37813, coord_addr=3Dserver2:54643]] [13/02/2004 15:14:51.509] [INFO] GMS.installView(): view is MergeView::[server1:37813|3] [server1:37813, server1:37815, = server2:54643, server2:54645], subgroups=3D[[server2:54643|2] [server2:54643, = server1:37813, server1:37815], [server2:54645|0] [server2:54645]] --->>Why this member didn't become the coord ? [13/02/2004 15:14:51.530] [INFO] MERGE2.FindSubgroups.run(): merge task started [13/02/2004 15:14:51.539] [ERROR] GMS.installView(): received view <=3D current view; discarding it ! (current vid: [server1:37813|3], new vid: [server1:37813|3]) [13/02/2004 15:15:00.780] [INFO] PING.down(): FIND_INITIAL_MBRS [13/02/2004 15:15:00.781] [INFO] PING.up(): received GET_MBRS_REQ from server1:37813, returning [PING: type=3DGET_MBRS_RSP, arg=3D[own_addr=3Dserver1:37813, coord_addr=3Dserver1:37813]] [13/02/2004 15:15:00.782] [INFO] PING.up(): received = FIND_INITAL_MBRS_RSP, rsp=3D[own_addr=3Dserver1:37813, coord_addr=3Dserver1:37813] [13/02/2004 15:15:00.784] [INFO] PING.up(): received = FIND_INITAL_MBRS_RSP, rsp=3D[own_addr=3Dserver2:54645, coord_addr=3Dserver1:37813] [13/02/2004 15:15:00.784] [INFO] PING.up(): received = FIND_INITAL_MBRS_RSP, rsp=3D[own_addr=3Dserver2:54643, coord_addr=3Dserver1:37813] [13/02/2004 15:15:00.785] [INFO] PING.up(): received = FIND_INITAL_MBRS_RSP, rsp=3D[own_addr=3Dserver1:37815, coord_addr=3Dserver1:37813] [13/02/2004 15:15:00.785] [INFO] PING.down(): initial mbrs are [[own_addr=3Dserver1:37813, coord_addr=3Dserver1:37813], [own_addr=3Dserver2:54645, coord_addr=3Dserver1:37813], = [own_addr=3Dserver2:54643, coord_addr=3Dserver1:37813], [own_addr=3Dserver1:37815, coord_addr=3Dserver1:37813]] [13/02/2004 15:15:00.786] [INFO] MERGE2.FindSubgroups.run(): initial_mbrs=3D[[own_addr=3Dserver1:37813, coord_addr=3Dserver1:37813], [own_addr=3Dserver2:54645, coord_addr=3Dserver1:37813], = [own_addr=3Dserver2:54643, coord_addr=3Dserver1:37813], [own_addr=3Dserver1:37815, coord_addr=3Dserver1:37813]] [13/02/2004 15:15:07.780] [INFO] PING.down(): FIND_INITIAL_MBRS [13/02/2004 15:15:07.781] [INFO] PING.up(): received GET_MBRS_REQ from server1:37813, returning [PING: type=3DGET_MBRS_RSP, arg=3D[own_addr=3Dserver1:37813, coord_addr=3Dserver1:37813]] [13/02/2004 15:15:07.781] [INFO] PING.up(): received = FIND_INITAL_MBRS_RSP, rsp=3D[own_addr=3Dserver1:37813, coord_addr=3Dserver1:37813] [13/02/2004 15:15:07.783] [INFO] PING.up(): received = FIND_INITAL_MBRS_RSP, rsp=3D[own_addr=3Dserver2:54645, coord_addr=3Dserver1:37813] ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! <http://ads.osdn.com/?ad_id=3D1356&alloc_id=3D3438&op=3Dclick> http://ads.osdn.com/?ad_id=3D1356&alloc_id=3D3438&op=3Dclick _______________________________________________ javagroups-users mailing list jav...@li... <https://lists.sourceforge.net/lists/listinfo/javagroups-users> https://lists.sourceforge.net/lists/listinfo/javagroups-users |