Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Action with locked storage areas (TLS, ULS and GSSB)

If multiple UTM transactions attempt to access GSSB, TLS or ULS storage areas simultaneously, openUTM synchronizes these accesses.

Each access (for reading, writing or deleting) to a TLS, ULS or GSSB causes openUTM to lock this area for other transactions:

  • until the next synchronization point (PGWT CM, PEND RE, FI, SP or FC) or

  • until the next roll back operation (PGWT RB, RSET, PEND RS or PEND ER/FR) or

  • until release with the UNLK call if the area has only been read.

If a transaction attempts to access the locked area, openUTM places it in a queue until

  • the lock has been released

  • or the maximum wait period has elapsed.

  • or the transaction responsible for the locking of the area uses PEND KP or PEND PA/PR with TAC class change or wait for DGET message or with PGWT KP/PR/CM to set itself to a wait state of undefined length.

The process remains blocked and cannot take on other tasks during the wait period.

This maximum wait period is defined by the value time1 of the RESWAIT operand in the KDCDEF statement MAX (default: 60 seconds, see also the openUTM manual “Generating Applications”). If a transaction waits longer than the time defined by RESWAIT (time1), openUTM rejects the access attempt with the return codes KCRCCC = 40Z and KCRCDC = K810.

UTM rejects such an access attempt immediately

  • if the area has been locked by another transaction which has just used PEND KP or PEND PA/PR with TAC class change or wait for DGET message or PGWT KP/PR to set itself to a wait state of undefined length (KCRCCC = 40Z and KCRCDC = K810), or

  • if waiting would lead to a deadlock in GSSB, TLS and ULS areas (KCRCCC = 40Z and KCRCDC = K820).
    Unix, Linux and Windows systems
    In cluster applications, deadlock detection must be enabled explicitly for this purpose (see also KDCDEF statement CLUSTER DEADLOCK-PREVENTION in the openUTM manual “Generating Applications”).

If a transaction accesses a GSSB, ULS or TLS for reading only, it is advisable to release this area again as quickly as possible - in particular before database calls or PEND PA/PR with TAC class change or wait for DGET message or before PGWT KP/PR - in order to shorten the waiting times of other transactions.

No such locks can occur during access to LSSBs, since it is not possible to access LSSBs across services.