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?
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:
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.