Issue 4084: OTS-RTF: Progapation Context and sub-transactions (ots-rtf) Source: ZeroC (Mr. Bernard Normier, bernard(at)zeroc.com) Nature: Clarification Severity: Summary: The OTS specification (ptc/00-10-03) 10.2.2 suggests that parent transaction ids are not received (or even propagated): "When nested transactions are used, the transaction context remembers the stack of nested transactions started within a particular execution environment (e.g., process) so that when a subtransaction ends, the transaction context of the thread is restored to the context in effect when the subtransaction was begun. When the context is transferred between execution environments, the received context refers only to one particular transaction, not a stack of transactions." But the description of the PropagationContext in 10.5.2 (on p10-75) suggests that the parent transaction ids get propagated as well: "TransIdentity parents A sequence of TransIdentity structures representing the parent(s) of the current transaction. The ordering of the sequence starts at the parent of the current transaction and includes all ancestors up to the top-level transaction. An implementation that does not support nested transactions would send an empty sequence. This allows a non-nested transaction implementation to know when a nested transaction is being imported. It also supports efficient (local) execution of the Coordinator operations which test parentage when the importing Transaction Service does interposition." What is a compliant implementation using PropagationContexts supposed to do? Resolution: Revised Text: Actions taken: November 30, 2000: received issue Discussion: End of Annotations:===== From: "Bernard Normier" To: Subject: OTS-RTF: Progapation Context and sub-transactions Date: Wed, 29 Nov 2000 16:52:16 -0500 X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 Content-Type: text X-UIDL: +C^d9S]3!!W>l!!]dl!! Nature: Clarification The OTS specification (ptc/00-10-03) 10.2.2 suggests that parent transaction ids are not received (or even propagated): "When nested transactions are used, the transaction context remembers the stack of nested transactions started within a particular execution environment (e.g., process) so that when a subtransaction ends, the transaction context of the thread is restored to the context in effect when the subtransaction was begun. When the context is transferred between execution environments, the received context refers only to one particular transaction, not a stack of transactions." But the description of the PropagationContext in 10.5.2 (on p10-75) suggests that the parent transaction ids get propagated as well: " parents A sequence of TransIdentity structures representing the parent(s) of the current transaction. The ordering of the sequence starts at the parent of the current transaction and includes all ancestors up to the top-level transaction. An implementation that does not support nested transactions would send an empty sequence. This allows a non-nested transaction implementation to know when a nested transaction is being imported. It also supports efficient (local) execution of the Coordinator operations which test parentage when the importing Transaction Service does interposition." What is a compliant implementation using PropagationContexts supposed to do? Regards, Bernard