Since this makes most uses of a GDG single threaded, would it make sense to force large GDG files to VTAPE from disk? I assume this would be implemented with statements in the ACS routine? Anyone have a sample?
On Fri, Aug 5, 2011 at 10:03 AM, Joel C. Ewing <jcew...@acm.org> wrote: > On 08/05/2011 06:49 AM, Lizette Koehler wrote: >>> >>> Questions : >>> >>> During a GDG recall, the HSM keep in exclusive mode all versions of the >> >> dataset and >>> >>> cannot create new versions till tne recall ends? >>> Is it normal behaviour of the HSM or is there some "parameter" to avoid >> >> this? >>> >>> Best regards and happy weekend. >>> Enrique Montero >> >> >> It is normal behavior for a GDG in general. >> >> The enq is placed on the GDG base not the individual GDG entry. So if any >> long running job is creating a GDG +1, it will be the base name that is >> enqueued. >> >> I do not know if IBM was ever asked to address this concern. >> Lizette >> > IBM would have to be very careful how they touched this code, as there are > risks a change might cause more problems than it solved. I believe both GDG > base and GDS enqueues are involved in a relative GDG reference, but there > are specific conventions about order and type of enqueue. > > The GDG base enqueue is what protects against two concurrent new GDS > creations by two unrelated programs in order to guarantee consistent > assignment of G0000V00 ordinals and consistent cataloging of new > generations, including the case where a step ABEND results in subsequent > deletion of the GDS. It also protects against resolving a GDG relative > generation reference at times when the generations are in transition. Having > two tasks with conflicting GDS creations running at the same time is > potentially a scheduling/application-design error as there is no guarantee > which process gets the GDG enqueue first, so from the end user's viewpoint > the process may appear non-deterministic, even though it is deterministic > and consistent from the view of MVS. > > A DFHSM recall of a GDS is physically updating the GDS by moving it, even > though the job step intent may be to read, so this muddles the waters as to > what kind of enqueues may be required and appropriate. As long as the GDS > can't be deleted by the step doing the recall, there shouldn't be any need > to modify the GDG base itself so a GDG base enqueue might seem unneeded; but > what might happen if some other process attempted to delete the GDS by > relative generation number while the recall was in progress? > > It used to be there were some methods of getting access to a GDS, like ISPF > browse or JCL reference by specific G0000V00 number, that bypassed any > enqueue on the GDG base and only enqueued the GDS; and that in some cases > this could blow away (ABEND) a batch job step trying to access the same GDG > family by relative generation: the relative GDG JCL/batch allocation logic > assumed/required that the proper GDG base enqueue preceded the GDS enqueue > and it couldn't tolerate an enqueue failure on the GDS that it "knew" should > have worked after enqueueing the base. So, failure to enqueue the GDG base > at all or using enqueues that are inconsistent with existing GDG enqueue > conventions has introduced problems in the past. This is not to say change > is impossible or undesirable, only that finding and fixing unintended side > effects may not be trivial. This is in an area where omitted GDG base > enqueues in the past have produced production batch ABENDs. > > -- > Joel C. Ewing, Bentonville, AR jcew...@acm.org > -- Mike A Schwab, Springfield IL USA Where do Forest Rangers go to get away from it all? ---------------------------------------------------------------------- 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