Author |
Message
|
atoms |
Posted: Fri Jun 10, 2005 4:57 am Post subject: Problem with error: AMQ7469 Please help! |
|
|
Apprentice
Joined: 10 Jun 2005 Posts: 27
|
Hi!
I'm completely new to MQ and I have run into a problem that I'm not able to solve on my own. I'm running a Websphere Commerce application on IBM WAS that is communicating with back-end systems through Websphere MQ. The logfile on my application server (WAS) is filling up with exceptions like this one (there are a few others as well):
CMN0409E: The following error occurred during processing: com.ibm.ejs.cm.exception.TransactionAbortedException: JTS/JTA transaction has been aborted.com.ibm.ejs.cm.exception.TransactionAbortedException: JTS/JTA transaction has been aborted at com.ibm.ejs.cm.pool.ConnectO.enlist(ConnectO.java(Compiled Code)) at com.ibm.ejs.cm.pool.ConnectO.allocate(ConnectO.java(Compiled Code)) at com.ibm.ejs.cm.pool.ConnectionPool.allocateConnForTransaction(ConnectionPool.java(Compiled Code)) at com.ibm.ejs.cm.pool.ConnectionPool.findConnectionForTx(ConnectionPool.java(Compiled Code)) at com.ibm.ejs.cm.pool.ConnectionPool.allocateConnection(ConnectionPool.java(Compiled Code)) at com.ibm.ejs.cm.pool.ConnectionPool.getConnection(ConnectionPool.java(Inlined Compiled Code)) at com.ibm.ejs.cm.DataSourceImpl$1.run(DataSourceImpl.java(Compiled Code)) at java.security.AccessController.doPrivileged(Native Method) at com.ibm.ejs.cm.DataSourceImpl.getConnection(DataSourceImpl.java(Compiled Code)) at com.ibm.ejs.cm.DataSourceImpl.getConnection(DataSourceImpl.java(Compiled Code)) at com.ibm.commerce.scheduler.SchedulerDataAccessObject.getDataSourceConnection(SchedulerDataAccessObject.java(Inlined Compiled Code)) at com.ibm.commerce.scheduler.SchedulerCheckForWork.processWaitingJobs(SchedulerCheckForWork.java(Compiled Code)) at com.ibm.commerce.scheduler.SchedulerCheckForWork.process(SchedulerCheckForWork.java(Compiled Code)) at com.ibm.commerce.scheduler.SchedulerSecurityPriviledgedAction.run(SchedulerSecurityPriviledgedAction.java:59) at com.ibm.commerce.scheduler.SchedulerCheckForWork.run(SchedulerCheckForWork.java:95)
I assumed this had to do with MQ so I checked the AMQERR01.LOG and found the following error:
2005-06-10 13:15:31
AMQ7469: Transactions rolled back to release log space.
EXPLANATION:
The log space for the queue manager is becoming full. One or more long-running
transactions have been rolled back to release log space so that the queue
manager can continue to process requests.
ACTION:
Try to ensure that the duration of your transactions is not excessive. Consider
increasing the size of the log to allow transactions to last longer before the
log starts to become full.
I suppose these errors are related, but I'm not sure what is going wrong here. If someone has a clue I would greatly appreciate any help you could give me! Thanks! |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Jun 10, 2005 5:22 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Either the queue manager needs more primary/secondary log files assigned to it, or the Commerce app has a bug in it and is not committing the MQ messages - causing the logs to fill up with pending transactions.
Start by altering the number of primary logs on the queue manager and recycling it. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
atoms |
Posted: Fri Jun 10, 2005 6:57 am Post subject: |
|
|
Apprentice
Joined: 10 Jun 2005 Posts: 27
|
Hi Jeff!
Many thanks for you reply! I think I'll try your suggested solution tomorrow, when there is a lot less traffic on the server.
By the way, this site seems like a great place for a newbie like me! I just wish I had found it earlier, when I was setting up MQ...
Cheers! / A |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Jun 10, 2005 8:05 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
As well if you are running with linear logging you might want to run rcdmqimg to consolidate all logging needed in contiguous blocks and free older log files for offloading. Particularly helpful with long running transactions. Should be executed at least once a day.
Enjoy  |
|
Back to top |
|
 |
atoms |
Posted: Sat Jun 11, 2005 2:18 am Post subject: |
|
|
Apprentice
Joined: 10 Jun 2005 Posts: 27
|
Thanks for the advice saper, but I'm currently using circular logging. I raised the number of primary logs from 3 to 15 but when I check the "MQInstallDirectory\log\QMgrName\active\" directory I only see four log files (named S00000000.LOG etc). I suppose this is the directory where transaction log files are held? So MQ will only create more log files as they are needed up to the maximum number I have set?
It seems as if I still have problems tough, because as soon as I start up my servers I get a lot of these two exceptions in the appserver log:
Messaging system cannot commit a JMS Session for QueueConnectionFactory null. Error: javax.jms.IllegalStateException: Session closed
CMN9907E: A resource exception occurred during processing: "Messaging system cannot commit a JMS Session for QueueConnectionFactory null. Error: javax.jms.IllegalStateException: Session closed". com.ibm.commerce.messaging.adapters.jca.exception.WcResourceException: Messaging system cannot commit a JMS Session for QueueConnectionFactory null. Error: javax.jms.IllegalStateException: Session closed at com.ibm.commerce.messaging.adapters.jcajms.JCAJMSLocalTransaction.commit(JCAJMSLocalTransaction.java:93) at com.ibm.commerce.messaging.listener.TransportAdapterSerialDispatcher.process(TransportAdapterSerialDispatcher.java(Compiled Code)) at com.ibm.commerce.messaging.listener.TransportAdapterSecurityPriviledgeAction.run(TransportAdapterSecurityPriviledgeAction.java:55) at com.ibm.commerce.messaging.listener.TransportAdapterSerialDispatcher.run(TransportAdapterSerialDispatcher.java:102)
It doesn't look good... Can it be that my appserver is not configured properly? |
|
Back to top |
|
 |
fjb_saper |
Posted: Sat Jun 11, 2005 9:33 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Well,...
I would have raised the secondary and not the primaries. The secondaries get deleted when no longer needed. The primaries will always be there and kind of block the space.
As for the other stuff... My guess is you are trying to do a session commit after the session close. So the session is in an illegal state for the operation.
It would help if we could see some of the code leading to the error.
Enjoy  |
|
Back to top |
|
 |
kristinneibuhr@bc.com |
Posted: Wed Jun 22, 2005 11:43 am Post subject: I'm having the same problem... |
|
|
Newbie
Joined: 16 Sep 2004 Posts: 5
|
and I don't know how to raise the secondary logs. I was also hoping for some clarification on the rcdmqimg command. |
|
Back to top |
|
 |
|