The job completion stage (report transfer or writing to database) is executed in parallel with next task in WF. Is this as designed?
Example:
Current set up of the job plan :
Task 1 is SQL job that pulls down some data with select query. Stores the output into a file ( example file name - OEBZNYLT.TXT ).
Task 2 is a File Transfer ( with Erase Source File option enabled ) 'moves' the file from current host to destination host.
Here both the object has 'Generate at runtime' option selected.
What is happening :
The SQL job gets completed. Status is ENDED_OK in workflow. The report file is being attempted to load into AE DB.
At the same time the next task in the job plan ( a file transfer ) gets started and moves the file from SQL output host directory to another host.
Now the process that loads the output as job report gets abend for following :
REPORT([Agent out directory]/OEBZOGYP.TXT,1259219639) (RunID: 1259219678)
Status : FAULT_OTHER - Start impossible. Other error.
Last message - U00029005 Report '[Agent out directory]/OEBZOGYP.TXT' was not found.
Release : 12.3
Component :
It is expected that if there is some sort of slowdown in the report transferring, the second task that transfers the job report will behave as seen. For this setup:
WF Start -> WF task 1 (JOB) -> WF task 2 (JOBF) -> WF End
What's really happening is:
WF Start
-> WF task 1 (JOB) start and end
-> WF task 1 report transfer to db - if this is slow, then at same time:
-> WF task 2 start and end
-> WF End
So if there's a slowdown with the task 1 report being put into db, the JOBF will move the file before the Report is transferred to the db and the Report will end with Status : FAULT_OTHER - Start impossible. Other error.
A way around this could be to put a :wait 15 (or more seconds if needed) into the process tab of the second task before anything else runs