[jira] [Updated] (AMQ-6160) JDBC XA: NullPointerException on rollback in PREPARED_STATE when trying to unset the XID

2016-02-18 Thread Jens Hadlich (JIRA)

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

Jens Hadlich updated AMQ-6160:
--
Affects Version/s: 5.13.1

> JDBC XA: NullPointerException on rollback in PREPARED_STATE when trying to 
> unset the XID
> 
>
> Key: AMQ-6160
> URL: https://issues.apache.org/jira/browse/AMQ-6160
> Project: ActiveMQ
>  Issue Type: Bug
>  Components: Broker, JDBC
>Affects Versions: 5.12.1, 5.13.0, 5.13.1
>Reporter: Jens Hadlich
>
> The messageId.getEntryLocator() gives null which leads to the NPE.
> The NPE seems to lead to a db connection leak in conjunction with Apache 
> Commons DBCP. A workaround we applied is to configure the pool to remove this 
> "abandoned" connections (see 
> https://commons.apache.org/proper/commons-dbcp/configuration.html):
> {noformat}
> 
> ...
> 
> 
> 
> 
> 
> {noformat}
> Example stacktrace for the NPE:
> {noformat}
> 11:12:32.965 [messageListenerContainer-7] WARN  
> c.a.d.xa.XAResourceTransaction - XA resource 'atomikosFactorIn': rollback for 
> XID 
> '3137322E31362E3231352E34312E746D30303030363030303435:3137322E31362E3231352E34312E746D313136'
>  raised -7: the XA resource has become unavailable
> javax.transaction.xa.XAException: java.lang.NullPointerException
> at 
> org.apache.activemq.TransactionContext.toXAException(TransactionContext.java:735)
>  ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.apache.activemq.TransactionContext.rollback(TransactionContext.java:497) 
> ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.datasource.xa.XAResourceTransaction.rollback(XAResourceTransaction.java:677)
>  ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.RollbackMessage.send(RollbackMessage.java:70) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.PropagationMessage.submit(PropagationMessage.java:83) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.Propagator$PropagatorThread.run(Propagator.java:79) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.Propagator.submitPropagationMessage(Propagator.java:58)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackFromWithinCallback(CoordinatorStateHandler.java:709)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler$4.doRollback(ActiveStateHandler.java:213)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackWithAfterCompletionNotification(CoordinatorStateHandler.java:837)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler.rollbackWithAfterCompletionNotification(ActiveStateHandler.java:49)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler.prepare(ActiveStateHandler.java:208)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorImp.prepare(CoordinatorImp.java:681) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorImp.terminate(CoordinatorImp.java:975) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CompositeTerminatorImp.commit(CompositeTerminatorImp.java:82)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CompositeTransactionImp.commit(CompositeTransactionImp.java:336)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.TransactionImp.commit(TransactionImp.java:190) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.TransactionManagerImp.commit(TransactionManagerImp.java:436)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.UserTransactionImp.commit(UserTransactionImp.java:107)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1021)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> 

[jira] [Updated] (AMQ-6160) JDBC XA: NullPointerException on rollback in PREPARED_STATE when trying to unset the XID

2016-02-06 Thread Jens Hadlich (JIRA)

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

Jens Hadlich updated AMQ-6160:
--
Component/s: Broker

