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

Mark Little (JIRA) jira-events at lists.jboss.org
Wed Jan 16 07:01:22 EST 2013


Mark Little created JBTM-1431:
---------------------------------

             Summary: 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
      Security Level: Public (Everyone can see)
          Components: Transaction Core
    Affects Versions: 4.17.3
            Reporter: Mark Little
            Assignee: Mark Little


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 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 mailing list