2 Replies Latest reply on Jan 3, 2007 4:48 AM by Hendra Sasmita

    [JBoss Messaging 1.2.0 Beta1] Failover Problem and Question

    Hendra Sasmita Newbie

      Hi all,
      After testing with failover features in JBoss Messaging 1.2.0 Beta1, I have some question:

      1. When I tried to shut down one server, the messages in that server are not failed over another server node. I always get this message on the server:

      "[ServerPeer] ServerPeer[1] already waited long enough for failover to start, giving up"

      Is it correct behaviour that the messages are not failed over when I shut down the server (failed over only when the server is crash)?

      2. I created a test application which is simpler version of queue-failover example (Only one file which create message producer and consumer. Producer sends 2 message, one is consumed immediately, while the others is consumed after one server is killed and the message is failed over another node)
      However the exception that the client receives is different than one from the example.

      My client get this exception after node server is killed:
      [java] java.rmi.UnmarshalException: Error unmarshaling return header; nested exception is:
      [java] java.net.SocketException: Connection reset

      While in the queue-failover example, I get this message:
      [java] 16:24:02,397 INFO @Thread-3 [HAAspect] HAAspect.ClusteredClientConnectionFactoryDelegate[1] completed client-side failover

      The problem is that my application cannot be closed, unless by using forced method (ctrl-c). The situation is like when I forget to close connection.
      Part of code that make this problem is killActiveNode() method, which I made the same as in the example.

      Could anybody tell me which part in the queue-failover example that provide the HAAspect message?

      3. After several test, the failover node usually fails to deliver the messages to the client. Some exception lines in the server side are :
      16:11:50,414 INFO [PagingChannelSupport] Channel 207 loading 11 references
      16:11:50,414 INFO [DefaultClusteredPostOffice] ClusteredPostOffice[1:Clustered JMS:]: server side fail over is now complete
      16:12:16,832 ERROR [ExceptionUtil] SessionEndpoint[12] acknowledge [5c4o13i-rntlez-ewgfiqmp-1-ewggmz7k-r]
      javax.jms.IllegalStateException: Cannot find delivery to acknowledge: 2

      So, it seems pulling the messages from failed node sucessfully. But the messages is not delivered to the client. The client itself gets many exceptions

      After I get this exception, I need to restart the failover node.
      Is it bug or is there something that I should do with the configuration files?


      Btw, I am using JBoss AS 4.0.5 G.A, with MySQL 5.0.27

      Thank you for your time reading this.