[jbossts-issues] [JBoss JIRA] (JBTM-1718) Resolve the ParticipantCompletion race condition
Paul Robinson (JIRA)
jira-events at lists.jboss.org
Thu Aug 8 03:41:26 EDT 2013
[ https://issues.jboss.org/browse/JBTM-1718?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12795720#comment-12795720 ]
Paul Robinson commented on JBTM-1718:
If this is only for local transactions, then why not add the API but not extend the WSDL?
I agree, that sounds like a good approach. Also, I don't think we should add the proprietary method to BAParticipantManager interface. Instead we could add it to the impl of the interface. It's there if you look close enough, but it's obvious you are going "off piste". Of course, we should add a javadoc to the new method that explains why it is there and how it is not standards compliant.
I'm not sure what you mean by "not appear in the public API".
I meant that we shouldn't put the method on any of the supported XTS interfaces that we offer (like BAParticipantManager for example).
if this is added to make a quickstart work then someone will find it and use it anyway
The quickstart uses a (proprietary) annotation which causes an interceptor to be fired. The implementation of the interceptor would use this proprietary method. So yes, it is there if they look at the Narayana source, but not if they look at just the quickstart source. I don't think we can protect from this as Narayana (and any middleware for that matter) is going to be full of code that could in practice be callable by the developer, which could at the least break portability and at the worst destroy the integrity of the application and its data.
> Resolve the ParticipantCompletion race condition
> Key: JBTM-1718
> URL: https://issues.jboss.org/browse/JBTM-1718
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: TXFramework
> Reporter: Paul Robinson
> Assignee: Gytis Trikleris
> Fix For: 5.0.0.M4
> This issue is documented here: JBTM-1429
> In the documentation for JBTM-1429, we state that this issue is unlikely to happen in a distributed environment. This is true, however, the Compensations API is designed to work local-only as well as distributed over WS-BA. Therefore it is much more likely to happen in a production environment.
> Therefore we need to remove this race condition. It can be done in a proprietary mannor as we are not interoperating with another implementation ion local-only mode. When distributing the transaction we fall back to the standard protocol that is susceptible to the race condition. However, as we stated in the docs, this condition is unlikely to manifest in a distributed environment.
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jbossts-issues