[JBoss JIRA] (JBTM-2725) Race condition in ControlWrapper
by Tomasz Adamski (JIRA)
[ https://issues.jboss.org/browse/JBTM-2725?page=com.atlassian.jira.plugin.... ]
Tomasz Adamski edited comment on JBTM-2725 at 8/11/16 5:59 PM:
---------------------------------------------------------------
Hey,
I usually edit the description after creating JIRA - it is already here ;)
Ehh, those errors are intermittent and I hoped this would be the last fix to stop them but unfortunately got another one even with synchronized block - I'm looking at the issue further :/
OK - there is lot of ControlWrappers created so synchronized on it's rollback method was not effective. I have synchronized the code on the ControlImple object which (to my understanding) is shared during the whole transaction. After this change the error does not occur.
was (Author: tomekadamski):
Hey,
I usually edit the description after creating JIRA - it is already here ;)
Ehh, those errors are intermittent and I hoped this would be the last fix to stop them but unfortunately got another one even with synchronized block - I'm looking at the issue further :/
> Race condition in ControlWrapper
> --------------------------------
>
> Key: JBTM-2725
> URL: https://issues.jboss.org/browse/JBTM-2725
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: JTS
> Affects Versions: 5.3.3.Final
> Reporter: Tomasz Adamski
> Assignee: Tomasz Adamski
>
> I have encountered another problem during timeout induced rollback scenario. When the thread rolls back the transaction immediately after the reaper they both end in ControlWrapper#rollback method. This should be synchronized: if it is not both threads may call TransactionImple#rollback method which is not expected and leads to IllegalStateException error. In synchronized scenario second thread in ControlWrapper#rollback method see that the TransactionImple has already been disassociated with the thread and throws TRANSACTION_ROLLEDBACK exception which is expected.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 8 months
[JBoss JIRA] (JBTM-2725) Race condition in ControlWrapper
by Tomasz Adamski (JIRA)
[ https://issues.jboss.org/browse/JBTM-2725?page=com.atlassian.jira.plugin.... ]
Issue was automatically transitioned when Tomasz Adamski created pull request #1049 in GitHub
---------------------------------------------------------------------------------------------
Status: Pull Request Sent (was: Open)
> Race condition in ControlWrapper
> --------------------------------
>
> Key: JBTM-2725
> URL: https://issues.jboss.org/browse/JBTM-2725
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: JTS
> Affects Versions: 5.3.3.Final
> Reporter: Tomasz Adamski
> Assignee: Tomasz Adamski
>
> I have encountered another problem during timeout induced rollback scenario. When the thread rolls back the transaction immediately after the reaper they both end in ControlWrapper#rollback method. This should be synchronized: if it is not both threads may call TransactionImple#rollback method which is not expected and leads to IllegalStateException error. In synchronized scenario second thread in ControlWrapper#rollback method see that the TransactionImple has already been disassociated with the thread and throws TRANSACTION_ROLLEDBACK exception which is expected.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 8 months
[JBoss JIRA] (JBTM-2728) Add a forget operation to the tooling
by Michael Musgrove (JIRA)
Michael Musgrove created JBTM-2728:
--------------------------------------
Summary: Add a forget operation to the tooling
Key: JBTM-2728
URL: https://issues.jboss.org/browse/JBTM-2728
Project: JBoss Transaction Manager
Issue Type: Feature Request
Components: Tooling
Reporter: Michael Musgrove
Assignee: Michael Musgrove
Fix For: 5.next
The tooling provides two features for dealing with heuristic participants:
* a recover command that will move it back into the prepared state if the admin thinks a second prepare attempt is likely to succeed;
* a delete operation if the admin thinks it safe to do so;
In the case of XA resources we also need a forget operation which will trigger the resource adaptor to clean up its end instead of relying on the admin to use tooling provided by the RA to clean up.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 8 months
[JBoss JIRA] (JBTM-2727) Add debug profile
by Gytis Trikleris (JIRA)
[ https://issues.jboss.org/browse/JBTM-2727?page=com.atlassian.jira.plugin.... ]
Issue was automatically transitioned when Gytis Trikleris created pull request #1048 in GitHub
----------------------------------------------------------------------------------------------
Status: Pull Request Sent (was: Open)
> Add debug profile
> -----------------
>
> Key: JBTM-2727
> URL: https://issues.jboss.org/browse/JBTM-2727
> Project: JBoss Transaction Manager
> Issue Type: Task
> Components: Build System
> Reporter: Gytis Trikleris
> Assignee: Gytis Trikleris
> Priority: Optional
> Fix For: 5.next
>
>
> Add debug profile to the main pom.xml to make it easier to debug arquillian tests.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 8 months
[JBoss JIRA] (JBTM-2727) Add debug profile
by Gytis Trikleris (JIRA)
Gytis Trikleris created JBTM-2727:
-------------------------------------
Summary: Add debug profile
Key: JBTM-2727
URL: https://issues.jboss.org/browse/JBTM-2727
Project: JBoss Transaction Manager
Issue Type: Task
Components: Build System
Reporter: Gytis Trikleris
Assignee: Gytis Trikleris
Priority: Optional
Fix For: 5.next
Add debug profile to the main pom.xml to make it easier to debug arquillian tests.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 8 months
[JBoss JIRA] (JBTM-2614) JCA TransactionImporter should be thread safe
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/JBTM-2614?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on JBTM-2614:
-----------------------------------------------
Shaun Appleton <sappleto(a)redhat.com> changed the Status of [bug 1360648|https://bugzilla.redhat.com/show_bug.cgi?id=1360648] from POST to ON_QA
> JCA TransactionImporter should be thread safe
> ---------------------------------------------
>
> Key: JBTM-2614
> URL: https://issues.jboss.org/browse/JBTM-2614
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: JCA
> Affects Versions: 5.2.12.Final
> Reporter: Michael Musgrove
> Assignee: Michael Musgrove
> Fix For: 5.2.13.Final, 4.17.35
>
>
> I have a unit test that shows there's a race condition (first observed by [~dmlloyd]) in com.arjuna.ats.internal.jta.transaction.arjunacore.jca.TransactionImporterImple#importTransaction(javax.transaction.xa.Xid, int).
> If two threads call this method at the same time, two separate transaction objects may be created. Here's the sequence of events:
> T1: call importTransaction for XID1
> T2: call importTransaction for XID1
> T1: getImportedTransaction returns null
> T2: getImportedTransaction returns null
> T1: create new transaction, add to map
> T2: create new transaction, add to map (overwriting T1's)
> There is nothing in the documentation to indicate that this is not a valid situation or that access to the TransactionImporter has to be single-threaded in any way.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 8 months
[JBoss JIRA] (JBTM-2726) Replace deprecated OutputCapture in Spring Boot quickstart test
by Gytis Trikleris (JIRA)
Gytis Trikleris created JBTM-2726:
-------------------------------------
Summary: Replace deprecated OutputCapture in Spring Boot quickstart test
Key: JBTM-2726
URL: https://issues.jboss.org/browse/JBTM-2726
Project: JBoss Transaction Manager
Issue Type: Task
Components: Demonstrator
Reporter: Gytis Trikleris
Assignee: Gytis Trikleris
Priority: Minor
Fix For: 5.next
Replace deprecated org.springframework.boot.test.OutputCapture with org.springframework.boot.test.rule.OutputCapture.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 8 months