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 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 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:127.0.0.1:4055]: server side fail over is now complete 16:12:16,832 ERROR [ExceptionUtil] SessionEndpoint 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.