> JDBC XA: NullPointerException on rollback in PREPARED_STATE when trying to 
> unset the XID
> 
>
> Key: AMQ-6160
> URL: https://issues.apache.org/jira/browse/AMQ-6160
> Project: ActiveMQ
>  Issue Type: Bug
>  Components: Broker, JDBC
>Affects Versions: 5.12.1, 5.13.0
>Reporter: Jens Hadlich
>
> The messageId.getEntryLocator() gives null which leads to the NPE.
> The NPE seems to lead to a db connection leak in conjunction with Apache 
> Commons DBCP. A workaround we applied is to configure the pool to remove this 
> "abandoned" connections (see 
> https://commons.apache.org/proper/commons-dbcp/configuration.html):
> {noformat}
> 
> ...
> 
> 
> 
> 
> 
> {noformat}
> Example stacktrace for the NPE:
> {noformat}
> 11:12:32.965 [messageListenerContainer-7] WARN  
> c.a.d.xa.XAResourceTransaction - XA resource 'atomikosFactorIn': rollback for 
> XID 
> '3137322E31362E3231352E34312E746D30303030363030303435:3137322E31362E3231352E34312E746D313136'
>  raised -7: the XA resource has become unavailable
> javax.transaction.xa.XAException: java.lang.NullPointerException
> at 
> org.apache.activemq.TransactionContext.toXAException(TransactionContext.java:735)
>  ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.apache.activemq.TransactionContext.rollback(TransactionContext.java:497) 
> ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.datasource.xa.XAResourceTransaction.rollback(XAResourceTransaction.java:677)
>  ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.RollbackMessage.send(RollbackMessage.java:70) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.PropagationMessage.submit(PropagationMessage.java:83) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.Propagator$PropagatorThread.run(Propagator.java:79) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.Propagator.submitPropagationMessage(Propagator.java:58)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackFromWithinCallback(CoordinatorStateHandler.java:709)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler$4.doRollback(ActiveStateHandler.java:213)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackWithAfterCompletionNotification(CoordinatorStateHandler.java:837)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler.rollbackWithAfterCompletionNotification(ActiveStateHandler.java:49)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler.prepare(ActiveStateHandler.java:208)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorImp.prepare(CoordinatorImp.java:681) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorImp.terminate(CoordinatorImp.java:975) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CompositeTerminatorImp.commit(CompositeTerminatorImp.java:82)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CompositeTransactionImp.commit(CompositeTransactionImp.java:336)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.TransactionImp.commit(TransactionImp.java:190) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.TransactionManagerImp.commit(TransactionManagerImp.java:436)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.UserTransactionImp.commit(UserTransactionImp.java:107)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1021)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> 

[jira] [Updated] (AMQ-6160) JDBC XA: NullPointerException on rollback in PREPARED_STATE when trying to unset the XID

2016-02-05 Thread Jens Hadlich (JIRA)

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

Jens Hadlich updated AMQ-6160:
--
Description: 
The messageId.getEntryLocator() gives null which leads to the NPE.

Example stacktrace:
{noformat}
11:12:32.965 [messageListenerContainer-7] WARN  c.a.d.xa.XAResourceTransaction 
- XA resource 'atomikosFactorIn': rollback for XID 
'3137322E31362E3231352E34312E746D30303030363030303435:3137322E31362E3231352E34312E746D313136'
 raised -7: the XA resource has become unavailable
javax.transaction.xa.XAException: java.lang.NullPointerException
at 
org.apache.activemq.TransactionContext.toXAException(TransactionContext.java:735)
 ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.apache.activemq.TransactionContext.rollback(TransactionContext.java:497) 
~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.datasource.xa.XAResourceTransaction.rollback(XAResourceTransaction.java:677)
 ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.RollbackMessage.send(RollbackMessage.java:70) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.PropagationMessage.submit(PropagationMessage.java:83) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.Propagator$PropagatorThread.run(Propagator.java:79) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.Propagator.submitPropagationMessage(Propagator.java:58) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackFromWithinCallback(CoordinatorStateHandler.java:709)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.ActiveStateHandler$4.doRollback(ActiveStateHandler.java:213)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackWithAfterCompletionNotification(CoordinatorStateHandler.java:837)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.ActiveStateHandler.rollbackWithAfterCompletionNotification(ActiveStateHandler.java:49)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.ActiveStateHandler.prepare(ActiveStateHandler.java:208) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CoordinatorImp.prepare(CoordinatorImp.java:681) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CoordinatorImp.terminate(CoordinatorImp.java:975) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CompositeTerminatorImp.commit(CompositeTerminatorImp.java:82)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CompositeTransactionImp.commit(CompositeTransactionImp.java:336)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.jta.TransactionImp.commit(TransactionImp.java:190) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.jta.TransactionManagerImp.commit(TransactionManagerImp.java:436)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.jta.UserTransactionImp.commit(UserTransactionImp.java:107) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1021)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:247)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1150)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1142)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1039)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_76]
Caused by: javax.jms.JMSException: java.lang.NullPointerException
at 
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
 ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 

[jira] [Commented] (AMQ-6160) JDBC XA: NullPointerException on rollback in PREPARED_STATE when trying to unset the XID

2016-02-05 Thread Jens Hadlich (JIRA)

[ 
https://issues.apache.org/jira/browse/AMQ-6160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15133904#comment-15133904
 ] 

Jens Hadlich commented on AMQ-6160:
---

