Each user who calls Adabas is assigned a user queue element (UQE) that indicates the nucleus resources allocated to the user. If a user calls Adabas and is then inactive for an extended period (for example, because a terminal operator leaves the terminal without logging off), that user's resources are locked and are not available to other users.
Adabas provides a timeout mechanism which prevents this potential waste of resources. The Adabas timeout function allows control of session-wide or individual user time limits for overall transaction time, and for specific user types.
This document covers the following topics:
The following ADARUN timeout parameters can be set at nucleus startup:
Parameter | Specifies the maximum elapsed time (in units of 1.048576 seconds) ... |
---|---|
TNAA | an access-only user may be active without issuing an Adabas call. |
TNAE | an ET-logic user may be active without issuing an Adabas call. |
TNAX | an exclusive-control user may be active without issuing an Adabas call. |
TT | permitted for a logical transaction by an ET-logic user. |
If not specified, a timeout parameter value defaults to 900 or slightly over 15 minutes.
These parameter values, which apply to all users in the session, can be overridden for a single user with an Adabas OP command for the user session. The maximum values for such OP command overrides are specified by the following ADARUN timeout parameters set at nucleus startup:
Parameter | Specifies the maximum elapsed time (in units of 1.048576 seconds) ... |
---|---|
MXTNA | any individual user may be active without issuing an Adabas call. |
MXTT | permitted for a logical transaction by an individual ET-logic user. |
The Adabas ADADBS OPERCOM utility or Adabas Online System may also be used to change the timeout values.
The following section describes the specific actions taken for each type of timeout.
This section lists the actions the nucleus may take when a time limit expires or the STOPU command is issued and describes the circumstances that determine the action.
Notes:
The nucleus backs out a transaction only for an ET user that has an open transaction.
The transaction is backed out for all kinds of timeout and for STOPU commands.
When the nucleus releases command IDs, it also erases the file list and deletes the ETID in the user queue element (UQE).
This action is taken for all TNAx timeouts and for the STOPU command.
It is not taken for a TT timeout.
The nucleus closes the user queue element (UQE) for all TNAx timeouts when OPENRQ=YES and for the STOPU command.
Note:
If OPENRQ=YES is in effect for the session and a user does not
start with an OP command, the user receives response code 9 (ADARSP009).
This action is not taken for TNAx timeouts when OPENRQ=NO (with one exception described in the next paragraph) or for a TT timeout.
The nucleus closes the UQE for a TNAE timeout when OPENRQ=NO only when the user
has no ETID;
has no open transaction; and
has not issued an OP command with R option.
Note:
When OPENRQ=NO and the UQE is closed, the user's next call does not
receive a response code 9 (ADARSP009) because the nucleus no longer knows that
it timed out the user.
The nucleus sets the timeout status when the UQE is not closed.
Note:
If a user issues a call and the timeout status is set in the UQE,
the user receives response code 9 (ADARSP009).