FASTLOAD failing with S878 after DISCARDs exceeded the utility DISCARD setting.
search cancel

FASTLOAD failing with S878 after DISCARDs exceeded the utility DISCARD setting.


Article ID: 206073


Updated On:


Fast Load for DB2 for z/OS


FASTLOAD is failing with an S878 sort failure.  The DISCARD value in the load is set to 100000. 

The load eventually fails with the S878 abend code after discarding over 49 million SYSREC entries. 

What is the reason the Load does not stop at the DISCARD threshold?  



Release : 20.0

Component : CA Fast Load for DB2 for z/OS


PFL is working as designed.
Processing is different depending on the OUTPUT-CONTROL keyword setting.

Rows are written to the tablespace directly as they are processed.
Index keys are processed and index pages are updated in different subtasks.
When the discard limit is reached, it cannot terminate immediately.
The tablespace is set to RECP and indexes to RBDP status.
PFL continues processing, discards the remaining input records with the
condition "Exceeded Discard Limit" and undoes all changes so far processed
for all pagesets in scope (base tablespace partitions, indexes, potentially LOB tablespaces).

Duplicate index keys are discovered when sorting index keys.
PFL cannot stop reading the input because at that point the
input is already processed.

OUTPUT-CONTROL BUILD is the optimum option for performance when there are no discards.
The discard process can take a large amount of time and consumes a
lot of resources if there are many discards.

The recommend option is to use OUTPUT-CONTROL ALL  when discards are expected.

PFL writes the data into an external data set (SYSREC) and checks
the data before it is loaded.
If the discards limit is reached, PFL can terminate immediately
without processing the pagesets in scope.