Kill Transaction Command

All Studio Customization Toolkit dispatches can be identified by their core session ID, allowing them to be aborted as necessary.

The session IDs are part of the output of monitor context and monitor server commands.

See Also
Monitoring Servers
Maintaining and Monitoring Clients
About Server Diagnostic Commands

Once a session has been identified, the MQL command kill transaction session SESSION_ID can be used to mark the transaction as aborted. This command does not kill the thread. Only after the code path executed by the thread or a print transaction command checks the transaction status is the thread killed.

For example, if the monitor server output shows:

Session Od6io9i3vFQxq15QCAXJtiT:mx14237257883bce03e:(_emxRunMQL.java:629)

To mark the transaction as aborted, use:

mql< > kill trans session 
Od6io9i3vFQxq15QCAXJtiT:mx14237257883bce03e:(_emxRunMQL.java:629)

If the dispatch for the session is active, a warning is displayed: #0 Warning #4000056 Transaction for session SESSION_ID will be aborted.

The system then makes an attempt to abort the transaction. If just before you issue the kill command, the transaction completes and a new dispatch starts for this session ID, the command will interrupt the wrong dispatch.

If the transaction was reading from the database when the kill command was executed, the following message is added to mxtrace.log or the ClientTaskList:

System Error #1400020  Transaction was aborted by 'kill transaction' 
command while reading from the database.
Note: A programmed infinite loop in a Tcl or Java program cannot be stopped with the kill transaction command if that loop is not interacting with the kernel.