Proposed solution: Use messageId.getFutureOrSequenceLong() to get the sequence 
id.


> JDBC XA: NullPointerException on rollback in PREPARED_STATE when trying to 
> unset the XID
> 
>
> Key: AMQ-6160
> URL: https://issues.apache.org/jira/browse/AMQ-6160
> Project: ActiveMQ
>  Issue Type: Bug
>  Components: JDBC
>Affects Versions: 5.12.1
>Reporter: Jens Hadlich
>
> The messageId.getEntryLocator() gives null which leads to the NPE.
> Example stacktrace:
> {noformat}
> 11:12:32.965 [messageListenerContainer-7] WARN  
> c.a.d.xa.XAResourceTransaction - XA resource 'atomikosFactorIn': rollback for 
> XID 
> '3137322E31362E3231352E34312E746D30303030363030303435:3137322E31362E3231352E34312E746D313136'
>  raised -7: the XA resource has become unavailable
> javax.transaction.xa.XAException: java.lang.NullPointerException
> at 
> org.apache.activemq.TransactionContext.toXAException(TransactionContext.java:735)
>  ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.apache.activemq.TransactionContext.rollback(TransactionContext.java:497) 
> ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.datasource.xa.XAResourceTransaction.rollback(XAResourceTransaction.java:677)
>  ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.RollbackMessage.send(RollbackMessage.java:70) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.PropagationMessage.submit(PropagationMessage.java:83) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.Propagator$PropagatorThread.run(Propagator.java:79) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.Propagator.submitPropagationMessage(Propagator.java:58)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackFromWithinCallback(CoordinatorStateHandler.java:709)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler$4.doRollback(ActiveStateHandler.java:213)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackWithAfterCompletionNotification(CoordinatorStateHandler.java:837)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler.rollbackWithAfterCompletionNotification(ActiveStateHandler.java:49)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler.prepare(ActiveStateHandler.java:208)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorImp.prepare(CoordinatorImp.java:681) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorImp.terminate(CoordinatorImp.java:975) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CompositeTerminatorImp.commit(CompositeTerminatorImp.java:82)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CompositeTransactionImp.commit(CompositeTransactionImp.java:336)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.TransactionImp.commit(TransactionImp.java:190) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.TransactionManagerImp.commit(TransactionManagerImp.java:436)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.UserTransactionImp.commit(UserTransactionImp.java:107)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1021)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:247)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1150)
>  

[jira] [Updated] (AMQ-6160) JDBC XA: NullPointerException on rollback in PREPARED_STATE when trying to unset the XID

2016-02-05 Thread Jens Hadlich (JIRA)

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

Jens Hadlich updated AMQ-6160:
--
Description: 
The messageId.getEntryLocator() gives null which leads to the NPE.

The NPE seems to lead to a db connection leak in conjuction with dbcp. A 
workaround we applied is to configure the pool to remove this "abandoned" 
connections:

{noformat}

...





{noformat}

Example stacktrace for the NPE:

{noformat}
11:12:32.965 [messageListenerContainer-7] WARN  c.a.d.xa.XAResourceTransaction 
- XA resource 'atomikosFactorIn': rollback for XID 
'3137322E31362E3231352E34312E746D30303030363030303435:3137322E31362E3231352E34312E746D313136'
 raised -7: the XA resource has become unavailable
javax.transaction.xa.XAException: java.lang.NullPointerException
at 
org.apache.activemq.TransactionContext.toXAException(TransactionContext.java:735)
 ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.apache.activemq.TransactionContext.rollback(TransactionContext.java:497) 
~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.datasource.xa.XAResourceTransaction.rollback(XAResourceTransaction.java:677)
 ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.RollbackMessage.send(RollbackMessage.java:70) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.PropagationMessage.submit(PropagationMessage.java:83) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.Propagator$PropagatorThread.run(Propagator.java:79) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.Propagator.submitPropagationMessage(Propagator.java:58) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackFromWithinCallback(CoordinatorStateHandler.java:709)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.ActiveStateHandler$4.doRollback(ActiveStateHandler.java:213)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackWithAfterCompletionNotification(CoordinatorStateHandler.java:837)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.ActiveStateHandler.rollbackWithAfterCompletionNotification(ActiveStateHandler.java:49)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.ActiveStateHandler.prepare(ActiveStateHandler.java:208) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CoordinatorImp.prepare(CoordinatorImp.java:681) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CoordinatorImp.terminate(CoordinatorImp.java:975) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CompositeTerminatorImp.commit(CompositeTerminatorImp.java:82)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CompositeTransactionImp.commit(CompositeTransactionImp.java:336)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.jta.TransactionImp.commit(TransactionImp.java:190) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.jta.TransactionManagerImp.commit(TransactionManagerImp.java:436)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.jta.UserTransactionImp.commit(UserTransactionImp.java:107) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1021)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:247)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1150)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1142)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1039)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 

[jira] [Updated] (AMQ-6160) JDBC XA: NullPointerException on rollback in PREPARED_STATE when trying to unset the XID

2016-02-05 Thread Jens Hadlich (JIRA)

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

Jens Hadlich updated AMQ-6160:
--
Description: 
The messageId.getEntryLocator() gives null which leads to the NPE.

The NPE seems to lead to a db connection leak in conjuction with dbcp. A 
workaround we applied is to configure the pool to remove this "abandoned" 
connections:

{noformat}

...





{normat}

Example stacktrace for the NPA:

{noformat}
11:12:32.965 [messageListenerContainer-7] WARN  c.a.d.xa.XAResourceTransaction 
- XA resource 'atomikosFactorIn': rollback for XID 
'3137322E31362E3231352E34312E746D30303030363030303435:3137322E31362E3231352E34312E746D313136'
 raised -7: the XA resource has become unavailable
javax.transaction.xa.XAException: java.lang.NullPointerException
at 
org.apache.activemq.TransactionContext.toXAException(TransactionContext.java:735)
 ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.apache.activemq.TransactionContext.rollback(TransactionContext.java:497) 
~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.datasource.xa.XAResourceTransaction.rollback(XAResourceTransaction.java:677)
 ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.RollbackMessage.send(RollbackMessage.java:70) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.PropagationMessage.submit(PropagationMessage.java:83) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.Propagator$PropagatorThread.run(Propagator.java:79) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.Propagator.submitPropagationMessage(Propagator.java:58) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackFromWithinCallback(CoordinatorStateHandler.java:709)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.ActiveStateHandler$4.doRollback(ActiveStateHandler.java:213)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackWithAfterCompletionNotification(CoordinatorStateHandler.java:837)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.ActiveStateHandler.rollbackWithAfterCompletionNotification(ActiveStateHandler.java:49)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.ActiveStateHandler.prepare(ActiveStateHandler.java:208) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CoordinatorImp.prepare(CoordinatorImp.java:681) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CoordinatorImp.terminate(CoordinatorImp.java:975) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CompositeTerminatorImp.commit(CompositeTerminatorImp.java:82)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CompositeTransactionImp.commit(CompositeTransactionImp.java:336)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.jta.TransactionImp.commit(TransactionImp.java:190) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.jta.TransactionManagerImp.commit(TransactionManagerImp.java:436)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.jta.UserTransactionImp.commit(UserTransactionImp.java:107) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1021)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:247)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1150)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1142)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1039)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 

[jira] [Updated] (AMQ-6160) JDBC XA: NullPointerException on rollback in PREPARED_STATE when trying to unset the XID

2016-02-05 Thread Jens Hadlich (JIRA)

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

Jens Hadlich updated AMQ-6160:
--
Affects Version/s: 5.13.0

> JDBC XA: NullPointerException on rollback in PREPARED_STATE when trying to 
> unset the XID
> 
>
> Key: AMQ-6160
> URL: https://issues.apache.org/jira/browse/AMQ-6160
> Project: ActiveMQ
>  Issue Type: Bug
>  Components: JDBC
>Affects Versions: 5.12.1, 5.13.0
>Reporter: Jens Hadlich
>
> The messageId.getEntryLocator() gives null which leads to the NPE.
> The NPE seems to lead to a db connection leak in conjuction with dbcp. A 
> workaround we applied is to configure the pool to remove this "abandoned" 
> connections:
> {noformat}
> 
> ...
> 
> 
> 
> 
> 
> {noformat}
> Example stacktrace for the NPE:
> {noformat}
> 11:12:32.965 [messageListenerContainer-7] WARN  
> c.a.d.xa.XAResourceTransaction - XA resource 'atomikosFactorIn': rollback for 
> XID 
> '3137322E31362E3231352E34312E746D30303030363030303435:3137322E31362E3231352E34312E746D313136'
>  raised -7: the XA resource has become unavailable
> javax.transaction.xa.XAException: java.lang.NullPointerException
> at 
> org.apache.activemq.TransactionContext.toXAException(TransactionContext.java:735)
>  ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.apache.activemq.TransactionContext.rollback(TransactionContext.java:497) 
> ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.datasource.xa.XAResourceTransaction.rollback(XAResourceTransaction.java:677)
>  ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.RollbackMessage.send(RollbackMessage.java:70) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.PropagationMessage.submit(PropagationMessage.java:83) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.Propagator$PropagatorThread.run(Propagator.java:79) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.Propagator.submitPropagationMessage(Propagator.java:58)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackFromWithinCallback(CoordinatorStateHandler.java:709)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler$4.doRollback(ActiveStateHandler.java:213)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackWithAfterCompletionNotification(CoordinatorStateHandler.java:837)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler.rollbackWithAfterCompletionNotification(ActiveStateHandler.java:49)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler.prepare(ActiveStateHandler.java:208)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorImp.prepare(CoordinatorImp.java:681) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorImp.terminate(CoordinatorImp.java:975) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CompositeTerminatorImp.commit(CompositeTerminatorImp.java:82)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CompositeTransactionImp.commit(CompositeTransactionImp.java:336)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.TransactionImp.commit(TransactionImp.java:190) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.TransactionManagerImp.commit(TransactionManagerImp.java:436)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.UserTransactionImp.commit(UserTransactionImp.java:107)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1021)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:247)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> 

[jira] [Comment Edited] (AMQ-6160) JDBC XA: NullPointerException on rollback in PREPARED_STATE when trying to unset the XID

2016-02-05 Thread Jens Hadlich (JIRA)

[ 
https://issues.apache.org/jira/browse/AMQ-6160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15133904#comment-15133904
 ] 

Jens Hadlich edited comment on AMQ-6160 at 2/5/16 9:48 AM:
---

Actually, I'm not quite sure why the entryLocator becomes NULL. Could you 
please give me a hint on that?

Proposed solution: Use {{messageId.getFutureOrSequenceLong()}} to get the 
sequence id in case the entryLocator is NULL.

See: https://github.com/apache/activemq/pull/167


was (Author: jenshadlich):
Actually, I'm not quite sure why the entryLocator becomes NULL. Could you 
please give me a hint on that?

Proposed solution: Use messageId.getFutureOrSequenceLong() to get the sequence 
id.

See: https://github.com/apache/activemq/pull/167

> JDBC XA: NullPointerException on rollback in PREPARED_STATE when trying to 
> unset the XID
> 
>
> Key: AMQ-6160
> URL: https://issues.apache.org/jira/browse/AMQ-6160
> Project: ActiveMQ
>  Issue Type: Bug
>  Components: JDBC
>Affects Versions: 5.12.1
>Reporter: Jens Hadlich
>
> The messageId.getEntryLocator() gives null which leads to the NPE.
> Example stacktrace:
> {noformat}
> 11:12:32.965 [messageListenerContainer-7] WARN  
> c.a.d.xa.XAResourceTransaction - XA resource 'atomikosFactorIn': rollback for 
> XID 
> '3137322E31362E3231352E34312E746D30303030363030303435:3137322E31362E3231352E34312E746D313136'
>  raised -7: the XA resource has become unavailable
> javax.transaction.xa.XAException: java.lang.NullPointerException
> at 
> org.apache.activemq.TransactionContext.toXAException(TransactionContext.java:735)
>  ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.apache.activemq.TransactionContext.rollback(TransactionContext.java:497) 
> ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.datasource.xa.XAResourceTransaction.rollback(XAResourceTransaction.java:677)
>  ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.RollbackMessage.send(RollbackMessage.java:70) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.PropagationMessage.submit(PropagationMessage.java:83) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.Propagator$PropagatorThread.run(Propagator.java:79) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.Propagator.submitPropagationMessage(Propagator.java:58)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackFromWithinCallback(CoordinatorStateHandler.java:709)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler$4.doRollback(ActiveStateHandler.java:213)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackWithAfterCompletionNotification(CoordinatorStateHandler.java:837)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler.rollbackWithAfterCompletionNotification(ActiveStateHandler.java:49)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler.prepare(ActiveStateHandler.java:208)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorImp.prepare(CoordinatorImp.java:681) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorImp.terminate(CoordinatorImp.java:975) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CompositeTerminatorImp.commit(CompositeTerminatorImp.java:82)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CompositeTransactionImp.commit(CompositeTransactionImp.java:336)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.TransactionImp.commit(TransactionImp.java:190) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.TransactionManagerImp.commit(TransactionManagerImp.java:436)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.UserTransactionImp.commit(UserTransactionImp.java:107)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1021)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> 

[jira] [Comment Edited] (AMQ-6160) JDBC XA: NullPointerException on rollback in PREPARED_STATE when trying to unset the XID

2016-02-05 Thread Jens Hadlich (JIRA)

[ 
https://issues.apache.org/jira/browse/AMQ-6160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15133904#comment-15133904
 ] 

Jens Hadlich edited comment on AMQ-6160 at 2/5/16 9:48 AM:
---

Actually, I'm not quite sure why the entryLocator becomes NULL. Could you 
please give me a hint on that?

*Proposed solution*: Use {{messageId.getFutureOrSequenceLong()}} to get the 
sequence id in case the entryLocator is NULL.

See: https://github.com/apache/activemq/pull/167


was (Author: jenshadlich):
Actually, I'm not quite sure why the entryLocator becomes NULL. Could you 
please give me a hint on that?

Proposed solution: Use {{messageId.getFutureOrSequenceLong()}} to get the 
sequence id in case the entryLocator is NULL.

See: https://github.com/apache/activemq/pull/167

> JDBC XA: NullPointerException on rollback in PREPARED_STATE when trying to 
> unset the XID
> 
>
> Key: AMQ-6160
> URL: https://issues.apache.org/jira/browse/AMQ-6160
> Project: ActiveMQ
>  Issue Type: Bug
>  Components: JDBC
>Affects Versions: 5.12.1
>Reporter: Jens Hadlich
>
> The messageId.getEntryLocator() gives null which leads to the NPE.
> Example stacktrace:
> {noformat}
> 11:12:32.965 [messageListenerContainer-7] WARN  
> c.a.d.xa.XAResourceTransaction - XA resource 'atomikosFactorIn': rollback for 
> XID 
> '3137322E31362E3231352E34312E746D30303030363030303435:3137322E31362E3231352E34312E746D313136'
>  raised -7: the XA resource has become unavailable
> javax.transaction.xa.XAException: java.lang.NullPointerException
> at 
> org.apache.activemq.TransactionContext.toXAException(TransactionContext.java:735)
>  ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.apache.activemq.TransactionContext.rollback(TransactionContext.java:497) 
> ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.datasource.xa.XAResourceTransaction.rollback(XAResourceTransaction.java:677)
>  ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.RollbackMessage.send(RollbackMessage.java:70) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.PropagationMessage.submit(PropagationMessage.java:83) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.Propagator$PropagatorThread.run(Propagator.java:79) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.Propagator.submitPropagationMessage(Propagator.java:58)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackFromWithinCallback(CoordinatorStateHandler.java:709)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler$4.doRollback(ActiveStateHandler.java:213)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackWithAfterCompletionNotification(CoordinatorStateHandler.java:837)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler.rollbackWithAfterCompletionNotification(ActiveStateHandler.java:49)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler.prepare(ActiveStateHandler.java:208)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorImp.prepare(CoordinatorImp.java:681) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorImp.terminate(CoordinatorImp.java:975) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CompositeTerminatorImp.commit(CompositeTerminatorImp.java:82)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CompositeTransactionImp.commit(CompositeTransactionImp.java:336)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.TransactionImp.commit(TransactionImp.java:190) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.TransactionManagerImp.commit(TransactionManagerImp.java:436)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.UserTransactionImp.commit(UserTransactionImp.java:107)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1021)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> 

[jira] [Created] (AMQ-6160) JDBC XA: NullPointerException on rollback in PREPARED_STATE when trying to unset the XID

2016-02-05 Thread Jens Hadlich (JIRA)
Jens Hadlich created AMQ-6160:
-

 Summary: JDBC XA: NullPointerException on rollback in 
PREPARED_STATE when trying to unset the XID
 Key: AMQ-6160
 URL: https://issues.apache.org/jira/browse/AMQ-6160
 Project: ActiveMQ
  Issue Type: Bug
  Components: JDBC
