[
https://jira.jboss.org/jira/browse/JBMESSAGING-1657?page=com.atlassian.ji...
]
Andy Goldstein commented on JBMESSAGING-1657:
---------------------------------------------
FYI this is not limited to co-located JBoss Messaging servers & JMS client. We've
had this happen when JBoss Messaging was on 1 machine, and the client was on another
machine.
Our test case was slightly different from Justin's (which aligns with #3 above):
-Start test client connecting to node2
-Observe client log filling up with "."
-Drop JBoss running on node1 (using kill -9 <pid>)
-Client fails with org.jboss.jms.exception.MessagingJMSException
-Observe java.lang.IllegalStateException on node2
The difference is we had our JmsTest client connecting to the 2nd server instead of the
1st. So the test client was always trying to connect to node2, and when we killed node1,
the next attempt by the client to connect to node2 that immediately followed node1's
death failed (presumably for the reason stated in #2 above).
IllegalStateException upon cluster fail-over
--------------------------------------------
Key: JBMESSAGING-1657
URL:
https://jira.jboss.org/jira/browse/JBMESSAGING-1657
Project: JBoss Messaging
Issue Type: Bug
Affects Versions: 1.4.0.SP3.CP05
Reporter: Justin Bertram
Assignee: Howard Gao
Attachments: 127.0.0.1.log, 127.0.0.2.log, client.log, JmsTest.java
I set up two cluster nodes like so:
1) unzipped fresh JBoss EAP 4.3 CP04
2) renamed
<JBOSS_HOME>/server/default/deploy/jboss-messaging.sar/hsqldb-persistence-service.xml
to hsqldb-persistence-service.xml.rej
3) copied <JBOSS_HOME>/docs/examples/jms/mysql-persistence-service.xml to
<JBOSS_HOME>/server/default/deploy/jboss-messaging.sar
4) Modified the "Clustered" attribute to be "true" in
<JBOSS_HOME>/server/default/deploy/jboss-messaging.sar/mysql-persistence-service.xml
5) copied <JBOSS_HOME>/docs/examples/jca/mysql-ds.xml to
<JBOSS_HOME>/server/default/deploy and changed the jndi-name to
"DefaultDS" and pointed it at my local MySQL
6) copied MySQL driver to <JBOSS_HOME>/server/default/lib
7) copied jgroups.jar from <JBOSS_HOME>/server/all/lib to
<JBOSS_HOME>/server/default/lib
8) copied <JBOSS_HOME> to <JBOSS_HOME2>
9) Start first instance with "./run.sh -c default -b 127.0.0.1
-Djboss.messaging.ServerPeerID=1"
10) Start second instance with "./run.sh -c default -b 127.0.0.2
-Djboss.messaging.ServerPeerID=2"
Then I ran the test (which is attached as JmsTest.java)
-Start test client connecting to 127.0.0.1
-Observe client log filling up with "."
-Drop JBoss running on 127.0.0.1 (using kill -9 <pid>)
-Client fails with org.jboss.jms.exception.MessagingJMSException (see log attached as
client.log)
-Observe java.lang.IllegalStateException on the 127.0.0.2 (attached as 127.0.0.2.log)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira