5 Replies Latest reply on Aug 22, 2005 9:26 AM by ccaprar

    Anyone seen this before?

    teknokrat

      I just checked my test cluster after a couple of days absence and found this message filling up 130MB of log files!!

      2005-08-12 11:15:39,698 ERROR [org.jgroups.protocols.UDP] exception=java.net.SocketException: The message is larger than the maximum supported by the underlying transport: Datagram send failed, msg=[dst: shlnbp03:1928 (additional data: 16 bytes), src: shlnbp03:1133 (additional data: 16 bytes) (3 headers), size = 0 bytes], mcast_addr=228.1.2.3:45566

      The other nodes were alright. It went away after i restarted jboss and now everything appears fine. This on jboss 4.02 on Java 5 on Windows 2003 Server.

      Anyone know what this is all about? Is this a bug?

      thanks

        • 1. Re: Anyone seen this before?
          belaban

          Hmm, this is strange. This is emitted by te datagramsocket's send() method, when a datagram packet is too big (usually bigger than 65K).
          But your message is small, the payload is *zero* bytes !
          Can you do the following ? Go into org.jgroups.protocols.UDP and modify send() (I'm assuming JGroups 2.2.7), see code below. This is already in 2.2.9 (currently in CVS). This should print out the size of the *marshalled* buffer in case of an exception. If this doesn't help, you can always set a breakpoint in this code.

          Hope this helps !

          void send(Message msg) throws Exception {
           IpAddress dest=(IpAddress)msg.getDest();
           byte[] buf=messageToBuffer(msg);
          
           try {
           doSend(buf, dest.getIpAddress(), dest.getPort());
           }
           catch(Exception ex) {
           StringBuffer sb=new StringBuffer("failed sending message to " + dest);
           if(buf == null)
           sb.append(", null buffer");
           else
           sb.append(", length=" + buf.length + " bytes");
           Exception tmp=new Exception(sb.toString() + buf, ex);
           throw tmp;
           }
           }



          • 2. Re: Anyone seen this before?
            belaban

            Another thing to try out is JGroups 2.2.8: this is API-compatible with 2.2.7, but you'll need to upgrade all of the node in the *same* cluster; I don't support mixed 2.2.7 and 2.2.8 clusters. I tested that 2.2.8 works ith JBoss 4.0.x and 3.2.x though.

            • 3. Re: Anyone seen this before?
              teknokrat

              I have not seen a repeat of the problem so I am going to leave thing alone;) What version of jgroups will be incorporated into jboss 4.03?

              • 4. Re: Anyone seen this before?
                belaban

                2.2.7.

                2.2.8 is binry-incompatible with 2.2.7, so we want to upgrade JBoss in 4.1.x and 3.3.x (if the latter ever occurs).

                However, I have tested 2.2.8 with both 3.2.7 and 4.0.2/4.0.3, and it works.

                • 5. Re: Anyone seen this before?
                  ccaprar

                  I am just having the same problem. Checked the logs of one of the cluster nodes (where we have some active HA services) and it is full of the message:

                  15:06:05,687 ERROR [UDP] exception=java.net.SocketException: The message is larger than the maximum supported by the underlying transport: Datagram send failed, msg=[dst: OTO:3795 (additional data: 20 bytes), src: OTO:3688 (additional data: 20 bytes) (3 headers), size = 0 bytes], mcast_addr=228.1.2.3:45566

                  We are running JBoss 4.0.1 SP1. Any idea what might cause this?