[JBoss JIRA] (JBTM-2642) Interoperability issues with ArjunaJTS CosTransactions idl
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2642?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson updated JBTM-2642:
--------------------------------
Fix Version/s: 6.later
> Interoperability issues with ArjunaJTS CosTransactions idl
> ----------------------------------------------------------
>
> Key: JBTM-2642
> URL: https://issues.jboss.org/browse/JBTM-2642
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: JTS
> Reporter: Michael Musgrove
> Assignee: Michael Musgrove
> Fix For: 6.later
>
>
> The copy of CosTransactions.idl in our source tree does not match any of the OTS spec versions, in partciular the enum ordering of Status values is different so we get the wrong status when asking foreign application servers for the status of a transaction.
> I checked versions 1.0 and 1.1 (http://www.omg.org/spec/OTS/) and versions 1.3 and 1.4 (http://www.omg.org/spec/TRANS/), I could not locate version 1.2. The idl used by other application servers seems to match versions 1.3 and 1.4:
> {code}
> enum Status {
> StatusActive,
> StatusMarkedRollback,
> StatusPrepared,
> StatusCommitted,
> StatusRolledBack,
> StatusUnknown,
> StatusNoTransaction,
> StatusPreparing,
> StatusCommitting,
> StatusRollingBack
> };
> {code}
> whereas we are using
> {code}
> enum Status { StatusActive, StatusMarkedRollback, StatusPrepared,
> StatusCommitted, StatusRolledBack, StatusUnknown,
> StatusPreparing, StatusCommitting, StatusRollingBack,
> StatusNoTransaction };
> {code}
> Notice that the enum position of StatusNoTransaction is different.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 9 months
[JBoss JIRA] (JBTM-2642) Interoperability issues with ArjunaJTS CosTransactions idl
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2642?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson commented on JBTM-2642:
-------------------------------------
I set 6.later as it is likely a big change, we can bring it back down to 5.later if necessary with a config option.
> Interoperability issues with ArjunaJTS CosTransactions idl
> ----------------------------------------------------------
>
> Key: JBTM-2642
> URL: https://issues.jboss.org/browse/JBTM-2642
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: JTS
> Reporter: Michael Musgrove
> Assignee: Michael Musgrove
> Fix For: 6.later
>
>
> The copy of CosTransactions.idl in our source tree does not match any of the OTS spec versions, in partciular the enum ordering of Status values is different so we get the wrong status when asking foreign application servers for the status of a transaction.
> I checked versions 1.0 and 1.1 (http://www.omg.org/spec/OTS/) and versions 1.3 and 1.4 (http://www.omg.org/spec/TRANS/), I could not locate version 1.2. The idl used by other application servers seems to match versions 1.3 and 1.4:
> {code}
> enum Status {
> StatusActive,
> StatusMarkedRollback,
> StatusPrepared,
> StatusCommitted,
> StatusRolledBack,
> StatusUnknown,
> StatusNoTransaction,
> StatusPreparing,
> StatusCommitting,
> StatusRollingBack
> };
> {code}
> whereas we are using
> {code}
> enum Status { StatusActive, StatusMarkedRollback, StatusPrepared,
> StatusCommitted, StatusRolledBack, StatusUnknown,
> StatusPreparing, StatusCommitting, StatusRollingBack,
> StatusNoTransaction };
> {code}
> Notice that the enum position of StatusNoTransaction is different.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 9 months
[JBoss JIRA] (JBTM-2649) Inconsistent behavior of journal object store for heuristic state
by Michael Musgrove (JIRA)
[ https://issues.jboss.org/browse/JBTM-2649?page=com.atlassian.jira.plugin.... ]
Michael Musgrove reassigned JBTM-2649:
--------------------------------------
Assignee: Tom Jenkinson (was: Michael Musgrove)
> Inconsistent behavior of journal object store for heuristic state
> -----------------------------------------------------------------
>
> Key: JBTM-2649
> URL: https://issues.jboss.org/browse/JBTM-2649
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: Transaction Core
> Reporter: Tom Jenkinson
> Assignee: Tom Jenkinson
> Priority: Blocker
> Fix For: 5.2.15.Final, 5.next
>
>
> We do experience inconsistent behavior of journal object store (amq) against shadow store. This starts to happen from EAP7/Narayana 5.2.14.Final.
> Our test case:
> * enlist activemq JMS resource
> * enlist test XA resource
> * prepare JMS resource
> * prepare test XA resource
> * commit JMS resource
> * commit test XA resource
> ** byteman force {{topLevelCommit}} to return {{XAException.XA_HEURRB}}
> 2PC result for XA resource is {{TwoPhaseOutcome.HEURISTIC_HAZARD}} and client gets {{javax.transaction.HeuristicMixedException}}
> * probing log and showing state of transactions {{/subsystem=transactions/log-store=log-store:probe}}
> ** expecting one indoubt participant in HEURISTIC state
> * calling operation {{recovery}} on all transaction's participants
> * do recovery
> This works fine when Shadow log store or jdbc object store is used. For AMQ object log store the participant is first not in HEURISTIC state but is in state PREPARED. And second there is not only one participant of transaction in-doubt but they're returned two participants.
> Then during recovery process the periodic recovery also can see two participants for recovery (that's my feeling from log). Not only one as expected as first resource was already correctly committed (that's how shadow log store works).
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 9 months
[JBoss JIRA] (JBTM-2647) Extend compensations BAControler to allow enlistment of handlers by instance
by Gytis Trikleris (JIRA)
[ https://issues.jboss.org/browse/JBTM-2647?page=com.atlassian.jira.plugin.... ]
Issue was automatically transitioned when Gytis Trikleris created pull request #996 in GitHub
---------------------------------------------------------------------------------------------
Status: Pull Request Sent (was: Coding In Progress)
> Extend compensations BAControler to allow enlistment of handlers by instance
> ----------------------------------------------------------------------------
>
> Key: JBTM-2647
> URL: https://issues.jboss.org/browse/JBTM-2647
> Project: JBoss Transaction Manager
> Issue Type: Task
> Components: Compensations
> Reporter: Gytis Trikleris
> Assignee: Gytis Trikleris
> Fix For: 5.next
>
>
> Currently BAControler allows enlistment of handler only by class. It later creates instances using those classes when finishing the compensating transaction. Because of that it should be easy to allow enlisting of instances. This would allow using labdas when implementing handlers. Also instance could carry some extra information needed to compensate the transaction.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 9 months
[JBoss JIRA] (JBTM-2650) Remove typo from BAControler interface and its implementations
by Gytis Trikleris (JIRA)
Gytis Trikleris created JBTM-2650:
-------------------------------------
Summary: Remove typo from BAControler interface and its implementations
Key: JBTM-2650
URL: https://issues.jboss.org/browse/JBTM-2650
Project: JBoss Transaction Manager
Issue Type: Task
Components: Compensations
Reporter: Gytis Trikleris
Assignee: Gytis Trikleris
Priority: Minor
Fix For: 5.next
Fix typos in BAControler, LocalBAControler, and RemoteBAControler names. Also variables when those classes are used also have typos.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 9 months
[JBoss JIRA] (JBTM-2649) Inconsistent behavior of journal object store for heuristic state
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2649?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson updated JBTM-2649:
--------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
> Inconsistent behavior of journal object store for heuristic state
> -----------------------------------------------------------------
>
> Key: JBTM-2649
> URL: https://issues.jboss.org/browse/JBTM-2649
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: Transaction Core
> Reporter: Tom Jenkinson
> Assignee: Michael Musgrove
> Priority: Blocker
> Fix For: 5.2.15.Final, 5.next
>
>
> We do experience inconsistent behavior of journal object store (amq) against shadow store. This starts to happen from EAP7/Narayana 5.2.14.Final.
> Our test case:
> * enlist activemq JMS resource
> * enlist test XA resource
> * prepare JMS resource
> * prepare test XA resource
> * commit JMS resource
> * commit test XA resource
> ** byteman force {{topLevelCommit}} to return {{XAException.XA_HEURRB}}
> 2PC result for XA resource is {{TwoPhaseOutcome.HEURISTIC_HAZARD}} and client gets {{javax.transaction.HeuristicMixedException}}
> * probing log and showing state of transactions {{/subsystem=transactions/log-store=log-store:probe}}
> ** expecting one indoubt participant in HEURISTIC state
> * calling operation {{recovery}} on all transaction's participants
> * do recovery
> This works fine when Shadow log store or jdbc object store is used. For AMQ object log store the participant is first not in HEURISTIC state but is in state PREPARED. And second there is not only one participant of transaction in-doubt but they're returned two participants.
> Then during recovery process the periodic recovery also can see two participants for recovery (that's my feeling from log). Not only one as expected as first resource was already correctly committed (that's how shadow log store works).
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 9 months
[JBoss JIRA] (JBTM-2647) Extend compensations BAControler to allow enlistment of handlers by instance
by Gytis Trikleris (JIRA)
[ https://issues.jboss.org/browse/JBTM-2647?page=com.atlassian.jira.plugin.... ]
Work on JBTM-2647 started by Gytis Trikleris.
---------------------------------------------
> Extend compensations BAControler to allow enlistment of handlers by instance
> ----------------------------------------------------------------------------
>
> Key: JBTM-2647
> URL: https://issues.jboss.org/browse/JBTM-2647
> Project: JBoss Transaction Manager
> Issue Type: Task
> Components: Compensations
> Reporter: Gytis Trikleris
> Assignee: Gytis Trikleris
> Fix For: 5.next
>
>
> Currently BAControler allows enlistment of handler only by class. It later creates instances using those classes when finishing the compensating transaction. Because of that it should be easy to allow enlisting of instances. This would allow using labdas when implementing handlers. Also instance could carry some extra information needed to compensate the transaction.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 9 months
[JBoss JIRA] (JBTM-2649) Inconsistent behavior of journal object store for heuristic state
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2649?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson updated JBTM-2649:
--------------------------------
Fix Version/s: 5.2.15.Final
> Inconsistent behavior of journal object store for heuristic state
> -----------------------------------------------------------------
>
> Key: JBTM-2649
> URL: https://issues.jboss.org/browse/JBTM-2649
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: Transaction Core
> Reporter: Tom Jenkinson
> Assignee: Michael Musgrove
> Priority: Blocker
> Fix For: 5.2.15.Final, 5.next
>
>
> We do experience inconsistent behavior of journal object store (amq) against shadow store. This starts to happen from EAP7/Narayana 5.2.14.Final.
> Our test case:
> * enlist activemq JMS resource
> * enlist test XA resource
> * prepare JMS resource
> * prepare test XA resource
> * commit JMS resource
> * commit test XA resource
> ** byteman force {{topLevelCommit}} to return {{XAException.XA_HEURRB}}
> 2PC result for XA resource is {{TwoPhaseOutcome.HEURISTIC_HAZARD}} and client gets {{javax.transaction.HeuristicMixedException}}
> * probing log and showing state of transactions {{/subsystem=transactions/log-store=log-store:probe}}
> ** expecting one indoubt participant in HEURISTIC state
> * calling operation {{recovery}} on all transaction's participants
> * do recovery
> This works fine when Shadow log store or jdbc object store is used. For AMQ object log store the participant is first not in HEURISTIC state but is in state PREPARED. And second there is not only one participant of transaction in-doubt but they're returned two participants.
> Then during recovery process the periodic recovery also can see two participants for recovery (that's my feeling from log). Not only one as expected as first resource was already correctly committed (that's how shadow log store works).
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 9 months