Concurrent updates on the same VLS library from different LPARs
search cancel

Concurrent updates on the same VLS library from different LPARs

book

Article ID: 26821

calendar_today

Updated On:

Products

Datacom DATACOM - AD Ideal CIS COMMON SERVICES FOR Z/OS 90S SERVICES DATABASE MANAGEMENT SOLUTIONS FOR DB2 FOR Z/OS COMMON PRODUCT SERVICES COMPONENT Common Services CA ECOMETER SERVER COMPONENT FOC Easytrieve Report Generator for Common Services INFOCAI MAINTENANCE IPC UNICENTER JCLCHECK COMMON COMPONENT Mainframe VM Product Manager CHORUS SOFTWARE MANAGER CA ON DEMAND PORTAL CA Service Desk Manager - Unified Self Service PAM CLIENT FOR LINUX ON MAINFRAME MAINFRAME CONNECTOR FOR LINUX ON MAINFRAME GRAPHICAL MANAGEMENT INTERFACE WEB ADMINISTRATOR FOR TOP SECRET Xpertware

Issue/Introduction

How to update the same VLS library from different LPARs concurrently (e.g. massive batch compile jobs running on a LPAR while small programs are compiled under a CICS region running on a different LPAR).

IDEAL (VPE) issues GRS enqueues with scope SYSTEM.

Per "IBM z/OS 2.1 MVS Planning: Global Resource Serialization" manual, “Local and global resources” section:

When an application uses a macro (ISGENQ, ENQ, DEQ, and RESERVE) to serialize resources, global resource serialization uses the RNL, various global resource serialization installation exits, and the scope on the macro to determine whether a resource is a local resource or a global resource.

local resource is a resource requested with a scope of STEP or SYSTEM. It is serialized only within the system processing the request for the resource. If a system is not part of a global resource serialization complex, all resources (with the exception of resources serialized with the RESERVE macro), regardless of scope (STEP, SYSTEM, SYSTEMS), are local resources.

global resource is a resource requested with a scope of SYSTEMS or SYSPLEX. It is serialized among all systems in the complex.

Being so, IDEAL's system ENQs are not propagated across LPARs but are local to the LPAR where the ENQ is executed.

Resolution

In order to prevent any possible VLS library corruption, due to concurrent access from different LPARs, the SYSTEM ENQueue must be changed to SYSTEMS ENQueue.

From the same IBM manual, “SYSTEM inclusion RNL” section:

When global resource serialization encounters an ENQ or DEQ request for a resource with a scope of SYSTEM, it scans the SYSTEM inclusion RNL. If there is no match, global resource serialization processes the resource as a local resource.

If there is a match, global resource serialization changes the scope of the request from SYSTEM to SYSTEMS and processes the resource as a global resource.

Customers that need to access the same VLS file from different LPARs, need to modify their GRS definitions in order to change the scope of requests from SYSTEM to SYSTEMS.

As QNAME ADRPRDCT is the major name for IDEAL enqueues, they have to add the following definition in their GRS Resource Name List member:

 RNLDEF RNL(INCL) TYPE(GENERIC)  QNAME(ADRPRDCT)

All the LPARs must be IPLed at the same time to have the scope changed from SYSTEM to SYSTEMS.

The QCODE parameter in SC00OPTS must be the same.

IMPORTANT NOTE: as Ideal and Librarian use the same QNAME "ADRPRDCT", Librarian users need to check Librarian documentation about GRS settings.