[jboss-user] [Remoting] - Re: MulticastDetector crashes my network
do-not-reply at jboss.com
Tue Aug 5 00:25:18 EDT 2008
I think I see what is happening. As I commented in JBREM-991,
anonymous wrote :
| It seems that the problem is a combination of
| 1) the fact that listen() calls heartbeat() upon receiving something other than a Detection, and
| 2) the fact that when heartbeat() creates a null Detection (due to the fact that there are no servers running in the JVM), it sends an empty packet.
| So heartbeat() sends a null Detection, listen() receives it and calls heartbeat(), which sends out a Detection, etc. The problem is that, even though the timing of heartbeat() running in the Heartbeat TimerTask is regulated, listen() is not - it responds immediately upon reading something from the multicast socket, and the response can include a call to heartbeat.
| MulticastDetector.heartbeat() has been changed so that if it creates a null Detection, it just returns instead of sending it.
If you want to test my fix, it's just the insertion of two lines in org.jboss.remoting.detection.multicast.MulticastDetector.heartbeat()
| if(socket != null)
| Detection msg = createDetection();
| if (msg == null) // <== inserted
| return; // <== inserted
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4168612#4168612
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4168612
More information about the jboss-user