<snip>
Can you elaborate on this?  We are running IDMS DB and DC and aren't
seeing this issue.  What resource are you enqueuing on?
<unsnip>

here's the update that I got from CA. Since we're a uniprocessor, my 
solution was to
set ERV=0 which was the least worse solution.

Background from issue #17033487-01
       In terms of the enqueuing of batch jobs in general, our process is:
1.  When a CV batch job begins, it ENQUEUES SHARED on a MAJOR name of 
IDMSCV
  and a MINOR name of BATCxxxx, where xxxx is a binary time stamp.
2. When CV gets control, RHDCCKUR attempts an ENQUEUE EXCLUSIVE on the 
same
  MAJOR and MINOR names, but since the batch job still control of the 
enqueue
  names, it goes to sleep.
3.  When the cv batch job terminates, RHDCCKUR will wake up and the CV 
will
  do the necessary cleanup for the batch job.

     This poses a problem for IBM's WLM, ERV function.  The 'sleep' 
scenario
described above is making WLM 'misbehave'. WLM / ERV wants to increase
the priority of a task that holds an enque that someone else wants.
That's ERV's function.  This was put in place to reduce enque lockouts,
ie low priority task has enque that a higher priority task need.
Even though IDMS isn't waiting on the enque, WLM 'sees' the conflict and
keeps trying to give the holder more cycles.  Since the holder is batch,
the
user basically has a batch job sucking up all the resources and IDMS keeps
passing it data.  This causes all CV activity to grind to a halt.  When 
the

batch job is a long-running one, it creates unacceptable delays for the
online system which is now running at a lower priority than the batch job.
       WLM ERV is adjusting the zos dispatching priority of the jobs. This

gets boosted up into the F1, F2 range (higher than the IDMS CV's) for the
batch jobs; the client turns off ERV and the batch jobs stay where they
belong, ie high C0, low D0 range.   This method of managing ENQ resources
was changed in z/OS 1.3.  In this processing, ERV is overriding the 
Service

Class management of batch jobs that we suggest in technote QI02781.

      IBM has stated that their ERV funcionality is working as intended.
It
does not include a method for ignoring some jobs that hold an ENQUEUE, or
for
selectively implementing the feature.  The client requests that we change
our
processing to use a RET=TEST on the enque instead of an EXCL request, or
that
we use POST to communicate serialization, so that this problem can be
avoided.

      Level2 has said that the reason we do the ENQ is to allow the CV to
be
notified if the Batch job goes away for some reason. Without the ENQ the
batch job would remain active within the CV. This would result in 
resources

being held indefintely (Storage, DBKEY locks, RCEs, RLEs, DPEs, etc.).  We
We need the Batch job to hold the ENQ so when the CV CKUR task attempts to
get the ENQ it waits. If the batch job goes away, the CKUR acquires the 
ENQ

and notifies the CV that things may need to be cleaned up.

     Client feels that the current methodology is one way to do it BUT it
has
adverse affects on performance and should be changed. IBM has said ERV is
working as designed, so the CA IDMS approach has forced them to disable
an important vehicle to minimize contention. CV could issue EXCL enq and 
if

it fails, then a batch job is executing.  ---------------------------
Error
---------------------------
The operation completed successfully.


Jack Kelly
202-502-2390 (Office)

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to