Under what circumstances does CA Vollie do an exclusive lock on the OLL?
search cancel

Under what circumstances does CA Vollie do an exclusive lock on the OLL?

book

Article ID: 22208

calendar_today

Updated On:

Products

Vollie

Issue/Introduction

The following error messages appeared and users were unable to access the OLL:

CAVF0015E CANNOT GET RESOURCE OLLname
CAVF0016E LOCK ERROR, RETURN CODE (HEX): 00000004
CAVF0009E INTERNAL ERROR 02-00-12-007 TERMID= termid

Under what circumstances does CA Vollie do an exclusive lock on the OLL?

Doesn't it use it's own internal locking mechanism, and lock at the member level rather than the whole OLL?

Environment

Release: VOLLIE00100-5-Vollie
Component:

Resolution

CAVF0015E and CAVF0016E errors indicate that CA Vollie has issued a LOCK EXCLUSIVE for an OLL and received return code = 4 from the LOCK macro.

The code 4 indicates that some other task is holding this resource already.

The format of the CAVF0009E error message is:

CAVF0009E INTERNAL ERROR 'request code' 'request flag' 'generic return code' 'secondary return code' TERMID=termid

In this example: CAVF0009E INTERNAL ERROR 02-00-12-007 -

Request code:
02 - OPEN OLL
0D - Close member
0E - Delete an existing member (in this case, this may be called from CLOSE for internal processing)
15 - Get request

Request flag:
00

Generic return code:
12 - Return code for a variety of errors

Secondary return code:
003 - invalid MCBP (vollie control block pointer)
007 - error trying to enqueue (from LOCK macro)
009 - Data block to read or written didn't match MCT record
249 - unknown error

Some possible reasons/actions for this specific error CAVF0009E INTERNAL ERROR 02-00-12-007 are:

  1. Issue the command SET DISPLAY OLL=ollname to verify whether the OLL is open to any other partition (when the problem occurs).

  2. There may be an ENQ outstanding on this OLL due to a CICS abend/some other system problem.

  3. System was extremely busy - CA Vollie tries to obtain the EXCL Lock repeatedly for 1 full minute (in a loop).

    Here, VSE LOCK macro returns with a value of 4 in Register 15 (after trying for 1 full minute).

  4. RELOAD of Vollie file table may be done (there is NO guarantee that this will resolve the problem) - but if done, then please ensure that no users are logged on to CA Vollie and ALL the OLLs are CLOSED and set OFFLINE during RELOAD.

  5. Backup/Format/Restore of OLL may help - this is strongly recommended at regular intervals.

  6. If LOCK errors continue to occur, a re-format of the VSE Lockfile may be needed as well.

LOCK on the resource (OLL or a member) is issued whenever the integrity of the resource needs to be maintained. UNLOCK is issued immediately after the completion of the function. For example, if a member needs to be modified, then, a LOCK is issued for the OLL and for the member, the relevant records are written to the OLL, and, UNLOCK is issued for the member as well as for the OLL.

Please note that LOCK is issued ONLY when the actual I/O takes place.

UNLOCK is issued immediately after the I/O is completed.

LOCK is held for the absolute minimum amount of time and UNLOCK always follows a LOCK.