users@glassfish.java.net

JMS Calls Throw JTS5067: Unexpected error occurred in commit

From: <forums_at_java.net>
Date: Thu, 30 Aug 2012 13:37:50 -0500 (CDT)

I am on glassfish 3.1 build 43. We use a couple of JMS Queues that worked all
these days, and suddenly, they started throwing these errors
[#|2012-08-30T12:53:57.608-0600|WARNING|glassfish3.1|javax.enterprise.system.core.transaction.com.sun.jts.jtsxa|_ThreadID=153;_ThreadName=Thread-1;|JTS5067:
Unexpected error occurred in commit java.lang.IllegalStateException: File not
synced. You must call Iterator to play back log file. at
com.sun.messaging.jmq.util.txnlog.file.FileTransactionLogWriter.writeRecord(FileTransactionLogWriter.java:841)
at
com.sun.messaging.jmq.util.txnlog.file.FileTransactionLogWriter.write(FileTransactionLogWriter.java:824)
at
com.sun.messaging.jmq.jmsserver.persist.file.TransactionLogManager.writeTransactionEvent(TransactionLogManager.java:779)
at
com.sun.messaging.jmq.jmsserver.persist.file.TransactionLogManager.logTxn(TransactionLogManager.java:739)
at
com.sun.messaging.jmq.jmsserver.persist.file.FileStore.logTxn(FileStore.java:2480)
at
com.sun.messaging.jmq.jmsserver.data.handlers.TransactionHandler.logTxn(TransactionHandler.java:1480)
at
com.sun.messaging.jmq.jmsserver.data.handlers.TransactionHandler.doCommit(TransactionHandler.java:1056)
at
com.sun.messaging.jmq.jmsserver.data.handlers.TransactionHandler.doCommit(TransactionHandler.java:941)
at
com.sun.messaging.jmq.jmsserver.data.protocol.ProtocolImpl.commitTransaction(ProtocolImpl.java:700)
at
com.sun.messaging.jmq.jmsserver.service.imq.IMQDirectService.commitTransaction(IMQDirectService.java:1746)
at
com.sun.messaging.jms.ra.DirectXAResource.commit(DirectXAResource.java:221)
at
com.sun.jts.jtsxa.OTSResourceImpl.commit_one_phase(OTSResourceImpl.java:174)
at
com.sun.jts.CosTransactions.RegisteredResources.commitOnePhase(RegisteredResources.java:1588)
at
com.sun.jts.CosTransactions.TopCoordinator.commitOnePhase(TopCoordinator.java:2969)
at
com.sun.jts.CosTransactions.CoordinatorTerm.commit(CoordinatorTerm.java:321)
at com.sun.jts.CosTransactions.TerminatorImpl.commit(TerminatorImpl.java:250)
at com.sun.jts.CosTransactions.CurrentImpl.commit(CurrentImpl.java:623) at
com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:319)
at
com.sun.enterprise.transaction.jts.JavaEETransactionManagerJTSDelegate.commitDistributedTransaction(JavaEETransactionManagerJTSDelegate.java:173)
at
com.sun.enterprise.transaction.JavaEETransactionManagerSimplified.commit(JavaEETransactionManagerSimplified.java:873)
at
com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:5115)
at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4880)
at
com.sun.ejb.containers.MessageBeanContainer.afterMessageDeliveryInternal(MessageBeanContainer.java:1207)
at
com.sun.ejb.containers.MessageBeanContainer.afterMessageDelivery(MessageBeanContainer.java:1180)
at
com.sun.ejb.containers.MessageBeanListenerImpl.afterMessageDelivery(MessageBeanListenerImpl.java:86)
at
com.sun.enterprise.connectors.inbound.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:143)
at $Proxy275.afterDelivery(Unknown Source) at
com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:328) at
com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:114) at
com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:497)
at
com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:540)
|#] And this is the SEVERE error that shows up every time we call the JMS
queues.
[#|2012-08-30T12:53:57.609-0600|SEVERE|glassfish3.1|javax.enterprise.system.core.transaction.com.sun.jts.CosTransactions|_ThreadID=153;_ThreadName=Thread-1;|JTS5031:
Exception [org.omg.CORBA.INTERNAL: vmcid: 0x0 minor code: 0 completed: Maybe]
on Resource [commit one phase] operation.|#]
[#|2012-08-30T12:53:57.610-0600|WARNING|glassfish3.1|javax.enterprise.system.container.ejb.mdb.com.sun.ejb.containers|_ThreadID=153;_ThreadName=Thread-1;|MDB00037:
[ps:InvalidateMessageHandler]: Message-driven bean invocation exception:
[javax.ejb.EJBException: Unable to complete container-managed
transaction.]|#] Our code has not changed in the last 7-8 months, and it
works fine on our AT servers, but it fails on Production. This is the code
that calls the Queues. javax.jms.Connection connection =
connectionFactory.createConnection(); Session session =
connection.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageProducer
messageProducer = session.createProducer(queue); TextMessage msg =
session.createTextMessage(); msg.setText("Manual Call");
messageProducer.send(msg); connection.close(); Can anyone let me know if they
encountered these errors, and if they know what to do?

--
[Message sent by forum member 'rdarbh']
View Post: http://forums.java.net/node/889711