ActiveMQ
  1. ActiveMQ
  2. AMQ-1999

XAException: POST COMMIT FAILED (NPE in Pure master/slave setup)

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 5.2.0
    • Fix Version/s: 5.x
    • Component/s: Broker
    • Labels:
      None
    • Environment:

      Pure master/slave setup with 5.2.0-RC3
      java version "1.6.0_03"
      JBoss 4.0.5 GA

      Description

      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)

        Activity

        Hide
        Giampaolo Tranchida added a comment -

        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.

        Show
        Giampaolo Tranchida added a comment - 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.
        Hide
        Dan Mihai Dumitriu added a comment -

        I also just ran into this issue, while testing the Progress (Iona) build of FUSE version 5.3.0.1. I am also using MasterSlave setup, with the amqPersistenceAdapter configured to syncOnWrite. What I am actually doing is using XA with 2 resources: the AMQ broker, and an MS SQL database, via the JTDS driver. The JTA TM is SimpleJTA, which I've modified somewhat.

        Anyone have a solution for this, or is it still unresolved? Does anyone out there [successfully] use XA with MasterSlave?

        ERROR MasterBroker - Slave Failed
        javax.transaction.xa.XAException: Transaction 'XID:471014666:6d79544d32202020202020202020202020202020202020202020202020202020000001210cd7b658000001210cd8cd95000
        000000000001f:00000001' has not been started.
        at org.apache.activemq.broker.TransactionBroker.getTransaction(TransactionBroker.java:266)
        at org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:190)
        at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74)
        at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74)
        at org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:85)
        at org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:461)
        at org.apache.activemq.command.MessageAck.visit(MessageAck.java:205)
        at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:308)
        at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:182)
        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:204)
        at org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
        at org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
        WARN Service - Async error occurred: javax.transaction.xa.XAException: Transaction 'XID:471014666:6d79544d322020202020202020202020202020
        20202020202020202020202020000001210cd7b658000001210cd8cd95000000000000001f:00000001' has not been started.
        javax.transaction.xa.XAException: Transaction 'XID:471014666:6d79544d32202020202020202020202020202020202020202020202020202020000001210cd7b658000001210cd8cd95000
        000000000001f:00000001' has not been started.
        at org.apache.activemq.broker.TransactionBroker.getTransaction(TransactionBroker.java:266)
        at org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:190)
        at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74)
        at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74)
        at org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:85)
        at org.apache.activemq.broker.ft.MasterBroker.acknowledge(MasterBroker.java:357)
        at org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:85)
        at org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:461)
        at org.apache.activemq.command.MessageAck.visit(MessageAck.java:205)
        at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:308)
        at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:182)
        at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
        at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
        at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:210)
        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)

        Show
        Dan Mihai Dumitriu added a comment - I also just ran into this issue, while testing the Progress (Iona) build of FUSE version 5.3.0.1. I am also using MasterSlave setup, with the amqPersistenceAdapter configured to syncOnWrite. What I am actually doing is using XA with 2 resources: the AMQ broker, and an MS SQL database, via the JTDS driver. The JTA TM is SimpleJTA, which I've modified somewhat. Anyone have a solution for this, or is it still unresolved? Does anyone out there [successfully] use XA with MasterSlave? ERROR MasterBroker - Slave Failed javax.transaction.xa.XAException: Transaction 'XID:471014666:6d79544d32202020202020202020202020202020202020202020202020202020000001210cd7b658000001210cd8cd95000 000000000001f:00000001' has not been started. at org.apache.activemq.broker.TransactionBroker.getTransaction(TransactionBroker.java:266) at org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:190) at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74) at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74) at org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:85) at org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:461) at org.apache.activemq.command.MessageAck.visit(MessageAck.java:205) at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:308) at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:182) 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:204) at org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98) at org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36) WARN Service - Async error occurred: javax.transaction.xa.XAException: Transaction 'XID:471014666:6d79544d322020202020202020202020202020 20202020202020202020202020000001210cd7b658000001210cd8cd95000000000000001f:00000001' has not been started. javax.transaction.xa.XAException: Transaction 'XID:471014666:6d79544d32202020202020202020202020202020202020202020202020202020000001210cd7b658000001210cd8cd95000 000000000001f:00000001' has not been started. at org.apache.activemq.broker.TransactionBroker.getTransaction(TransactionBroker.java:266) at org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:190) at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74) at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74) at org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:85) at org.apache.activemq.broker.ft.MasterBroker.acknowledge(MasterBroker.java:357) at org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:85) at org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:461) at org.apache.activemq.command.MessageAck.visit(MessageAck.java:205) at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:308) at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:182) at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68) at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:210) 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)
        Hide
        Gary Tully added a comment -

        Check out the debug trace statement that is moved around in the patch, this should be present in the log.
        org.apache.activemq.broker.TransactionBroker
        LOG.debug("IGNORING duplicate message " + message);

        If you can modify the StandaloneApp to reproduce with XA transactions I will have a look.

        Show
        Gary Tully added a comment - Check out the debug trace statement that is moved around in the patch, this should be present in the log. org.apache.activemq.broker.TransactionBroker LOG.debug("IGNORING duplicate message " + message); If you can modify the StandaloneApp to reproduce with XA transactions I will have a look.
        Hide
        Hans Bausewein added a comment -

        The stand-alone application should have XA transactions added to reproduce the problem.

        Is there something I can check in the logs?

        I wanted to include logs, but the master log was rolled over already. I should increase the maximum size or maximum number of files.
        I still have the ActiveMQ slave log (DEBUG level) and the JBoss logs.

        Show
        Hans Bausewein added a comment - The stand-alone application should have XA transactions added to reproduce the problem. Is there something I can check in the logs? I wanted to include logs, but the master log was rolled over already. I should increase the maximum size or maximum number of files. I still have the ActiveMQ slave log (DEBUG level) and the JBoss logs.
        Hide
        Gary Tully added a comment -

        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?

        Show
        Gary Tully added a comment - 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?
        Hide
        Gary Tully added a comment -

        Hans, reproducing is causing a problem.

        In an effort to reproduce with no intervention and with master slave I added the following code to the StandalonApp but it does not reproduce the problem.

        7d6
        < import java.util.Vector;
        23,24d21
        < import org.apache.activemq.ActiveMQConnectionFactory;
        < import org.apache.activemq.broker.BrokerService;
        71c68
        <         int nMessagesToSend = 50;
        ---
        >         int nMessagesToSend = 0;
        286c283
        < 	public static void main(String[] args) throws Exception {
        ---
        > 	public static void main(String[] args) {
        288,303d284
        < 	       
        <         Vector<BrokerService> brokers = new Vector<BrokerService>();
        <         
        <         BrokerService service = new BrokerService();
        <         service.setDeleteAllMessagesOnStartup(true);
        <         service.addConnector(ActiveMQConnectionFactory.DEFAULT_BROKER_BIND_URL);
        <         service.start();
        <         brokers.add(service);
        <             
        <         BrokerService slave = new BrokerService();
        <         service.setDeleteAllMessagesOnStartup(true);
        <         slave.setBrokerName("slave");
        <         slave.setMasterConnectorURI(ActiveMQConnectionFactory.DEFAULT_BROKER_BIND_URL);
        <         slave.start();
        <         brokers.add(slave);
        < 
        311,319d291
        < 		        
        <         for (BrokerService b: brokers) {
        <             try {
        <                 b.stop();
        <             } catch (Exception e) {
        <                 e.printStackTrace();
        <             }
        <         }
        < 
        
        Show
        Gary Tully added a comment - Hans, reproducing is causing a problem. In an effort to reproduce with no intervention and with master slave I added the following code to the StandalonApp but it does not reproduce the problem. 7d6 < import java.util.Vector; 23,24d21 < import org.apache.activemq.ActiveMQConnectionFactory; < import org.apache.activemq.broker.BrokerService; 71c68 < int nMessagesToSend = 50; --- > int nMessagesToSend = 0; 286c283 < public static void main( String [] args) throws Exception { --- > public static void main( String [] args) { 288,303d284 < < Vector<BrokerService> brokers = new Vector<BrokerService>(); < < BrokerService service = new BrokerService(); < service.setDeleteAllMessagesOnStartup( true ); < service.addConnector(ActiveMQConnectionFactory.DEFAULT_BROKER_BIND_URL); < service.start(); < brokers.add(service); < < BrokerService slave = new BrokerService(); < service.setDeleteAllMessagesOnStartup( true ); < slave.setBrokerName( "slave" ); < slave.setMasterConnectorURI(ActiveMQConnectionFactory.DEFAULT_BROKER_BIND_URL); < slave.start(); < brokers.add(slave); < 311,319d291 < < for (BrokerService b: brokers) { < try { < b.stop(); < } catch (Exception e) { < e.printStackTrace(); < } < } <
        Hide
        Hans Bausewein added a comment -

        I used the "activemqjee-0.0.9-src.tar.gz" from AMQ-1983, because I tried to reproduce the first issue (Slave broker out of sync with master).

        I think it's another that the transaction ack, that was missing in the same log.

        Same setup, but the app gets a bit closer to our real application code.

        With the ActiveMQ console of the master:

        • Specify a reply queue.
        • Send a message to Queue A.
        • The MDB will forward it to queue B, queue C and topic A.
        • It also sends a reply to the reply queue.

        I've tried this a few times with 20 messages at a time without any failure.
        When I tried it with 50 messages, the NPE happened.

        Show
        Hans Bausewein added a comment - I used the "activemqjee-0.0.9-src.tar.gz" from AMQ-1983 , because I tried to reproduce the first issue (Slave broker out of sync with master). I think it's another that the transaction ack, that was missing in the same log. Same setup, but the app gets a bit closer to our real application code. With the ActiveMQ console of the master: Specify a reply queue. Send a message to Queue A. The MDB will forward it to queue B, queue C and topic A. It also sends a reply to the reply queue. I've tried this a few times with 20 messages at a time without any failure. When I tried it with 50 messages, the NPE happened.

          People

          • Assignee:
            Gary Tully
            Reporter:
            Hans Bausewein
          • Votes:
            2 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:

              Development