[jboss-jira] [JBoss JIRA] Resolved: (JGRP-564) Unicast from within viewAccepted() callback throws exception in UNICAST

Bela Ban (JIRA) jira-events at lists.jboss.org
Tue Sep 4 11:03:13 EDT 2007


     [ http://jira.jboss.com/jira/browse/JGRP-564?page=all ]

Bela Ban resolved JGRP-564.
---------------------------

    Resolution: Done

Swapped lines 505-506 in GMS, without any negative effects on the rest of the code (e.g. FLUSH).

> Unicast from within viewAccepted() callback throws exception in UNICAST
> -----------------------------------------------------------------------
>
>                 Key: JGRP-564
>                 URL: http://jira.jboss.com/jira/browse/JGRP-564
>             Project: JGroups
>          Issue Type: Bug
>            Reporter: Bela Ban
>         Assigned To: Bela Ban
>             Fix For: 2.5.1, 2.6
>
>
> Unit test is UnicastUnitTest.testUnicastMessageInCallbackExistingMember(). Swapping lines 505 and 506 in GMS fixes the issue. Stack trace is below.
> The issue is that - since we propagate the new view up the stack first, then down - the viewAccepted() callback gets invoked first, before UNICAST can update its view (done when the new view is propagated down the stack).
> We need to investigate whether swapping lines 505 and 506 breaks JGRP-347
> 7:45:12,375 [WARN] [Incoming Thread,x,192.168.5.2:1959] JChannel.up(): failed calling viewAccepted() in receiver
> java.lang.RuntimeException: java.lang.IllegalArgumentException: 192.168.5.2:1961 is not a member of the group [192.168.5.2:1959] (enabled_members=[])
> 	at org.jgroups.tests.UnicastUnitTest$MyReceiver.viewAccepted(UnicastUnitTest.java:84)
> 	at org.jgroups.JChannel.up(JChannel.java:1099)
> 	at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:325)
> 	at org.jgroups.protocols.pbcast.STATE_TRANSFER.up(STATE_TRANSFER.java:151)
> 	at org.jgroups.protocols.FRAG2.up(FRAG2.java:197)
> 	at org.jgroups.protocols.FC.up(FC.java:414)
> 	at org.jgroups.protocols.pbcast.GMS.installView(GMS.java:505)
> 	at org.jgroups.protocols.pbcast.CoordGmsImpl.handleViewChange(CoordGmsImpl.java:449)
> 	at org.jgroups.protocols.pbcast.GMS.up(GMS.java:661)
> 	at org.jgroups.protocols.VIEW_SYNC.up(VIEW_SYNC.java:160)
> 	at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:234)
> 	at org.jgroups.protocols.UNICAST.up(UNICAST.java:263)
> 	at org.jgroups.protocols.pbcast.NAKACK.handleMessage(NAKACK.java:720)
> 	at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:546)
> 	at org.jgroups.protocols.BARRIER.up(BARRIER.java:122)
> 	at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:167)
> 	at org.jgroups.protocols.FD.up(FD.java:322)
> 	at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:298)
> 	at org.jgroups.protocols.MERGE2.up(MERGE2.java:145)
> 	at org.jgroups.protocols.Discovery.up(Discovery.java:247)
> 	at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1486)
> 	at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1435)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> 	at java.lang.Thread.run(Thread.java:619)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list