[
http://jira.jboss.com/jira/browse/JBMESSAGING-908?page=comments#action_12... ]
Tim Fox commented on JBMESSAGING-908:
-------------------------------------
Just to clarify:
Please ignore any earlier comments about adding a FK.
Every time we have seen this issue it has been due to the user using a non transacted data
store with JBM. JBM will only work with a transacted data store.
The most common example of this is using MySQL with the MyISAM table type which does not
fully support transactions. JBM only supports MySQL when using the InnoDB or NDB storage
engines.
MySQL on Linux fails to load server after failover
--------------------------------------------------
Key: JBMESSAGING-908
URL:
http://jira.jboss.com/jira/browse/JBMESSAGING-908
Project: JBoss Messaging
Issue Type: Bug
Reporter: Tim Fox
Assigned To: Tim Fox
Fix For: 1.4.0.CR2
Sometimes, after failover occurs and a server is restarted, the server start fails with:
java.lang.IllegalStateException: Did not load correct number of messages, wanted:1 but
got:0
at
org.jboss.messaging.core.PagingChannelSupport.processReferences(PagingChannelSupport.java:591)
at org.jboss.messaging.core.PagingChannelSupport.doLoad(PagingChannelSupport.java:518)
at
org.jboss.messaging.core.plugin.postoffice.cluster.LocalClusteredQueue.mergeIn(LocalClusteredQueue.java:243)
at
org.jboss.messaging.core.plugin.postoffice.cluster.DefaultClusteredPostOffice.performFailover(DefaultClusteredPostOffice.java:2169)
at
org.jboss.messaging.core.plugin.postoffice.cluster.DefaultClusteredPostOffice.nodeLeft(DefaultClusteredPostOffice.java:2031)
at
org.jboss.messaging.core.plugin.postoffice.cluster.DefaultClusteredPostOffice.access$1800(DefaultClusteredPostOffice.java:98)
at
org.jboss.messaging.core.plugin.postoffice.cluster.DefaultClusteredPostOffice$HandleViewAcceptedRunnable.run(DefaultClusteredPostOffice.java:2400)
at EDU.oswego.cs.dl.util.concurrent.QueuedExecutor$RunLoop.run(QueuedExecutor.java:89)
at java.lang.Thread.run(Thread.java:595
or similar.
Analysing logs it seems this is because when the server crashed previously it did so and
partially committed a transaction, i.e inserted the ref but not the message.
My suspicion is that this is because the MySQL configuration being used is setup to use
the non transaction myISAAM storage which has no transaction support. But this needs to
be verified.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira