z/OS Network File System Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Symptoms of GFSA824W/GFSA825W messages

z/OS Network File System Guide and Reference
SC23-6883-00

The GFSA824W message presents that at least one partial/lost record case has happened during the processing of a data set.

There is an explicit requirement for NFS users who use the z/OS NFS server text mode for data processing to end the byte data stream with an EOL delimiter for client applications writing to the z/OS NFS server. If a user's application does not comply with this requirement, it may provoke partial record conditions for the last RPC WRITE operation that corresponds to the end of data stream (even if all data from the client application was sent to the z/OS NFS server). If a user works with the z/OS NFS server in text mode and does not end its byte data stream with EOL, the GFSA824W/GFSA825W messages appear as a reaction on the last partial record case.

That partial/lost record case results in GFSA824W messages appearing and, subsequently, data set closure/deallocation problems. If a partial/lost record case happened in the beginning/middle of user data stream, the impact of data set closure/deallocation results is data corruption in the beginning/middle of a data set. The holes of the user data portion is filled in by zeroes by the z/OS NFS server.

If a partial/lost record case happened at the end of a user data stream (no EOL delimiter), the impact results in a prolonged timeout before data set closure/deallocation.

For data sets with F/FB record format, the last record in the data set is filled out with trailing zeroes. For example if a data set has RECFM=F,LRECL=40, but the last partial record is 20 bytes in the last RPC WRITE data block, the data set contains hex zeroes in the last physical partial record xxxxxxxxxxxxxxxxxxxx...................., where '.' is a x'00' hex byte.

For data sets with V/VB/U record format, the last record in the data set is filled in with one trailing zero. For example if a data set has RECFM=V,LRECL=40, but the last partial record is 20 bytes in the last RPC WRITE data block, the data set contains one hex zero in the last physical partial record xxxxxxxxxxxxxxxxxxxx., where '.' is a x'00' hex byte.

The GFSA825W message presents that a data set is closed/deallocated after extended writetimeout with at least one partial/lost physical partial record.

If any late RPC WRITE operations with lost data portion are sent to the z/OS NFS server after the data set has been closed/deallocated, the data set will be re-opened, re-read and updated with the lost portion of data. But this late RPC WRITE should not alter the existing record structure in the data set. The shorter or longer record from the update against the existing data set records may cause logical errors in the z/OS NFS server that will be reported to a client as EIO(5) error code.

The z/OS NFS server supports correct recovery/extension of the last physical partial F/FB/V/VB/U record on disk during processing of further RPC WRITEs from a client which contains the rest of the record.

The z/OS NFS server does not support the last physical partial record recovery for VS/VBS data sets.

To eliminate conditions reported by GFSA824W/GFSA825W messages, the user should adhere to the EOL requirement for text mode and tune the z/OS NFS server by setting the proper timeouts, that is, writetimeout(n) value must be greater than the maximum delay between WRITE operations in a slow client/network. Improper writetimeout settings may cause performance problems and data set closure/deallocation problems due to partial/lost record conditions.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014