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
interoperate2. 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