[JBoss JIRA] (JBTM-2769) CMR resource calls xa_forget on local resources
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2769?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson updated JBTM-2769:
--------------------------------
Attachment: (was: JPAInjectedFailureCMRTestCase_injectFailOnCMRResourceCommit_jta_server.log)
> CMR resource calls xa_forget on local resources
> -----------------------------------------------
>
> Key: JBTM-2769
> URL: https://issues.jboss.org/browse/JBTM-2769
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Affects Versions: 5.3.5.Final
> Reporter: Ondra Chaloupka
> Assignee: Michael Musgrove
> Priority: Blocker
>
> {code}
> 2016-10-06 17:50:17,105 WARN [com.arjuna.ats.arjuna] (Periodic Recovery) ARJUNA012290: failed to recover Transaction 0:ffff7f000001:6351fff9:57f67185:2a: java.lang.NullPointerException
> at com.arjuna.ats.internal.jta.resources.arjunacore.CommitMarkableResourceRecord.forgetHeuristic(CommitMarkableResourceRecord.java:544)
> at com.arjuna.ats.arjuna.coordinator.BasicAction.doForget(BasicAction.java:3603)
> at com.arjuna.ats.arjuna.coordinator.BasicAction.forgetHeuristics(BasicAction.java:1347)
> at com.arjuna.ats.arjuna.coordinator.BasicAction.phase2Abort(BasicAction.java:1991)
> at com.arjuna.ats.arjuna.coordinator.BasicAction.doCommit(BasicAction.java:2852)
> at com.arjuna.ats.arjuna.coordinator.BasicAction.phase2Commit(BasicAction.java:1871)
> at com.arjuna.ats.arjuna.recovery.RecoverAtomicAction.replayPhase2(RecoverAtomicAction.java:71)
> at com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.doRecoverTransaction(AtomicActionRecoveryModule.java:152)
> at com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.processTransactionsStatus(AtomicActionRecoveryModule.java:253)
> at com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.periodicWorkSecondPass(AtomicActionRecoveryModule.java:109)
> at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:811)
> at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:377)
> {code}
> A local resource will have no concept of the forget and indeed the app server has an implementation that throws an exception if you call it.
--
This message was sent by Atlassian JIRA
(v7.2.2#72004)
8 years, 1 month
[JBoss JIRA] (JBTM-2769) CMR resource calls xa_forget on local resources
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2769?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson updated JBTM-2769:
--------------------------------
Summary: CMR resource calls xa_forget on local resources (was: Inconsistent behavior of CMR resource: CommitMarkableResourceRecord#forgetHeuristic)
> CMR resource calls xa_forget on local resources
> -----------------------------------------------
>
> Key: JBTM-2769
> URL: https://issues.jboss.org/browse/JBTM-2769
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Affects Versions: 5.3.5.Final
> Reporter: Ondra Chaloupka
> Assignee: Michael Musgrove
> Priority: Blocker
> Attachments: JPAInjectedFailureCMRTestCase_injectFailOnCMRResourceCommit_jta_server.log, JPAProxyCMRCrashRecoveryTestCase_prepareHaltExitRecoveryProxyHalted_jta_server.log
>
>
> I can observe inconsistent behaviour of CMR resource against behavior of EAP 7.1.0.DR5 (Narayana 5.3.3.Final). The errors seem to come from implementation of method {{CommitMarkableResourceRecord#forgetHeuristic}}.
> I have two tests which fails under crash recovery testsuite and causes regression against behaviour of 7.0.0.GA (if tests are not wrong in some way).
> ad 1.
> * JPAInjectedFailureCMRTestCase#injectFailOnCMRResourceCommit
> This scenario injects throwing {{javax.resource.ResourceException}} at method {{javax.resource.spi.LocalTransaction#commit}}. When {{BasicAction#doForget}} is called there is thrown an {{LocalXAException}} from {{LocalXAResourceImpl}} and that's came to fact that method {{BasicAction#updateState}} does not call {{transactionStore.remove_committed}} and store is not cleaned.
> This is not clear integration test as exception is injected arbitrarily but at my current knowledge I don't find anything wrong with the test.
> ad 2.
> * JPAProxyCMRCrashRecoveryTestCase#prepareHaltExitRecoveryProxyHalted
> The second one is integration test where app server is crashed after 2PC prepare is finished. After restart is expected that both XA resources are rolled-back. When CMR is going to be a {{NullPointerException}} is thrown.
> {code}
> 2016-10-06 17:50:17,105 WARN [com.arjuna.ats.arjuna] (Periodic Recovery) ARJUNA012290: failed to recover Transaction 0:ffff7f000001:6351fff9:57f67185:2a: java.lang.NullPointerException
> at com.arjuna.ats.internal.jta.resources.arjunacore.CommitMarkableResourceRecord.forgetHeuristic(CommitMarkableResourceRecord.java:544)
> at com.arjuna.ats.arjuna.coordinator.BasicAction.doForget(BasicAction.java:3603)
> at com.arjuna.ats.arjuna.coordinator.BasicAction.forgetHeuristics(BasicAction.java:1347)
> at com.arjuna.ats.arjuna.coordinator.BasicAction.phase2Abort(BasicAction.java:1991)
> at com.arjuna.ats.arjuna.coordinator.BasicAction.doCommit(BasicAction.java:2852)
> at com.arjuna.ats.arjuna.coordinator.BasicAction.phase2Commit(BasicAction.java:1871)
> at com.arjuna.ats.arjuna.recovery.RecoverAtomicAction.replayPhase2(RecoverAtomicAction.java:71)
> at com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.doRecoverTransaction(AtomicActionRecoveryModule.java:152)
> at com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.processTransactionsStatus(AtomicActionRecoveryModule.java:253)
> at com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.periodicWorkSecondPass(AtomicActionRecoveryModule.java:109)
> at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:811)
> at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:377)
> {code}
--
This message was sent by Atlassian JIRA
(v7.2.2#72004)
8 years, 1 month
[JBoss JIRA] (JBTM-2779) Add licence file to missing quickstarts
by Amos Feng (JIRA)
[ https://issues.jboss.org/browse/JBTM-2779?page=com.atlassian.jira.plugin.... ]
Issue was automatically transitioned when Amos Feng created pull request #179 in GitHub
---------------------------------------------------------------------------------------
Status: Pull Request Sent (was: Open)
> Add licence file to missing quickstarts
> ---------------------------------------
>
> Key: JBTM-2779
> URL: https://issues.jboss.org/browse/JBTM-2779
> Project: JBoss Transaction Manager
> Issue Type: Task
> Components: Demonstrator
> Reporter: Tom Jenkinson
> Assignee: Amos Feng
> Fix For: 5.next
>
>
> There are a lot of quickstarts that do not have the expected licence declarations at the top of their files.
> You can find these:
> find . -type f | grep -v git | grep -v jar | grep -v tools | xargs grep -H -c 'Lesser\|LICENSE-2' | grep 0$ | cut -d':' -f1 | wc
> The correct licence should be added to them, you may find it easy to cat a licence file (in the correct .java, .xml, .sh, .bat format) to them.
> The licence is LGPL. Those that were originally ASL etc should remain that way.
--
This message was sent by Atlassian JIRA
(v7.2.2#72004)
8 years, 1 month
[JBoss JIRA] (JBTM-2780) JTS recovery does not process commit when connection is halt during 2PC
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2780?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson closed JBTM-2780.
-------------------------------
Resolution: Duplicate Issue
> JTS recovery does not process commit when connection is halt during 2PC
> -----------------------------------------------------------------------
>
> Key: JBTM-2780
> URL: https://issues.jboss.org/browse/JBTM-2780
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: JTS, Recovery
> Affects Versions: 5.3.5.Final
> Reporter: Ondra Chaloupka
> Assignee: Tom Jenkinson
> Priority: Critical
> Attachments: .jts_haltConnectionAfterDbCommits_server.log.syntax, haltConnectionAfterDbCommits_standalone-full.xml
>
>
> I experience wrong behavior of JTS implementation in following test scenario. This seems to be a regression against behavior of recovery for 7.0.0.GA.
> # there is two jboss eap 7.1.0.DR6 servers used. First deploys MDB and does periodic recovery. Second is used only as a Artemis messaging broker.
> # first app server receives a message via MDB #onMessage from artemis broker (second eap server)
> # during onMessage processing a enw message is send to different remote queue on artemis broker
> # testing XA resource is enlisted to txn
> # prepare phase passes for all 3 resources - mdb inbound, outbound queue, test xa resource
> # connection to the second server is halt at time when commit message of MDB resource is sent to artemis broker but the confirmation is not delivered back to TM
> # commit of MDB as xa resource and outbound queue as resource fail - XAException.XA_RETRY is returned
> # the test XAResource is committed
> # recovery starts work and log shows that XAResourceRecord.commit is called at some point of time but the real commit on the XAResource is not done and transaction is rolled back at the end
> The expected behavior (and what I can observe for JTA as well) is that recovery process should commit the outbound connection resource (MDB resource should be committed just not confirmed back from artemis broker to TM).
--
This message was sent by Atlassian JIRA
(v7.2.2#72004)
8 years, 1 month
[JBoss JIRA] (JBTM-2773) NPE when trying delete heuristic transaction (with CMR resource) from JDBC tx log-store
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2773?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson closed JBTM-2773.
-------------------------------
Resolution: Duplicate Issue
is incorporated by JBTM-2769
> NPE when trying delete heuristic transaction (with CMR resource) from JDBC tx log-store
> ---------------------------------------------------------------------------------------
>
> Key: JBTM-2773
> URL: https://issues.jboss.org/browse/JBTM-2773
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: Transaction Core
> Affects Versions: 5.3.5.Final
> Reporter: Daniel Simko
> Assignee: Tom Jenkinson
> Priority: Critical
>
> Part of the test is cleaning tx log-store:
> {code}
> 14:36:46,747 ERROR [org.jboss.as.test.jbossts.base.setup.operations.TMOperations] (main) Management operation {
> "operation" => "delete",
> "address" => [
> ("subsystem" => "transactions"),
> ("log-store" => "log-store"),
> ("transactions" => "0:ffff7f000001:-475b5c9c:5804af44:31")
> ]
> } failed: {
> "outcome" => "failed",
> "failure-description" => "java.lang.NullPointerException",
> "rolled-back" => true
> }
> {code}
> but fails with NPE. Server log:
> {code}
> 2016-10-17 14:36:42,798 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) InputObjectState::InputObjectState()
> 2016-10-17 14:36:42,798 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) OutputObjectState::OutputObjectState()
> 2016-10-17 14:36:43,140 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) StateManager::StateManager( 0:ffff7f000001:-475b5c9c:5804af44:31 )
> 2016-10-17 14:36:43,140 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) BasicAction::BasicAction(0:ffff7f000001:-475b5c9c:5804af44:31)
> 2016-10-17 14:36:43,141 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) BasicAction::activate() for action-id 0:ffff7f000001:-475b5c9c:5804af44:31
> 2016-10-17 14:36:43,308 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) InputObjectState::InputObjectState(0:ffff7f000001:-475b5c9c:5804af44:31, StateManager/BasicAction/TwoPhaseCoordinator/AtomicAction)
> 2016-10-17 14:36:43,474 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) BasicAction::restore_state ()
> 2016-10-17 14:36:43,475 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) StateManager.unpackHeader for object-id 0:ffff7f000001:-475b5c9c:5804af44:31 birth-date 1476707800081
> 2016-10-17 14:36:43,475 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) Unpacked a 463 record
> 2016-10-17 14:36:43,475 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) HeuristicList - Unpacked heuristic list size of 1
> 2016-10-17 14:36:43,475 WARN [com.arjuna.ats.arjuna] (management-handler-thread - 4) Transaction 0:ffff7f000001:-475b5c9c:5804af44:31 has 1 heuristic participant(s)!
> 2016-10-17 14:36:43,475 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) HeuristicList - Unpacked a 50 record
> 2016-10-17 14:36:43,475 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) StateManager::StateManager( 0:0:0:0:0 )
> 2016-10-17 14:36:43,475 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) AbstractRecord::AbstractRecord () - crash recovery constructor
> 2016-10-17 14:36:43,475 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) CommitMarkableResourceRecord.CommitMarkableResourceRecord (), record id=-8000000000000000:-8000000000000000:-80000000:-80000000:-80000000
> 2016-10-17 14:36:43,475 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) unpack: java:jboss/xa-datasources/CrashRecoveryDS
> 2016-10-17 14:36:43,475 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) unpack: < formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffff7f000001:-475b5c9c:5804af44:31, node_name=1, branch_uid=0:ffff7f000001:-475b5c9c:5804af44:37, subordinatenodename=null, eis_name=java:jboss/xa-datasources/CrashRecoveryDS >
> 2016-10-17 14:36:43,476 TRACE [com.arjuna.ats.jta] (management-handler-thread - 4) TransactionSynchronizationRegistryImple.getTransactionKey
> 2016-10-17 14:36:43,476 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) Attempting to delete number of entries: 2
> 2016-10-17 14:36:43,991 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) CommitMarkableResourceRecordRecoveryModule::periodicWorkFirstPass
> 2016-10-17 14:36:43,991 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) CommitMarkableResourceRecordRecoveryModule::connecting to: java:jboss/xa-datasources/CrashRecoveryDS
> 2016-10-17 14:36:43,991 TRACE [com.arjuna.ats.jta] (management-handler-thread - 4) TransactionSynchronizationRegistryImple.getTransactionKey
> 2016-10-17 14:36:44,334 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) InputObjectState::InputObjectState()
> 2016-10-17 14:36:44,335 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) OutputObjectState::OutputObjectState()
> 2016-10-17 14:36:44,669 DEBUG [com.arjuna.ats.arjuna] (management-handler-thread - 4) processing /StateManager/BasicAction/TwoPhaseCoordinator/AtomicAction transactions
> 2016-10-17 14:36:44,669 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) InputObjectState::InputObjectState()
> 2016-10-17 14:36:44,669 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) OutputObjectState::OutputObjectState()
> 2016-10-17 14:36:45,002 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) InputObjectState::InputObjectState()
> 2016-10-17 14:36:45,002 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) OutputObjectState::OutputObjectState()
> 2016-10-17 14:36:45,838 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) InputObjectState::InputObjectState(0:ffff7f000001:-475b5c9c:5804af44:31, StateManager/BasicAction/TwoPhaseCoordinator/AtomicAction)
> 2016-10-17 14:36:46,004 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) StateManager::StateManager( 0:ffff7f000001:-475b5c9c:5804af44:31 )
> 2016-10-17 14:36:46,004 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) BasicAction::BasicAction(0:ffff7f000001:-475b5c9c:5804af44:31)
> 2016-10-17 14:36:46,005 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) StateManager.unpackHeader for object-id 0:ffff7f000001:-475b5c9c:5804af44:31 birth-date 1476707800081
> 2016-10-17 14:36:46,005 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) wasCommitted< formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffff7f000001:-475b5c9c:5804af44:31, node_name=1, branch_uid=0:ffff7f000001:-475b5c9c:5804af44:37, subordinatenodename=null, eis_name=java:jboss/xa-datasources/CrashRecoveryDS > null
> 2016-10-17 14:36:46,005 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) RecordList::insert(RecordList: empty) : appending /StateManager/AbstractRecord/CommitMarkableResourceRecord for -8000000000000000:-8000000000000000:-80000000:-80000000:-80000000
> 2016-10-17 14:36:46,005 WARN [com.arjuna.ats.arjuna] (management-handler-thread - 4) Transaction 0:ffff7f000001:-475b5c9c:5804af44:31 restored heuristic participant com.arjuna.ats.internal.jta.resources.arjunacore.CommitMarkableResourceRecord@2493dae0
> 2016-10-17 14:36:46,005 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) HeuristicList - Unpacked a 463 record
> 2016-10-17 14:36:46,005 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) Restored action status of ActionStatus.COMMITTED 7
> 2016-10-17 14:36:46,005 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) Restored action type Top-level 0
> 2016-10-17 14:36:46,005 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) Restored heuristic decision of TwoPhaseOutcome.HEURISTIC_ROLLBACK 3
> 2016-10-17 14:36:46,005 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) StateManager::StateManager( 0:ffff7f000001:-475b5c9c:5804af44:31 )
> 2016-10-17 14:36:46,174 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) InputObjectState::InputObjectState(0:ffff7f000001:-475b5c9c:5804af44:31, StateManager/BasicAction/TwoPhaseCoordinator/AtomicAction)
> 2016-10-17 14:36:46,344 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) StateManager::activate( null) for object-id 0:0:0:0:0
> 2016-10-17 14:36:46,345 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) StateManager::setupStore ( null )
> 2016-10-17 14:36:46,682 WARN [com.arjuna.ats.arjuna] (management-handler-thread - 4) ARJUNA012035: Activate of object with id = 0:0:0:0:0 and type /StateManager/AbstractRecord/CommitMarkableResourceRecord unexpectedly failed
> 2016-10-17 14:36:46,682 TRACE [com.arjuna.ats.arjuna] (management-handler-thread - 4) Registering: jboss.jta:type=ObjectStore,itype=StateManager/BasicAction/TwoPhaseCoordinator/AtomicAction,uid=0_ffff7f000001_-475b5c9c_5804af44_31
> 2016-10-17 14:36:46,682 DEBUG [com.arjuna.ats.arjuna] (management-handler-thread - 4) registering bean jboss.jta:type=ObjectStore,itype=StateManager/BasicAction/TwoPhaseCoordinator/AtomicAction,uid=0_ffff7f000001_-475b5c9c_5804af44_31
> 2016-10-17 14:36:46,683 DEBUG [com.arjuna.ats.arjuna] (management-handler-thread - 4) registering bean jboss.jta:type=ObjectStore,itype=StateManager/BasicAction/TwoPhaseCoordinator/AtomicAction,uid=0_ffff7f000001_-475b5c9c_5804af44_31,puid=-8000000000000000_-8000000000000000_-80000000_-80000000_-80000000
> {code}
> Test passed for EAP 7.1.0.DR5 but failed for EAP 7.1.0.DR6. For another types of log-store (standard file based, activemq artemis journal) test passed.
--
This message was sent by Atlassian JIRA
(v7.2.2#72004)
8 years, 1 month
[JBoss JIRA] (JBTM-2769) Inconsistent behavior of CMR resource: CommitMarkableResourceRecord#forgetHeuristic
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2769?page=com.atlassian.jira.plugin.... ]
Issue was automatically transitioned when Tom Jenkinson created pull request #1085 in GitHub
--------------------------------------------------------------------------------------------
Status: Pull Request Sent (was: Open)
> Inconsistent behavior of CMR resource: CommitMarkableResourceRecord#forgetHeuristic
> -----------------------------------------------------------------------------------
>
> Key: JBTM-2769
> URL: https://issues.jboss.org/browse/JBTM-2769
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Affects Versions: 5.3.5.Final
> Reporter: Ondra Chaloupka
> Assignee: Michael Musgrove
> Priority: Blocker
> Attachments: JPAInjectedFailureCMRTestCase_injectFailOnCMRResourceCommit_jta_server.log, JPAProxyCMRCrashRecoveryTestCase_prepareHaltExitRecoveryProxyHalted_jta_server.log
>
>
> I can observe inconsistent behaviour of CMR resource against behavior of EAP 7.1.0.DR5 (Narayana 5.3.3.Final). The errors seem to come from implementation of method {{CommitMarkableResourceRecord#forgetHeuristic}}.
> I have two tests which fails under crash recovery testsuite and causes regression against behaviour of 7.0.0.GA (if tests are not wrong in some way).
> ad 1.
> * JPAInjectedFailureCMRTestCase#injectFailOnCMRResourceCommit
> This scenario injects throwing {{javax.resource.ResourceException}} at method {{javax.resource.spi.LocalTransaction#commit}}. When {{BasicAction#doForget}} is called there is thrown an {{LocalXAException}} from {{LocalXAResourceImpl}} and that's came to fact that method {{BasicAction#updateState}} does not call {{transactionStore.remove_committed}} and store is not cleaned.
> This is not clear integration test as exception is injected arbitrarily but at my current knowledge I don't find anything wrong with the test.
> ad 2.
> * JPAProxyCMRCrashRecoveryTestCase#prepareHaltExitRecoveryProxyHalted
> The second one is integration test where app server is crashed after 2PC prepare is finished. After restart is expected that both XA resources are rolled-back. When CMR is going to be a {{NullPointerException}} is thrown.
> {code}
> 2016-10-06 17:50:17,105 WARN [com.arjuna.ats.arjuna] (Periodic Recovery) ARJUNA012290: failed to recover Transaction 0:ffff7f000001:6351fff9:57f67185:2a: java.lang.NullPointerException
> at com.arjuna.ats.internal.jta.resources.arjunacore.CommitMarkableResourceRecord.forgetHeuristic(CommitMarkableResourceRecord.java:544)
> at com.arjuna.ats.arjuna.coordinator.BasicAction.doForget(BasicAction.java:3603)
> at com.arjuna.ats.arjuna.coordinator.BasicAction.forgetHeuristics(BasicAction.java:1347)
> at com.arjuna.ats.arjuna.coordinator.BasicAction.phase2Abort(BasicAction.java:1991)
> at com.arjuna.ats.arjuna.coordinator.BasicAction.doCommit(BasicAction.java:2852)
> at com.arjuna.ats.arjuna.coordinator.BasicAction.phase2Commit(BasicAction.java:1871)
> at com.arjuna.ats.arjuna.recovery.RecoverAtomicAction.replayPhase2(RecoverAtomicAction.java:71)
> at com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.doRecoverTransaction(AtomicActionRecoveryModule.java:152)
> at com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.processTransactionsStatus(AtomicActionRecoveryModule.java:253)
> at com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule.periodicWorkSecondPass(AtomicActionRecoveryModule.java:109)
> at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:811)
> at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:377)
> {code}
--
This message was sent by Atlassian JIRA
(v7.2.2#72004)
8 years, 1 month