Managing Process Execution with Conductor Script
Command | Arguments | Function | See… |
|
|
|
|
ShowProcess | process_id | Indicates any | page 307 |
|
| commit transactions in the process. |
|
ShowSession | session_id | Indicates whether the session has | page 308 |
|
|
| |
|
| so, any |
|
|
| example, it may indicate the following: |
|
|
| Two phase commit mode is enabled. |
|
|
| There is a client operation |
|
|
| “CompleteActivity” in |
|
|
| PREPARE phase. |
|
|
|
|
|
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:
Command | Argument | Function | See… |
|
|
|
|
CommitTransaction | session_ID | Commits the | page 275 |
transaction_ID iIS engine transaction for the specified session or transaction ID.
Chapter 8 Using the Conductor Script Utility 259