[JBoss JIRA] (JBTM-2939) JTS for not putting transaction to heuristic state during recovery for XAException.XAER_NOTA
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2939?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson updated JBTM-2939:
--------------------------------
Fix Version/s: 5.next
> JTS for not putting transaction to heuristic state during recovery for XAException.XAER_NOTA
> --------------------------------------------------------------------------------------------
>
> Key: JBTM-2939
> URL: https://issues.jboss.org/browse/JBTM-2939
> Project: JBoss Transaction Manager
> Issue Type: Enhancement
> Components: JTS
> Affects Versions: 5.7.0.Final
> Reporter: Ondra Chaloupka
> Assignee: Ondra Chaloupka
> Fix For: 5.next
>
>
> JTS moves transaction to heuristic state when participant during recovery returns {{XAExeption.XAER_NOTA}} error code. This is a bit pointless as this particular error code does not mean that there was some trouble with RM but that RM just already does not know about the transaction branch. For recovery it means that the branch was committed/rolled-back either before recovery started or in some previous recovery run (where probably something crashed).
> We can assumed the transaction was completed and ignore the {{XAER_NOTA}} (in case of recovery). This behaviour is already present in JTA.
> This came from EAP issue: JBEAP-13023 where you can find more on the reproducing.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 2 months
[JBoss JIRA] (JBTM-2939) JTS for not putting transaction to heuristic state during recovery for XAException.XAER_NOTA
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2939?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson resolved JBTM-2939.
---------------------------------
Resolution: Done
> JTS for not putting transaction to heuristic state during recovery for XAException.XAER_NOTA
> --------------------------------------------------------------------------------------------
>
> Key: JBTM-2939
> URL: https://issues.jboss.org/browse/JBTM-2939
> Project: JBoss Transaction Manager
> Issue Type: Enhancement
> Components: JTS
> Affects Versions: 5.7.0.Final
> Reporter: Ondra Chaloupka
> Assignee: Ondra Chaloupka
> Fix For: 5.next
>
>
> JTS moves transaction to heuristic state when participant during recovery returns {{XAExeption.XAER_NOTA}} error code. This is a bit pointless as this particular error code does not mean that there was some trouble with RM but that RM just already does not know about the transaction branch. For recovery it means that the branch was committed/rolled-back either before recovery started or in some previous recovery run (where probably something crashed).
> We can assumed the transaction was completed and ignore the {{XAER_NOTA}} (in case of recovery). This behaviour is already present in JTA.
> This came from EAP issue: JBEAP-13023 where you can find more on the reproducing.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 2 months
[JBoss JIRA] (JBTM-2880) Refactor codebase to minimize usage of e.printStackTrace() call and change for using logger
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2880?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson updated JBTM-2880:
--------------------------------
Fix Version/s: 5.next
> Refactor codebase to minimize usage of e.printStackTrace() call and change for using logger
> -------------------------------------------------------------------------------------------
>
> Key: JBTM-2880
> URL: https://issues.jboss.org/browse/JBTM-2880
> Project: JBoss Transaction Manager
> Issue Type: Enhancement
> Affects Versions: 5.5.6.Final
> Reporter: Ondra Chaloupka
> Assignee: Ondra Chaloupka
> Priority: Minor
> Fix For: 5.next
>
>
> The code base uses call `e.printStackTrace()` on several places. That usage should be minimized and used only when it's good reason for it. In general such calls should be replaced printing with `logger`, probably in level `WARN` with some additional information, why the stacktrace is printed - what error occured - included.
> By quick check these are places where exception stack trace is printed directly to `stderr`.
> {code}
> -vertx/shared/src/main/java/ClientVerticle.java-
> -vertx/shared/src/main/java/SampleVerticle2.java-
> -vertx/shared/src/main/java/SampleVerticle1.java-
> osgi/jta/src/main/java/org/jboss/narayana/osgi/jta/internal/ObjStoreBrowserImpl.java
> XTS/WSAS/classes/com/arjuna/mwlabs/wsas/UserActivityImple.java
> XTS/WSAS/classes/com/arjuna/mwlabs/wsas/activity/ActivityHandleImple.java
> XTS/WSCF/classes/com/arjuna/mwlabs/wscf11/model/sagas/arjunacore/SagasHLSImple.java
> XTS/WSCF/classes/com/arjuna/mwlabs/wscf11/model/twophase/arjunacore/TwoPhaseHLSImple.java
> XTS/WSCF/classes/com/arjuna/mwlabs/wscf/model/sagas/arjunacore/ParticipantRecord.java
> XTS/WSCF/classes/com/arjuna/mwlabs/wscf/model/sagas/arjunacore/CoordinatorControl.java
> XTS/WSCF/classes/com/arjuna/mwlabs/wscf/model/twophase/arjunacore/ParticipantRecord.java
> XTS/WSCF/classes/com/arjuna/mwlabs/wscf/model/twophase/arjunacore/CoordinatorControl.java
> XTS/WSCF/classes/com/arjuna/mw/wscf/utils/DomUtil.java
> XTS/WSCF/classes/com/arjuna/mw/wscf/protocols/ProtocolManager.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/at/RegistrarImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/at/context/ArjunaContextImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/at/remote/TransactionManagerImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/at/remote/UserTransactionImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/at/remote/UserTransactionStandaloneImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/at/participants/CleanupSynchronization.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/at/ContextFactoryImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/ba/context/ArjunaContextImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/ba/remote/UserBusinessActivityImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/ba/remote/BusinessActivityManagerImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/ba/remote/BAParticipantManagerImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/ba/remote/UserBusinessActivityStandaloneImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/ba/participants/CleanupSynchronization.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/ba/ContextFactoryImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst/at/participants/DurableTwoPhaseCommitParticipant.java
> XTS/localjunit/WSTX11-interop/src/main/java/com/jboss/transaction/txinterop/proxy/ProxyListenerService.java
> XTS/localjunit/WSTFSC07-interop/src/main/java/com/jboss/transaction/wstf/proxy/ProxyListenerService.java
> XTS/WS-T/dev/src/com/arjuna/schemas/ws/_2005/_10/wsarjtx/TerminationCoordinatorRPCService.java
> XTS/WS-T/dev/src/com/arjuna/wst11/stub/CompletionStub.java
> XTS/WS-T/dev/src/com/arjuna/wst11/stub/CompletionRPCStub.java
> XTS/WS-T/dev/src/com/arjuna/wst11/stub/BusinessActivityTerminatorRPCStub.java
> XTS/WS-T/dev/src/com/arjuna/wst11/messaging/TerminationCoordinatorRPCProcessorImpl.java
> XTS/WS-T/dev/src/com/arjuna/wst11/messaging/CompletionCoordinatorProcessorImpl.java
> XTS/WS-T/dev/src/com/arjuna/wst11/messaging/CompletionCoordinatorRPCProcessorImpl.java
> XTS/WS-T/dev/src/com/arjuna/wst11/messaging/TerminationCoordinatorProcessorImpl.java
> XTS/WS-C/dev/src/com/arjuna/wsc11/messaging/ActivationCoordinatorProcessorImpl.java
> XTS/WS-C/dev/src/com/arjuna/wsc11/messaging/RegistrationCoordinatorProcessorImpl.java
> XTS/WS-C/dev/src/com/arjuna/webservices/SoapFault.java
> ArjunaJTA/jta/classes/com/arjuna/ats/jta/xa/XidImple.java
> ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/jca/XATerminatorImple.java
> ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/jca/TransactionImporterImple.java
> ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/TransactionImple.java
> ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/subordinate/TransactionImple.java
> ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/recovery/arjunacore/SubordinateJTAXAResourceOrphanFilter.java
> ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/DirectRecoverableConnection.java
> ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/ConnectionManager.java
> ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/ProvidedXADataSourceConnection.java
> ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/IndirectRecoverableConnection.java
> ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/recovery/JDBCXARecovery.java
> blacktie/utils/cpp-plugin/src/main/java/org/jboss/narayana/blacktie/plugins/AddCommonSources.java
> blacktie/jatmibroker-xatmi/src/main/java/org/jboss/narayana/blacktie/jatmibroker/core/server/SocketServer.java
> blacktie/wildfly-blacktie/subsystem/src/main/java/org/codehaus/stomp/jms/ProtocolConverter.java
> blacktie/blacktie-admin-services/src/main/java/org/jboss/narayana/blacktie/administration/core/AdministrationProxy.java
> tools/src/main/java/io/narayana/perf/Measurement.java
> rts/at/tx/src/main/java/org/jboss/jbossts/star/resource/RESTRecord.java
> rts/at/tx/src/main/java/org/jboss/jbossts/star/service/Coordinator.java
> txframework/src/main/java/org/jboss/narayana/txframework/impl/Participant.java
> compensations/src/main/java/org/jboss/narayana/compensations/internal/ParticipantInterceptor.java
> compensations/src/main/java/org/jboss/narayana/compensations/internal/ParticipantImpl.java
> ArjunaCore/arjuna/services/classes/com/arjuna/ats/arjuna/services/recovery/RecoveryManagerService.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/utils/AndroidProcessId.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/abstractrecords/CadaverRecord.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/objectstore/ShadowingStore.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/objectstore/CacheStore.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/objectstore/LogStore.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/AbstractRecord.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/BasicAction.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/ObjectStoreEnvironmentBean.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/tools/log/LogBrowser.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/tools/stats/TxPerfGraph.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/tools/OTM.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/StateManager.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/recovery/RecoveryManager.java
> ArjunaJTS/integration/src/main/java/com/arjuna/ats/internal/jbossatx/jta/jca/XATerminator.java
> ArjunaJTS/integration/src/main/java/com/arjuna/ats/internal/jbossatx/jts/jca/XATerminator.java
> ArjunaJTS/integration/src/main/java/com/arjuna/ats/internal/jbossatx/jts/PropagationContextManager.java
> ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/jca/XATerminatorImple.java
> ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/BaseTransaction.java
> ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/TransactionImple.java
> ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/subordinate/jca/coordinator/ServerTransaction.java
> ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/subordinate/jca/SubordinateAtomicTransaction.java
> ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/subordinate/TransactionImple.java
> ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/subordinate/SubordinateAtomicTransaction.java
> ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific/XAResourceRecord.java
> ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/recovery/jts/JCAServerTransactionRecoveryModule.java
> ArjunaJTS/orbportability/classes/com/arjuna/orbportability/common/ant/IDLCompiler.java
> ArjunaJTS/jts/services/classes/com/arjuna/ats/jts/services/transactionserver/TransactionServerService.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/utils/TxStoreLog.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/interposition/ServerControl.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/coordinator/ArjunaTransactionImple.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/jacorb/recoverycoordinators/ORBRunner.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/jacorb/recoverycoordinators/JacOrbRCServiceInit.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/ibmorb/recoverycoordinators/ORBRunner.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/javaidl/recoverycoordinators/ORBRunner.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/CurrentImple.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/TransactionFactoryImple.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/recovery/RecoveryEnablement.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/context/ContextManager.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/resources/ExtendedResourceRecord.java
> ArjunaJTS/jts/classes/com/arjuna/ats/jts/TransactionServer.java
> ArjunaJTS/jts/classes/com/arjuna/ats/jts/orbspecific/jacorb/interceptors/interposition/InterpositionClientRequestInterceptorImpl.java
> ArjunaJTS/jts/classes/com/arjuna/ats/jts/orbspecific/jacorb/interceptors/context/ContextServerRequestInterceptorImpl.java
> ArjunaJTS/jts/classes/com/arjuna/ats/jts/orbspecific/ibmorb/interceptors/context/ContextServerRequestInterceptorImpl.java
> ArjunaJTS/jts/classes/com/arjuna/ats/jts/orbspecific/javaidl/interceptors/context/ContextServerRequestInterceptorImpl.java
> ArjunaJTS/jts/classes/com/arjuna/ats/jts/ExplicitInterposition.java
> STM/src/main/java/org/jboss/stm/internal/reflect/InvocationHandler.java
> STM/src/main/java/org/jboss/stm/internal/proxy/OptimisticLockManagerProxy.java
> STM/src/main/java/org/jboss/stm/internal/proxy/LockManagerProxy.java
> STM/src/main/java/org/jboss/stm/internal/optimistic/OptimisticLockRecord.java
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 2 months
[JBoss JIRA] (JBTM-2880) Refactor codebase to minimize usage of e.printStackTrace() call and change for using logger
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2880?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson updated JBTM-2880:
--------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
> Refactor codebase to minimize usage of e.printStackTrace() call and change for using logger
> -------------------------------------------------------------------------------------------
>
> Key: JBTM-2880
> URL: https://issues.jboss.org/browse/JBTM-2880
> Project: JBoss Transaction Manager
> Issue Type: Enhancement
> Affects Versions: 5.5.6.Final
> Reporter: Ondra Chaloupka
> Assignee: Ondra Chaloupka
> Priority: Minor
> Fix For: 5.next
>
>
> The code base uses call `e.printStackTrace()` on several places. That usage should be minimized and used only when it's good reason for it. In general such calls should be replaced printing with `logger`, probably in level `WARN` with some additional information, why the stacktrace is printed - what error occured - included.
> By quick check these are places where exception stack trace is printed directly to `stderr`.
> {code}
> -vertx/shared/src/main/java/ClientVerticle.java-
> -vertx/shared/src/main/java/SampleVerticle2.java-
> -vertx/shared/src/main/java/SampleVerticle1.java-
> osgi/jta/src/main/java/org/jboss/narayana/osgi/jta/internal/ObjStoreBrowserImpl.java
> XTS/WSAS/classes/com/arjuna/mwlabs/wsas/UserActivityImple.java
> XTS/WSAS/classes/com/arjuna/mwlabs/wsas/activity/ActivityHandleImple.java
> XTS/WSCF/classes/com/arjuna/mwlabs/wscf11/model/sagas/arjunacore/SagasHLSImple.java
> XTS/WSCF/classes/com/arjuna/mwlabs/wscf11/model/twophase/arjunacore/TwoPhaseHLSImple.java
> XTS/WSCF/classes/com/arjuna/mwlabs/wscf/model/sagas/arjunacore/ParticipantRecord.java
> XTS/WSCF/classes/com/arjuna/mwlabs/wscf/model/sagas/arjunacore/CoordinatorControl.java
> XTS/WSCF/classes/com/arjuna/mwlabs/wscf/model/twophase/arjunacore/ParticipantRecord.java
> XTS/WSCF/classes/com/arjuna/mwlabs/wscf/model/twophase/arjunacore/CoordinatorControl.java
> XTS/WSCF/classes/com/arjuna/mw/wscf/utils/DomUtil.java
> XTS/WSCF/classes/com/arjuna/mw/wscf/protocols/ProtocolManager.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/at/RegistrarImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/at/context/ArjunaContextImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/at/remote/TransactionManagerImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/at/remote/UserTransactionImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/at/remote/UserTransactionStandaloneImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/at/participants/CleanupSynchronization.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/at/ContextFactoryImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/ba/context/ArjunaContextImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/ba/remote/UserBusinessActivityImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/ba/remote/BusinessActivityManagerImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/ba/remote/BAParticipantManagerImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/ba/remote/UserBusinessActivityStandaloneImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/ba/participants/CleanupSynchronization.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst11/ba/ContextFactoryImple.java
> XTS/WSTX/classes/com/arjuna/mwlabs/wst/at/participants/DurableTwoPhaseCommitParticipant.java
> XTS/localjunit/WSTX11-interop/src/main/java/com/jboss/transaction/txinterop/proxy/ProxyListenerService.java
> XTS/localjunit/WSTFSC07-interop/src/main/java/com/jboss/transaction/wstf/proxy/ProxyListenerService.java
> XTS/WS-T/dev/src/com/arjuna/schemas/ws/_2005/_10/wsarjtx/TerminationCoordinatorRPCService.java
> XTS/WS-T/dev/src/com/arjuna/wst11/stub/CompletionStub.java
> XTS/WS-T/dev/src/com/arjuna/wst11/stub/CompletionRPCStub.java
> XTS/WS-T/dev/src/com/arjuna/wst11/stub/BusinessActivityTerminatorRPCStub.java
> XTS/WS-T/dev/src/com/arjuna/wst11/messaging/TerminationCoordinatorRPCProcessorImpl.java
> XTS/WS-T/dev/src/com/arjuna/wst11/messaging/CompletionCoordinatorProcessorImpl.java
> XTS/WS-T/dev/src/com/arjuna/wst11/messaging/CompletionCoordinatorRPCProcessorImpl.java
> XTS/WS-T/dev/src/com/arjuna/wst11/messaging/TerminationCoordinatorProcessorImpl.java
> XTS/WS-C/dev/src/com/arjuna/wsc11/messaging/ActivationCoordinatorProcessorImpl.java
> XTS/WS-C/dev/src/com/arjuna/wsc11/messaging/RegistrationCoordinatorProcessorImpl.java
> XTS/WS-C/dev/src/com/arjuna/webservices/SoapFault.java
> ArjunaJTA/jta/classes/com/arjuna/ats/jta/xa/XidImple.java
> ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/jca/XATerminatorImple.java
> ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/jca/TransactionImporterImple.java
> ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/TransactionImple.java
> ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/subordinate/TransactionImple.java
> ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/recovery/arjunacore/SubordinateJTAXAResourceOrphanFilter.java
> ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/DirectRecoverableConnection.java
> ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/ConnectionManager.java
> ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/ProvidedXADataSourceConnection.java
> ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/IndirectRecoverableConnection.java
> ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/recovery/JDBCXARecovery.java
> blacktie/utils/cpp-plugin/src/main/java/org/jboss/narayana/blacktie/plugins/AddCommonSources.java
> blacktie/jatmibroker-xatmi/src/main/java/org/jboss/narayana/blacktie/jatmibroker/core/server/SocketServer.java
> blacktie/wildfly-blacktie/subsystem/src/main/java/org/codehaus/stomp/jms/ProtocolConverter.java
> blacktie/blacktie-admin-services/src/main/java/org/jboss/narayana/blacktie/administration/core/AdministrationProxy.java
> tools/src/main/java/io/narayana/perf/Measurement.java
> rts/at/tx/src/main/java/org/jboss/jbossts/star/resource/RESTRecord.java
> rts/at/tx/src/main/java/org/jboss/jbossts/star/service/Coordinator.java
> txframework/src/main/java/org/jboss/narayana/txframework/impl/Participant.java
> compensations/src/main/java/org/jboss/narayana/compensations/internal/ParticipantInterceptor.java
> compensations/src/main/java/org/jboss/narayana/compensations/internal/ParticipantImpl.java
> ArjunaCore/arjuna/services/classes/com/arjuna/ats/arjuna/services/recovery/RecoveryManagerService.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/utils/AndroidProcessId.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/abstractrecords/CadaverRecord.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/objectstore/ShadowingStore.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/objectstore/CacheStore.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/objectstore/LogStore.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/AbstractRecord.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/BasicAction.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/ObjectStoreEnvironmentBean.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/tools/log/LogBrowser.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/tools/stats/TxPerfGraph.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/tools/OTM.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/StateManager.java
> ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/recovery/RecoveryManager.java
> ArjunaJTS/integration/src/main/java/com/arjuna/ats/internal/jbossatx/jta/jca/XATerminator.java
> ArjunaJTS/integration/src/main/java/com/arjuna/ats/internal/jbossatx/jts/jca/XATerminator.java
> ArjunaJTS/integration/src/main/java/com/arjuna/ats/internal/jbossatx/jts/PropagationContextManager.java
> ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/jca/XATerminatorImple.java
> ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/BaseTransaction.java
> ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/TransactionImple.java
> ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/subordinate/jca/coordinator/ServerTransaction.java
> ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/subordinate/jca/SubordinateAtomicTransaction.java
> ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/subordinate/TransactionImple.java
> ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/subordinate/SubordinateAtomicTransaction.java
> ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific/XAResourceRecord.java
> ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/recovery/jts/JCAServerTransactionRecoveryModule.java
> ArjunaJTS/orbportability/classes/com/arjuna/orbportability/common/ant/IDLCompiler.java
> ArjunaJTS/jts/services/classes/com/arjuna/ats/jts/services/transactionserver/TransactionServerService.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/utils/TxStoreLog.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/interposition/ServerControl.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/coordinator/ArjunaTransactionImple.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/jacorb/recoverycoordinators/ORBRunner.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/jacorb/recoverycoordinators/JacOrbRCServiceInit.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/ibmorb/recoverycoordinators/ORBRunner.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/javaidl/recoverycoordinators/ORBRunner.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/CurrentImple.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/TransactionFactoryImple.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/recovery/RecoveryEnablement.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/context/ContextManager.java
> ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/resources/ExtendedResourceRecord.java
> ArjunaJTS/jts/classes/com/arjuna/ats/jts/TransactionServer.java
> ArjunaJTS/jts/classes/com/arjuna/ats/jts/orbspecific/jacorb/interceptors/interposition/InterpositionClientRequestInterceptorImpl.java
> ArjunaJTS/jts/classes/com/arjuna/ats/jts/orbspecific/jacorb/interceptors/context/ContextServerRequestInterceptorImpl.java
> ArjunaJTS/jts/classes/com/arjuna/ats/jts/orbspecific/ibmorb/interceptors/context/ContextServerRequestInterceptorImpl.java
> ArjunaJTS/jts/classes/com/arjuna/ats/jts/orbspecific/javaidl/interceptors/context/ContextServerRequestInterceptorImpl.java
> ArjunaJTS/jts/classes/com/arjuna/ats/jts/ExplicitInterposition.java
> STM/src/main/java/org/jboss/stm/internal/reflect/InvocationHandler.java
> STM/src/main/java/org/jboss/stm/internal/proxy/OptimisticLockManagerProxy.java
> STM/src/main/java/org/jboss/stm/internal/proxy/LockManagerProxy.java
> STM/src/main/java/org/jboss/stm/internal/optimistic/OptimisticLockRecord.java
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 2 months
[JBoss JIRA] (JBTM-2831) Fix RTS inbound bridge participant deserialiser registration
by Michael Musgrove (JIRA)
[ https://issues.jboss.org/browse/JBTM-2831?page=com.atlassian.jira.plugin.... ]
Michael Musgrove updated JBTM-2831:
-----------------------------------
Fix Version/s: 5.later
(was: 5.next)
> Fix RTS inbound bridge participant deserialiser registration
> ------------------------------------------------------------
>
> Key: JBTM-2831
> URL: https://issues.jboss.org/browse/JBTM-2831
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: REST
> Reporter: Gytis Trikleris
> Assignee: Michael Musgrove
> Fix For: 5.later
>
>
> Inbound bridge participant deserialiser is registered when InboundBridgeManager is created [1]. That deserialiser is immediately used to recreate participants and update REST-AT coordinator via its HTTP resource.
> In WildFly deserialiser registration used to be triggered by creating InboundBridgeManager instance in InboundBridgeService#start method.
> However, Undertow subsystem update was introduced which collected and held all HTTP requests until application server completed boot-up. This caused a lock because HTTP call to REST-AT coordinator was being held and InboundBridgeService was waiting for the response. As a result server never completed boot.
> Tom has removed that initialisation as a workaround [2]. Everything still works, because inbound bridge recovery manager initialises InboundBridgeManager too. However, only in the second pass. This causes warnings messages during the first cycle of the recovery by REST-AT recovery module.
> I'm suggesting to remove deserialiser registration from InboundBridgeManager constructor to keep it as simple as possible and move it to other place were it could be invoked safely and on time e.g. start of first pass of InboundBridgeRecoveryModule.
> [1] https://github.com/jbosstm/narayana/blob/5.5.0.Final/rts/at/bridge/src/ma...
> [2] https://github.com/wildfly/wildfly/commit/6bc2e6a20b665201505f12c1c22fda9...
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 2 months