1 Reply Latest reply on May 20, 2004 3:53 PM by Adrian Brock

    JBoss JMS under disk mirroring

    javastu Newbie

      We have a situation where JBoss is stored under a read-only disk except for jboss-3.2.3/server/default/. That directory is symbolically linked to a default/ directory on a read-write disk. This read-write disk has a failover setup.

      We experienced a situation where the read-write disk space for jboss-3.2.3/server/default/ failed over to a redundant disk space. It took around 2 minutes for the failover to complete.

      When the failover was completed, the following two exceptions were seen in the server.log over and over again:

      2004-05-19 22:15:36,018 ERROR [org.jboss.mq.il.uil2.SocketManager] Failed to handle: org.jboss.mq.il.uil2.msgs.AddMsg17556937[msgType: m_addMessage, msgID: 116257, error: null]
      java.io.IOException: Client is not connected
      at org.jboss.mq.il.uil2.SocketManager.internalSendMessage(SocketManager.java:225)
      at org.jboss.mq.il.uil2.SocketManager.sendReply(SocketManager.java:208)
      at org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocketManagerHandler.java:87)
      at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:355)
      at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:377)
      at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:732)
      at java.lang.Thread.run(Thread.java:536)
      2004-05-19 22:15:37,020 WARN [org.jboss.mq.il.uil2.SocketManager] Failed to send error reply
      java.io.IOException: Client is not connected
      at org.jboss.mq.il.uil2.SocketManager.internalSendMessage(SocketManager.java:225)
      at org.jboss.mq.il.uil2.SocketManager.access$800(SocketManager.java:33)
      at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:363)
      at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:377)
      at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:732)
      at java.lang.Thread.run(Thread.java:536)

      We suspect that JBoss cannot recover from the disk failover. Once the access to the entire default/ directory was lost, the entire JBoss process seems to have become unstable.

      Can someone confirm whether our analysis is correct?

      Do you have any recommendations for JBoss recovery in case of disk failover?

        • 1. Re: JBoss JMS under disk mirroring
          Adrian Brock Master

          This messages says JBoss failed to handle a request, but in the mean time
          the client disconnected so it couldn't send the failure to the client.

          FYI: in 3.2.4 these messages are DEBUG not ERROR

          I don't know how your failover works, but UIL2 is configured to disconnect
          clients that don't communicate for 70 seconds. I changed this to 120 seconds
          in 3.2.4 to avoid false disconnections due to pings getting delayed because of paging
          or other intensive work starving the jms threads of cpu.