[jbossts-issues] [JBoss JIRA] (JBTM-1431) LastResourceRecord.shouldAdd allows insertion regardless of order and type info

RH Bugzilla Integration (JIRA) issues at jboss.org
Fri Dec 5 07:43:39 EST 2014


    [ https://issues.jboss.org/browse/JBTM-1431?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13025482#comment-13025482 ] 

RH Bugzilla Integration commented on JBTM-1431:
-----------------------------------------------

tom.jenkinson at redhat.com changed the Status of [bug 1001909|https://bugzilla.redhat.com/show_bug.cgi?id=1001909] from POST to ON_QA

> LastResourceRecord.shouldAdd allows insertion regardless of order and type info
> -------------------------------------------------------------------------------
>
>                 Key: JBTM-1431
>                 URL: https://issues.jboss.org/browse/JBTM-1431
>             Project: JBoss Transaction Manager
>          Issue Type: Bug
>          Components: Transaction Core
>    Affects Versions: 4.17.3
>            Reporter: Mark Little
>            Assignee: Mark Little
>             Fix For: 4.17.9, 5.0.0.M2
>
>
> So looking at the code, LastResource is meant to be ordered last in the intentions list (check topLevelPrepare to see this). However, a quick look at the code in LastResourceRecord shows that there is a bug:
> public boolean shouldAdd (AbstractRecord a)
>     {
>         if (a.typeIs() == typeIs())
>         {
>             if (ALLOW_MULTIPLE_LAST_RESOURCES) {
>                 if (!_disableMLRWarning
>                         || (_disableMLRWarning && !_issuedWarning)) {
>                     tsLogger.i18NLogger.warn_lastResource_multipleWarning(a.toString());
>                     _issuedWarning = true;
>                 }
>                 return true;
>             }
>             else {
>                 tsLogger.i18NLogger.warn_lastResource_disallow(this.toString(), a.toString());
>                 return false;
>             }
>         }
>         else
>         {
>             return true;  <------- Here is the bug!
>         }
>     }
> Basically if the record to be added is not a LastResourceRecord then it gets added immediately, ignoring any further checks on type, order etc. This is wrong.
> And looking back at the code from 6 years ago we see that this was much simpler:
> public boolean shouldAdd (AbstractRecord a)
> 	{
>             return (a.typeIs() == typeIs()) ;
> 	}



--
This message was sent by Atlassian JIRA
(v6.3.8#6338)


More information about the jbossts-issues mailing list