Affects Versions: 5.12.1
Reporter: Jens Hadlich


The messageId.getEntryLocator() gives null which leads to the NPE.

Example stacktrace:
{noformat}
11:12:32.965 [messageListenerContainer-7] WARN  c.a.d.xa.XAResourceTransaction 
- XA resource 'atomikosFactorIn': rollback for XID 
'3137322E31362E3231352E34312E746D30303030363030303435:3137322E31362E3231352E34312E746D313136'
 raised -7: the XA resource has become unavailable
javax.transaction.xa.XAException: java.lang.NullPointerException
at 
org.apache.activemq.TransactionContext.toXAException(TransactionContext.java:735)
 ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.apache.activemq.TransactionContext.rollback(TransactionContext.java:497) 
~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.datasource.xa.XAResourceTransaction.rollback(XAResourceTransaction.java:677)
 ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.RollbackMessage.send(RollbackMessage.java:70) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.PropagationMessage.submit(PropagationMessage.java:83) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.Propagator$PropagatorThread.run(Propagator.java:79) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.Propagator.submitPropagationMessage(Propagator.java:58) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackFromWithinCallback(CoordinatorStateHandler.java:709)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.ActiveStateHandler$4.doRollback(ActiveStateHandler.java:213)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackWithAfterCompletionNotification(CoordinatorStateHandler.java:837)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.ActiveStateHandler.rollbackWithAfterCompletionNotification(ActiveStateHandler.java:49)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.ActiveStateHandler.prepare(ActiveStateHandler.java:208) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CoordinatorImp.prepare(CoordinatorImp.java:681) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CoordinatorImp.terminate(CoordinatorImp.java:975) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CompositeTerminatorImp.commit(CompositeTerminatorImp.java:82)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.imp.CompositeTransactionImp.commit(CompositeTransactionImp.java:336)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.jta.TransactionImp.commit(TransactionImp.java:190) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.jta.TransactionManagerImp.commit(TransactionManagerImp.java:436)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
com.atomikos.icatch.jta.UserTransactionImp.commit(UserTransactionImp.java:107) 
[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1021)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:247)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1150)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1142)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at 
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1039)
 [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_76]
Caused by: 

[jira] [Comment Edited] (AMQ-6160) JDBC XA: NullPointerException on rollback in PREPARED_STATE when trying to unset the XID

2016-02-05 Thread Jens Hadlich (JIRA)

[ 
https://issues.apache.org/jira/browse/AMQ-6160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15133904#comment-15133904
 ] 

Jens Hadlich edited comment on AMQ-6160 at 2/5/16 9:46 AM:
---

Actually I'm not quite sure why the entryLocator becomes NULL.

Proposed solution: Use messageId.getFutureOrSequenceLong() to get the sequence 
id.

See: https://github.com/apache/activemq/pull/167


was (Author: jenshadlich):
Proposed solution: Use messageId.getFutureOrSequenceLong() to get the sequence 
id.

See: https://github.com/apache/activemq/pull/167

> JDBC XA: NullPointerException on rollback in PREPARED_STATE when trying to 
> unset the XID
> 
>
> Key: AMQ-6160
> URL: https://issues.apache.org/jira/browse/AMQ-6160
> Project: ActiveMQ
>  Issue Type: Bug
>  Components: JDBC
>Affects Versions: 5.12.1
>Reporter: Jens Hadlich
>
> The messageId.getEntryLocator() gives null which leads to the NPE.
> Example stacktrace:
> {noformat}
> 11:12:32.965 [messageListenerContainer-7] WARN  
> c.a.d.xa.XAResourceTransaction - XA resource 'atomikosFactorIn': rollback for 
> XID 
> '3137322E31362E3231352E34312E746D30303030363030303435:3137322E31362E3231352E34312E746D313136'
>  raised -7: the XA resource has become unavailable
> javax.transaction.xa.XAException: java.lang.NullPointerException
> at 
> org.apache.activemq.TransactionContext.toXAException(TransactionContext.java:735)
>  ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.apache.activemq.TransactionContext.rollback(TransactionContext.java:497) 
> ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.datasource.xa.XAResourceTransaction.rollback(XAResourceTransaction.java:677)
>  ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.RollbackMessage.send(RollbackMessage.java:70) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.PropagationMessage.submit(PropagationMessage.java:83) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.Propagator$PropagatorThread.run(Propagator.java:79) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.Propagator.submitPropagationMessage(Propagator.java:58)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackFromWithinCallback(CoordinatorStateHandler.java:709)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler$4.doRollback(ActiveStateHandler.java:213)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackWithAfterCompletionNotification(CoordinatorStateHandler.java:837)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler.rollbackWithAfterCompletionNotification(ActiveStateHandler.java:49)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler.prepare(ActiveStateHandler.java:208)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorImp.prepare(CoordinatorImp.java:681) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorImp.terminate(CoordinatorImp.java:975) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CompositeTerminatorImp.commit(CompositeTerminatorImp.java:82)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CompositeTransactionImp.commit(CompositeTransactionImp.java:336)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.TransactionImp.commit(TransactionImp.java:190) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.TransactionManagerImp.commit(TransactionManagerImp.java:436)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.UserTransactionImp.commit(UserTransactionImp.java:107)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1021)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> 

