You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Giampaolo Tranchida (JIRA)" <ji...@apache.org> on 2010/10/07 04:37:41 UTC

[jira] Commented: (AMQ-1999) XAException: POST COMMIT FAILED (NPE in Pure master/slave setup)

    [ https://issues.apache.org/activemq/browse/AMQ-1999?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=62413#action_62413 ] 

Giampaolo Tranchida commented on AMQ-1999:
------------------------------------------

I also run the same issue with 5.4.0 / 5.4.1 but with the jdbcAdapter (Oracle 11g) in stand alone server.

The main cause was because client application use XA Transaction Manager (jencks) and JMSTemplate without using TransactionTemplate or Spring annotation.

Use transactionManager.begin, send 1000 messages using JmsTemplate, wait more than 30 sec, and do a TransactionManager.commit.

The effect is that jmsTemplate create 1000 jms sessions that take long to commit, sometimes during the commit the NPE occur and only a part of message are really stored in database the
rest stay in cursor memory and lost at server restart.


> XAException: POST COMMIT FAILED (NPE in Pure master/slave setup)
> ----------------------------------------------------------------
>
>                 Key: AMQ-1999
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1999
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.2.0
>         Environment: Pure master/slave setup with 5.2.0-RC3
> java version "1.6.0_03"
> JBoss 4.0.5 GA
>            Reporter: Hans Bausewein
>            Assignee: Gary Tully
>             Fix For: 5.5.0
>
>         Attachments: AMQ-1999.patch
>
>
> On the master:
> 2008-11-10 18:34:17,001 [44.161.71:41260] WARN  XATransaction                  - POST COMMIT FAILED: 
> java.lang.NullPointerException
>         at org.apache.activemq.transaction.Transaction.fireAfterCommit(Transaction.java:87)
>         at org.apache.activemq.transaction.XATransaction.doPostCommit(XATransaction.java:110)
>         at org.apache.activemq.transaction.XATransaction.commit(XATransaction.java:65)
>         at org.apache.activemq.broker.TransactionBroker.commitTransaction(TransactionBroker.java:170)
>         at org.apache.activemq.broker.BrokerFilter.commitTransaction(BrokerFilter.java:94)
>         at org.apache.activemq.broker.BrokerFilter.commitTransaction(BrokerFilter.java:94)
>         at org.apache.activemq.broker.MutableBrokerFilter.commitTransaction(MutableBrokerFilter.java:101)
>         at org.apache.activemq.broker.ft.MasterBroker.commitTransaction(MasterBroker.java:285)
>         at org.apache.activemq.broker.MutableBrokerFilter.commitTransaction(MutableBrokerFilter.java:101)
>         at org.apache.activemq.broker.TransportConnection.processCommitTransactionOnePhase(TransportConnection.java:413)
>         at org.apache.activemq.command.TransactionInfo.visit(TransactionInfo.java:100)
>         at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:305)
>         at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
>         at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
>         at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)
>         at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
>         at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
>         at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:203)
>         at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:185)
>         at java.lang.Thread.run(Thread.java:619)
> 2008-11-10 18:34:17,005 [44.161.71:41260] DEBUG Service                        - Error occured while processing sync command: javax.transaction.xa.XAException: POST COMMIT FAILED
> javax.transaction.xa.XAException: POST COMMIT FAILED
>         at org.apache.activemq.transaction.XATransaction.doPostCommit(XATransaction.java:115)
>         at org.apache.activemq.transaction.XATransaction.commit(XATransaction.java:65)
>         at org.apache.activemq.broker.TransactionBroker.commitTransaction(TransactionBroker.java:170)
>         at org.apache.activemq.broker.BrokerFilter.commitTransaction(BrokerFilter.java:94)
>         at org.apache.activemq.broker.BrokerFilter.commitTransaction(BrokerFilter.java:94)
>         at org.apache.activemq.broker.MutableBrokerFilter.commitTransaction(MutableBrokerFilter.java:101)
>         at org.apache.activemq.broker.ft.MasterBroker.commitTransaction(MasterBroker.java:285)
>         at org.apache.activemq.broker.MutableBrokerFilter.commitTransaction(MutableBrokerFilter.java:101)
>         at org.apache.activemq.broker.TransportConnection.processCommitTransactionOnePhase(TransportConnection.java:413)
>         at org.apache.activemq.command.TransactionInfo.visit(TransactionInfo.java:100)
>         at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:305)
>         at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
>         at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
>         at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)
>         at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
>         at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
>         at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:203)
>         at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:185)
>         at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
>         at org.apache.activemq.transaction.Transaction.fireAfterCommit(Transaction.java:87)
>         at org.apache.activemq.transaction.XATransaction.doPostCommit(XATransaction.java:110)
>         ... 18 more
> 2008-11-10 18:34:17,100 [44.161.71:41260] DEBUG Service                        - Error occured while processing sync command: javax.transaction.xa.XAException: Transaction 'XID:257:7370656e63652e6d61726b657478732
> e636f6d2f3137390000000000000000000000000000000000000000000000000000000000000000000000000000000000:310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
> 00000000000000' has not been started.
> javax.transaction.xa.XAException: Transaction 'XID:257:7370656e63652e6d61726b657478732e636f6d2f3137390000000000000000000000000000000000000000000000000000000000000000000000000000000000:3100000000000000000000000000
> 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' has not been started.
>         at org.apache.activemq.broker.TransactionBroker.getTransaction(TransactionBroker.java:266)
>         at org.apache.activemq.broker.TransactionBroker.rollbackTransaction(TransactionBroker.java:174)
>         at org.apache.activemq.broker.BrokerFilter.rollbackTransaction(BrokerFilter.java:122)
>         at org.apache.activemq.broker.BrokerFilter.rollbackTransaction(BrokerFilter.java:122)
>         at org.apache.activemq.broker.MutableBrokerFilter.rollbackTransaction(MutableBrokerFilter.java:129)
>         at org.apache.activemq.broker.ft.MasterBroker.rollbackTransaction(MasterBroker.java:271)
>         at org.apache.activemq.broker.MutableBrokerFilter.rollbackTransaction(MutableBrokerFilter.java:129)
>         at org.apache.activemq.broker.TransportConnection.processRollbackTransaction(TransportConnection.java:429)
>         at org.apache.activemq.command.TransactionInfo.visit(TransactionInfo.java:104)
>         at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:305)
>         at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
>         at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
>         at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)
>         at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
>         at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
>         at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:203)
>         at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:185)
>         at java.lang.Thread.run(Thread.java:619)
> On the slave:
> 2008-11-10 18:34:17,104 [.cluster#1] ERROR Service                        - Async error occurred: javax.transaction.xa.XAException: Transaction 'XID:257:7370656e63652e6d61726b657478732e636f6d2f31373900000000
> 00000000000000000000000000000000000000000000000000000000000000000000000000:31000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' has not
>  been started.
> javax.transaction.xa.XAException: Transaction 'XID:257:7370656e63652e6d61726b657478732e636f6d2f3137390000000000000000000000000000000000000000000000000000000000000000000000000000000000:3100000000000000000000000000
> 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' has not been started.
>         at org.apache.activemq.broker.TransactionBroker.getTransaction(TransactionBroker.java:266)
>         at org.apache.activemq.broker.TransactionBroker.rollbackTransaction(TransactionBroker.java:174)
>         at org.apache.activemq.broker.BrokerFilter.rollbackTransaction(BrokerFilter.java:122)
>         at org.apache.activemq.broker.BrokerFilter.rollbackTransaction(BrokerFilter.java:122)
>         at org.apache.activemq.broker.MutableBrokerFilter.rollbackTransaction(MutableBrokerFilter.java:129)
>         at org.apache.activemq.broker.TransportConnection.processRollbackTransaction(TransportConnection.java:429)
>         at org.apache.activemq.command.TransactionInfo.visit(TransactionInfo.java:104)
>         at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:305)
>         at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
>         at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:104)
>         at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
>         at org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:205)
>         at org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
>         at org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.