[jbossts-issues] [JBoss JIRA] Closed: (JBTM-725) add recovery scanning to BridgeWrapper

Andrew Dinn (JIRA) jira-events at lists.jboss.org
Thu Mar 11 06:09:37 EST 2010

     [ https://jira.jboss.org/jira/browse/JBTM-725?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Dinn closed JBTM-725.

    Resolution: Done

Ok, this is done but with a slightly different API.

public static BridgeWrapper create(String subordinateType, long expires, boolean isSecure)
public static BridgeWrapper recover(String identifier)
public BridgeWrapper[] scan(String subordinateType)

There is also a new getter and a special type string constant:

public String getSubordinateType()
public static final String SUBORDINATE_TX_TYPE_AT_AT;

Argument identifier of  BridgeWrapper.recover() is still the Uid string obtained by calling BridgeWrapper.getIdentifier()

subordinateType can be anything except SUBORDINATE_TX_TYPE_AT_AT. Pass it and you get nothing back.

scan() will return a zero-length array if there are no coordinators of the supplied type in the log. a null return value means a subordinate coordinator scan has not happened yet and indicates that the bridge should defer commit or rollback requests.

> add recovery scanning to BridgeWrapper
> --------------------------------------
>                 Key: JBTM-725
>                 URL: https://jira.jboss.org/jira/browse/JBTM-725
>             Project: JBoss Transaction Manager
>          Issue Type: Feature Request
>      Security Level: Public(Everyone can see) 
>          Components: Recovery, XTS
>    Affects Versions: 4.10.0
>            Reporter: Jonathan Halliday
>            Assignee: Andrew Dinn
>             Fix For: 4.11.0
> The BridgeWrapper for managing subordinate XTS transactions allows for recovery where the id of the tx is known i.e. a log exists in the parent tx. "BridgeWrapper.recreate(String id)". However, it is also necessary to be able to scan for outstanding BridgeWrappers in recovery situations where no parent log exists and the id(s) are therefore unavailable. Furthermore, multiple applications may use the BridgeWrapper and must be able to distinguish which of the recovered instances they are responsible for. As they currently have no control over the structure of the id this is not feasible.
> Change BridgeWrapper API to include e.g.
>   create(String prefix) // each app uses its own prefix so it can filter returned instances by id at recovery time.
>   recreate(String id) // unchanged
>   recoveryScan(String prefix) // return all in-doubt instances with matching prefix.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jbossts-issues mailing list