[jira] [Comment Edited] (AMQ-6160) JDBC XA: NullPointerException on rollback in PREPARED_STATE when trying to unset the XID

2016-02-05 Thread Jens Hadlich (JIRA)

[ 
https://issues.apache.org/jira/browse/AMQ-6160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15133904#comment-15133904
 ] 

Jens Hadlich edited comment on AMQ-6160 at 2/5/16 9:47 AM:
---

Actually, I'm not quite sure why the entryLocator becomes NULL. Could you 
please give me a hint on that?

Proposed solution: Use messageId.getFutureOrSequenceLong() to get the sequence 
id.

See: https://github.com/apache/activemq/pull/167


was (Author: jenshadlich):
Actually I'm not quite sure why the entryLocator becomes NULL.

Proposed solution: Use messageId.getFutureOrSequenceLong() to get the sequence 
id.

See: https://github.com/apache/activemq/pull/167

> JDBC XA: NullPointerException on rollback in PREPARED_STATE when trying to 
> unset the XID
> 
>
> Key: AMQ-6160
> URL: https://issues.apache.org/jira/browse/AMQ-6160
> Project: ActiveMQ
>  Issue Type: Bug
>  Components: JDBC
>Affects Versions: 5.12.1
>Reporter: Jens Hadlich
>
> The messageId.getEntryLocator() gives null which leads to the NPE.
> Example stacktrace:
> {noformat}
> 11:12:32.965 [messageListenerContainer-7] WARN  
> c.a.d.xa.XAResourceTransaction - XA resource 'atomikosFactorIn': rollback for 
> XID 
> '3137322E31362E3231352E34312E746D30303030363030303435:3137322E31362E3231352E34312E746D313136'
>  raised -7: the XA resource has become unavailable
> javax.transaction.xa.XAException: java.lang.NullPointerException
> at 
> org.apache.activemq.TransactionContext.toXAException(TransactionContext.java:735)
>  ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.apache.activemq.TransactionContext.rollback(TransactionContext.java:497) 
> ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.datasource.xa.XAResourceTransaction.rollback(XAResourceTransaction.java:677)
>  ~[messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.RollbackMessage.send(RollbackMessage.java:70) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.PropagationMessage.submit(PropagationMessage.java:83) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.Propagator$PropagatorThread.run(Propagator.java:79) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.Propagator.submitPropagationMessage(Propagator.java:58)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackFromWithinCallback(CoordinatorStateHandler.java:709)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler$4.doRollback(ActiveStateHandler.java:213)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorStateHandler.rollbackWithAfterCompletionNotification(CoordinatorStateHandler.java:837)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler.rollbackWithAfterCompletionNotification(ActiveStateHandler.java:49)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.ActiveStateHandler.prepare(ActiveStateHandler.java:208)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorImp.prepare(CoordinatorImp.java:681) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CoordinatorImp.terminate(CoordinatorImp.java:975) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CompositeTerminatorImp.commit(CompositeTerminatorImp.java:82)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.imp.CompositeTransactionImp.commit(CompositeTransactionImp.java:336)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.TransactionImp.commit(TransactionImp.java:190) 
> [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.TransactionManagerImp.commit(TransactionManagerImp.java:436)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> com.atomikos.icatch.jta.UserTransactionImp.commit(UserTransactionImp.java:107)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1021)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)
>  [messaging-test-tool-1.0-SNAPSHOT.2.jar:na]
> at 
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)
>