Tablet Accessory User Manual

Managing Process Execution with Conductor Script
Chapter 8 Using the Conductor Script Utility 259
Managing Two-Phase Commit Operations
If a session should be suspended for any of a number of reasons, any iIS engine
transaction in a PREPARE phase is retained on the session, awaiting resolution
(commit or rollback). The process client application is normally responsible for
resolving these transactions; however, in the case of failure, these transactions may
be left permanently in the PREPARE phase. Because of this, it is up to a system
manager to check for and resolve any transactions left in a PREPARE phase.
For example, a client application may perform an activity, but fail before it can
notify the engine to commit the CompleteActivity operation. Similarly, the engine
could fail before receiving the commit. Both these situations result in inconsistency
of state information between the client application and engine.
To properly resolve iIS engine transactions in a PREPARE phase, however, you
must investigate whether related application transactions were committed or
aborted. How you do this depends on the details of the application and how it
keeps track of transaction IDs.
You can use the following Conductor Script commands to identify and resolve
transactions in a PREPARE phase:
ShowProcess process_id Indicates any in-progress two-phase
commit transactions in the process.
page 307
ShowSession session_id Indicates whether the session has
two-phase commit mode enabled, and if
so, any in-progress transaction. For
example, it may indicate the following:
Two phase commit mode is enabled.
There is a client operation
CompleteActivity in
PREPARE phase.
page 308
Command Argument Function See
CommitTransaction session_ID
transaction_ID
Commits the in-progress
iIS engine transaction for
the specified session or
transaction ID.
page 275
Command Arguments Function See