[JBoss JIRA] (JBTM-2614) JCA TransactionImporter should be thread safe
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2614?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson commented on JBTM-2614:
-------------------------------------
Is the unit test the one in the PR?
> 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.next
>
>
> 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)
8 years, 11 months
[JBoss JIRA] (JBTM-2614) JCA TransactionImporter should be thread safe
by Michael Musgrove (JIRA)
Michael Musgrove created JBTM-2614:
--------------------------------------
Summary: 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.next
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)
8 years, 11 months
[JBoss JIRA] (JBTM-1820) Integrate with Camel to support XA Transaction
by Jive JIRA Integration (JIRA)
[ https://issues.jboss.org/browse/JBTM-1820?page=com.atlassian.jira.plugin.... ]
Jive JIRA Integration updated JBTM-1820:
----------------------------------------
Forum Reference: https://developer.jboss.org/message/949549#949549
> Integrate with Camel to support XA Transaction
> ----------------------------------------------
>
> Key: JBTM-1820
> URL: https://issues.jboss.org/browse/JBTM-1820
> Project: JBoss Transaction Manager
> Issue Type: Enhancement
> Components: Application Server Integration
> Reporter: Amos Feng
> Assignee: Amos Feng
> Fix For: 5.later
>
>
> From Ning Jiang (njiang(a)redhat.com)
> {noformat}
> Camel is using Spring TransactionTemplates to implement the Transactional Client pattern[1].
> As the Spring PlatformTransactionManager cannot manage the multiple resources, we are using the atomikos to show the user how to manage the transactions between JMS and DB resource. It could great if we can replace the atomikos with narayana, then we can promote this example as reference to SA who can sale the solution to the customer.
> Another interesting task could be using the narayana JTA wrapper classes to replace the Spring TransactionTemplate in Camel. As we don't want to build out products on top of Spring framework, using narayana could help us to get ride of Spring and introduce the narayana to integration customer.
> [1]http://camel.apache.org/transactional-client.html
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (JBTM-2609) Make JDBCStore able to handle Java EE errors interfacing with a datasource in an app server
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2609?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson updated JBTM-2609:
--------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
> Make JDBCStore able to handle Java EE errors interfacing with a datasource in an app server
> -------------------------------------------------------------------------------------------
>
> Key: JBTM-2609
> URL: https://issues.jboss.org/browse/JBTM-2609
> Project: JBoss Transaction Manager
> Issue Type: Enhancement
> Components: Transaction Core
> Reporter: Tom Jenkinson
> Assignee: Tom Jenkinson
> Fix For: 5.next
>
>
> Currently the handling is all expected to be JSE typed exceptions like an SQLexception. It seems that in an app server a variety of other exception types can be thrown not just limited to JNDI exceptions. It has been reported that IllegalStateException can be thrown when an app server is rebooting and the datasource is not available for lookup.
> Changing to handle all exceptions in JDBCImple_Driver.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (JBTM-1820) Integrate with Camel to support XA Transaction
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-1820?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson commented on JBTM-1820:
-------------------------------------
Please can we create a forum topic to discuss this and to help define the scope of the work and check that it is something our community would need.
> Integrate with Camel to support XA Transaction
> ----------------------------------------------
>
> Key: JBTM-1820
> URL: https://issues.jboss.org/browse/JBTM-1820
> Project: JBoss Transaction Manager
> Issue Type: Enhancement
> Components: Application Server Integration
> Reporter: Amos Feng
> Assignee: Amos Feng
> Fix For: 5.later
>
>
> From Ning Jiang (njiang(a)redhat.com)
> {noformat}
> Camel is using Spring TransactionTemplates to implement the Transactional Client pattern[1].
> As the Spring PlatformTransactionManager cannot manage the multiple resources, we are using the atomikos to show the user how to manage the transactions between JMS and DB resource. It could great if we can replace the atomikos with narayana, then we can promote this example as reference to SA who can sale the solution to the customer.
> Another interesting task could be using the narayana JTA wrapper classes to replace the Spring TransactionTemplate in Camel. As we don't want to build out products on top of Spring framework, using narayana could help us to get ride of Spring and introduce the narayana to integration customer.
> [1]http://camel.apache.org/transactional-client.html
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (JBTM-1820) Integrate with Camel to support XA Transaction
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-1820?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson commented on JBTM-1820:
-------------------------------------
Lets not include Spring in this if possible and keep that in JBTM-855 so we show the baseline configs for both.
> Integrate with Camel to support XA Transaction
> ----------------------------------------------
>
> Key: JBTM-1820
> URL: https://issues.jboss.org/browse/JBTM-1820
> Project: JBoss Transaction Manager
> Issue Type: Enhancement
> Components: Application Server Integration
> Reporter: Amos Feng
> Assignee: Amos Feng
> Fix For: 5.later
>
>
> From Ning Jiang (njiang(a)redhat.com)
> {noformat}
> Camel is using Spring TransactionTemplates to implement the Transactional Client pattern[1].
> As the Spring PlatformTransactionManager cannot manage the multiple resources, we are using the atomikos to show the user how to manage the transactions between JMS and DB resource. It could great if we can replace the atomikos with narayana, then we can promote this example as reference to SA who can sale the solution to the customer.
> Another interesting task could be using the narayana JTA wrapper classes to replace the Spring TransactionTemplate in Camel. As we don't want to build out products on top of Spring framework, using narayana could help us to get ride of Spring and introduce the narayana to integration customer.
> [1]http://camel.apache.org/transactional-client.html
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (JBTM-1820) Integrate with Camel to support XA Transaction
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-1820?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson updated JBTM-1820:
--------------------------------
Priority: Major (was: Optional)
> Integrate with Camel to support XA Transaction
> ----------------------------------------------
>
> Key: JBTM-1820
> URL: https://issues.jboss.org/browse/JBTM-1820
> Project: JBoss Transaction Manager
> Issue Type: Enhancement
> Components: Application Server Integration
> Reporter: Amos Feng
> Assignee: Amos Feng
> Fix For: 5.later
>
>
> From Ning Jiang (njiang(a)redhat.com)
> {noformat}
> Camel is using Spring TransactionTemplates to implement the Transactional Client pattern[1].
> As the Spring PlatformTransactionManager cannot manage the multiple resources, we are using the atomikos to show the user how to manage the transactions between JMS and DB resource. It could great if we can replace the atomikos with narayana, then we can promote this example as reference to SA who can sale the solution to the customer.
> Another interesting task could be using the narayana JTA wrapper classes to replace the Spring TransactionTemplate in Camel. As we don't want to build out products on top of Spring framework, using narayana could help us to get ride of Spring and introduce the narayana to integration customer.
> [1]http://camel.apache.org/transactional-client.html
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (JBTM-2613) BABridgedTest failure (caused by WebServiceException: Could not send Message)
by Michael Musgrove (JIRA)
Michael Musgrove created JBTM-2613:
--------------------------------------
Summary: BABridgedTest failure (caused by WebServiceException: Could not send Message)
Key: JBTM-2613
URL: https://issues.jboss.org/browse/JBTM-2613
Project: JBoss Transaction Manager
Issue Type: Bug
Components: TxBridge
Affects Versions: 5.2.12.Final
Reporter: Michael Musgrove
Assignee: Gytis Trikleris
job number was: http://172.17.130.4:8083/job/narayana-dualstack/80
-------------------------------------------------------------------------------
Test set: org.jboss.narayana.txframework.functional.ws.ba.bridged.BABridgedTest
-------------------------------------------------------------------------------
Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 72.917 sec <<< FAILURE!
testClose(org.jboss.narayana.txframework.functional.ws.ba.bridged.BABridgedTest) Time elapsed: 60.65 sec <<< ERROR!
javax.xml.ws.WebServiceException: Could not send Message.
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:170)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:704)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:647)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1535)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1440)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.getResponseCode(URLConnectionHTTPConduit.java:332)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.doProcessResponseCode(HTTPConduit.java:1577)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1606)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1550)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1347)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:651)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139)
at com.sun.proxy.$Proxy169.reset(Unknown Source)
at org.jboss.narayana.txframework.functional.ws.ba.bridged.BABridgedTest.teardownTest(BABridgedTest.java:97)
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (JBTM-2613) BABridgedTest failure (caused by WebServiceException: Could not send Message)
by Michael Musgrove (JIRA)
[ https://issues.jboss.org/browse/JBTM-2613?page=com.atlassian.jira.plugin.... ]
Michael Musgrove updated JBTM-2613:
-----------------------------------
Attachment: org.jboss.narayana.txframework.functional.ws.ba.bridged.BABridgedTest.txt
surefire output
> BABridgedTest failure (caused by WebServiceException: Could not send Message)
> -----------------------------------------------------------------------------
>
> Key: JBTM-2613
> URL: https://issues.jboss.org/browse/JBTM-2613
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: TxBridge
> Affects Versions: 5.2.12.Final
> Reporter: Michael Musgrove
> Assignee: Gytis Trikleris
> Attachments: org.jboss.narayana.txframework.functional.ws.ba.bridged.BABridgedTest.txt
>
>
> job number was: http://172.17.130.4:8083/job/narayana-dualstack/80
> -------------------------------------------------------------------------------
> Test set: org.jboss.narayana.txframework.functional.ws.ba.bridged.BABridgedTest
> -------------------------------------------------------------------------------
> Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 72.917 sec <<< FAILURE!
> testClose(org.jboss.narayana.txframework.functional.ws.ba.bridged.BABridgedTest) Time elapsed: 60.65 sec <<< ERROR!
> javax.xml.ws.WebServiceException: Could not send Message.
> at java.net.SocketInputStream.socketRead0(Native Method)
> at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
> at java.net.SocketInputStream.read(SocketInputStream.java:170)
> at java.net.SocketInputStream.read(SocketInputStream.java:141)
> at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
> at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
> at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
> at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:704)
> at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:647)
> at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1535)
> at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1440)
> at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
> at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.getResponseCode(URLConnectionHTTPConduit.java:332)
> at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.doProcessResponseCode(HTTPConduit.java:1577)
> at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1606)
> at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1550)
> at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1347)
> at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
> at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:651)
> at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
> at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
> at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514)
> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423)
> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324)
> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277)
> at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
> at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139)
> at com.sun.proxy.$Proxy169.reset(Unknown Source)
> at org.jboss.narayana.txframework.functional.ws.ba.bridged.BABridgedTest.teardownTest(BABridgedTest.java:97)
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months