We had a production job enqueue failure on z/OS 2.4, that it seemed to me 
should have worked. I've been in communication with IBM; they say it is as 
expected. But I don't understand why this is normal. Does it make sense to you? 
Has it always worked this way?

Here's the scenario:

We have a job where the first step has DD DSN=data.set.name(0),DISP=SHR. The 
second step has the same data set, but as exclusive: DD 
DSN=data.set.name(0),DISP=OLD.

Someone was browsing the data set when the job started, so they were holding a 
shared enqueue.

The first step ran, and then the second step failed with the IEF211I - DATA SET 
RESERVATION UNSUCCESSFUL error.


My understanding is that JES acquires the enqueues at the highest level before 
starting the job, to prevent deadlocks. IBM says that because it is a relative 
GDG, it is unable to acquire the enqueue on the *absolute* generation before 
the job started.


Contrast it with this case:
1st step: DD DSN=data.set.name(0),DISP=OLD
2nd step: DD DSN=data.set.name(0),DISP=SHR
And again, a user is browsing the data set.

In this case, the job waits until the user's enqueue is released. Which means 
that JES tried to get the exclusive enqueue before starting the job, so waits. 
Or it means that it stated the job, couldn't get the enqueue, but waits instead 
of failing with the IEF211I error.

So why is the second case different than the first?



----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to