activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <j...@apache.org>
Subject [jira] Updated: (AMQ-1999) XAException: POST COMMIT FAILED (NPE in Pure master/slave setup)
Date Tue, 18 Nov 2008 11:27:05 GMT

     [ https://issues.apache.org/activemq/browse/AMQ-1999?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Gary Tully updated AMQ-1999:
----------------------------

    Attachment: AMQ-1999.patch

>From code inspection, there is a synchronisation issue in a transaction between async
send and transaction completion when there is a duplicate message delivery.
The following patch, which ensures that a duplicate is detected early, will remove the NPE.
Can you build trunk with this patch to validate?

If this works, where does the duplicate message come from is the next question?

> 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
>         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.


Mime
View raw message