On 10/15/2010 10:46 PM, Paul Gilmartin wrote:
On Fri, 15 Oct 2010 15:54:15 -0400, David Kreiss wrote:

Determine what track the dataset was allocated to then run this utility 
specifying the first track of the dataset.

<snip!>
... which can give a false positive if the extent allocated begins,
by happenstance, with a residual EOF from prior use.


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of 
Starr, Alan
Sent: Friday, October 15, 2010 12:41 PM

John McKown's response to Ron's S013-64 issue interested me. I had not realized 
that SMS automatically wrote an EOF to newly-allocated datasets.

Depending.

John pointed me to 
http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/dgt2i650/8.1

which states "For sequential data sets, SMS writes a hardware EOF at the beginning 
of the data set at initial allocation. This prevents data integrity problems when 
applications try to read the data before data is written in the data set."

Jim Mulder properly stated this assertion ought not mention security.
It doesn't.  Regardless, "data integrity" has misleading connotations.
I'd replace "prevents data integrity problems" with "prevents unexpected
program behavior".

...
Prior to SMS and an auto-EOF at allocation we (Technical Services) would periodically have to help Applications programmers diagnose bizarre failures caused by an upstream program that didn't bother to open an output data set because there was no output (i.e. null data) for that particular run.

If you were lucky (99% of the time) the DASD extents allocated for the dataset would contain residual blocks that were incompatible with the intended records, later attempts to read the data would immediately blow with a wrong-length record, the problem would become evident, and the damage would be contained.

If you were very unlucky, the allocated extents could contain data with compatible block structure and possibly even records that could pass application integrity checks. Subsequent programs could use the "bogus" records to perform unintended updates and other unintended actions. I can remember at least one or two instances where records were successfully read from an "empty" file.

"Unexpected program behavior" is too benign a description, because in the latter case a missing EOF could lead to data loss, data corruption, or other incorrect program results and there might not even be any obvious program failure to make it evident you had a data integrity issue.
--
Joel C. Ewing, Fort Smith, AR        [email protected]

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

Reply via email to