TRANS 1.3 NO IDEA Avatar
  1. OMG Issue

TRANS13 — need interoperable XA support

  • Key: TRANS13-50
  • Legacy Issue Number: 3158
  • Status: closed  
  • Source: Oracle ( Gary Hallmark)
  • Summary:

    Some OTS implementations use the X/Open DTP XA interface to coordinate
    resource managers. For example, the Oracle Application Server (OAS) contains
    such an OTS implementation.
    The OAS OTS does not implement or use the OTS Resource interface. As XA
    resource managers are enlisted in a transaction, descriptors for them are
    added to the TransactionContext::implementation_specific_data. When the
    transaction is ready to commit, the set of enlisted RMs is handed over to a
    coordinator process to drive the 2pc.

    This leads to (at least) 2 problems:

    1. the descriptors in the implementation_specific_data are not standard and
    thus 2 different OTS implementations, both of which handle XA RMs, cannot
    interoperate

    2. there isn't any API to register an XA RM with the Coordinator. There
    should be a method, e.g.:

    Coordinator::register_XA_RM_info(string xa_driver_id, string xa_open_args)

    This method would be called instead of Coordinator::register_resource when
    using XA based resource managers rather than OTS Resource based resource
    managers.

    The xa_driver_id is like the RMID, but has global scope (the RMID is scoped
    relative to an xa_switch vector, I think). For example, given an
    xa_driver_id = "XA:ORACLE:1.0" and xa_open_args =
    "somedbkey:somecomputer.somecompany.com" , 2 different OTS implementations
    can expect to communicate with the same resource manager.

  • Reported: TRANS 1.1 — Wed, 18 Oct 2000 04:00 GMT
  • Disposition: Resolved — TRANS 1.3
  • Disposition Summary:

    Duplicate

  • Updated: Sat, 7 Mar 2015 06:25 GMT