[jboss-user] [Remoting] - Re: MulticastDetector crashes my network

ron.sigal@jboss.com do-not-reply at jboss.com
Tue Aug 5 00:25:18 EDT 2008


Hi Santiago,

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
  |          ...
  | 

-Ron


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 mailing list