In the multi-session PAS for OpenEdge agent, a single process runs multiple sessions, each with its own ABL Virtual Machine (AVM). If an unresponsive or long-running session holds a record lock, you can uniquely identify sessions and then look at the ABL stack to troubleshoot them. In the case of runaway sessions, you can use the session identifier to safely terminate connections to maintain the uptime of PAS instance and hosted application.

If records or tables are locked, and a multi-session PAS for OpenEdge agent is a database client, you need to identify which session holds the lock.

For example, the connection string 0:oe1xc7stg06:32441:AS-4 contains this information:
  • 0 – Container PID when PAS for OpenEdge is running in a container. It currently always holds the value 0.
  • oelxc76stg06 – Hostname where PAS for OpenEdge is running.
  • 32441 – PID of PAS for OpenEdge MS Agent.
  • AS-4 – ID of ABL session running in PAS for OpenEdge MS Agent 32441.
To identify an unresponsive session in a multi-session client:
  1. Use any of the following methods to identify the session that has locked the table or row.
    • Check for connection details in message strings in the the database log (.lg) file.
    • In the PROMON utility, enter R&D, 1. Status Displays , 4. Processes/Clients, 10. Connection Details.
    • Check the Connect-Details column dumped as a .csv file from the _connect VST.
    • Check the Connection Details column in the PROSHUT utility list output.
    For example, look for the connection details at the end of string data in database log messages. In the following example, the session identifier is AS-4:
    [2021/12/13@17:13:06.086-0500] P-32449      T-32474 I TSRV    1: (742)   Login usernum 2, 
    userid nchen client type PASN, on oelxc76stg06 batch using TCP/IP IPV4 address 10.128.58.44 0:oelxc76stg06:32441:AS-4. 
  2. After you get the session identifier, see PAS for OpenEdge documentation for actions that you can perform.

    For example, see Terminate an ABL session.