Abnormal Stage Termination error *Unique*
Moderators: chulett, rschirm, roy
-
- Premium Member
- Posts: 457
- Joined: Tue Sep 25, 2007 4:05 pm
Abnormal Stage Termination error *Unique*
Gurus,
In one of our schedules, one particular job is aborting with "Abnormal Termination of stage <jobname>.XFM". This is the transformer stage that is aborting and it is spitting out NO other errors. I have tried searching the forum in vain. If I am resetting the job, it is not giving any "From Previous run..." messages in the log and running again would FAIL.
My job design is as follows:
Source is a staging table in DB2. There are two targets, one is a DB2 table (Inserts only) and the other is a sequential file. I also have two lookups (Hash Files). There is a constraint in the transformer (to send records into the DB2 target table) that sends only the rows that are NOTFOUND in either of the two lookups [NOTFOUND(lkup1) or NOTFOUND(lkup2)]. There are no constraints for the flat file. The lookup is being performed on two hash files, which have 5 key columns and one non-key column which is the value considered into one of the fields when there is a hit on the lookup.
This job ran fine before when there was only one lookup. There was an enhancement made to it and another lookup was added. It ran OK for a couple of runs (runs once every week) and then this error started occuring. The first time I spotted the error, I searched here, and couldn't find a satisfactory scenario. Then, I re-compiled the job and ran it. It ran fine for a couple of runs. The issue re-appeared and it is persisting for the past couple of weeks.
Please help!!
In one of our schedules, one particular job is aborting with "Abnormal Termination of stage <jobname>.XFM". This is the transformer stage that is aborting and it is spitting out NO other errors. I have tried searching the forum in vain. If I am resetting the job, it is not giving any "From Previous run..." messages in the log and running again would FAIL.
My job design is as follows:
Source is a staging table in DB2. There are two targets, one is a DB2 table (Inserts only) and the other is a sequential file. I also have two lookups (Hash Files). There is a constraint in the transformer (to send records into the DB2 target table) that sends only the rows that are NOTFOUND in either of the two lookups [NOTFOUND(lkup1) or NOTFOUND(lkup2)]. There are no constraints for the flat file. The lookup is being performed on two hash files, which have 5 key columns and one non-key column which is the value considered into one of the fields when there is a hit on the lookup.
This job ran fine before when there was only one lookup. There was an enhancement made to it and another lookup was added. It ran OK for a couple of runs (runs once every week) and then this error started occuring. The first time I spotted the error, I searched here, and couldn't find a satisfactory scenario. Then, I re-compiled the job and ran it. It ran fine for a couple of runs. The issue re-appeared and it is persisting for the past couple of weeks.
Please help!!
Vivek Gadwal
Experience is what you get when you didn't get what you wanted
Experience is what you get when you didn't get what you wanted
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
The entire error message will give a job number and a file name and, possibly, a line number or address. You can use this to inspect the source code generated by the Transformer stage. Since you elected not to post the complete error message it is impossible to assist further. You must ascertain what cause the termination.
Try replacing the NOTFOUND link variable with an IsNull() test on a reference input key column. NOTFOUND is sometimes unreliable when used with something other than a hashed file servicing the reference input.
Try replacing the NOTFOUND link variable with an IsNull() test on a reference input key column. NOTFOUND is sometimes unreliable when used with something other than a hashed file servicing the reference input.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
-
- Premium Member
- Posts: 457
- Joined: Tue Sep 25, 2007 4:05 pm
Thanks for the replies Ray and Craig.chulett wrote:I've found that NOTFOUND is always unreliable when used with anything other than hashed files as a reference input.
There is nothing else in the error message than what I posted. As a matter of fact, this "Abnormal termination of <jobname>.XFM" comes as a warning. That is it. The next message in the Director after this warning is "Job <jobname> aborted."
I do not know how to look into the source code generated by the transformer stage. I tried pasting the warning message screenshot, but couldn't do that! There is this Event # (which is given as 72 for this warning), but it seems more like a sequence number for the logs.
Also, reg. the usage of NOTFOUND, I am using that for Hash file references only. There are two Hash files out of which I am looking up values and I have used NOTFOUND(lkup1) OR NOTFOUND(lkup2) condition as the constraint.
If there is any more info you require in order to move forward, let me know. I will post it asap. Thanks, in advance, for all your help
Vivek Gadwal
Experience is what you get when you didn't get what you wanted
Experience is what you get when you didn't get what you wanted
-
- Premium Member
- Posts: 457
- Joined: Tue Sep 25, 2007 4:05 pm
The reason I wanted to include a screenshot was to show that there is nothing else to the error message than what I posted here. Anyways, I followed your suggestion and copied the warning message and it goes like this:chulett wrote:Just copy the relevant portion of the log message(s) to your clipboard then include it/them here as text, no need for a screenshot.
Abnormal termination of stage InsCpsClaimAdj..XFM detected
"InsCpsClaimAdj" is the job name! The next message is:
Job InsCpsClaimAdj aborted.
Thanks.
Vivek Gadwal
Experience is what you get when you didn't get what you wanted
Experience is what you get when you didn't get what you wanted
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
In Administrator client command window
That will give you the job number. On the server look in a directory called RT_BPnnn, where nnn is that job number. A file whose name ends in TRANSnn is the source code generated by the Transformer stage.
How many rows had been processed before the abort occurred?
Code: Select all
SELECT NAME,JOBNO FROM DS_JOBS WHERE NAME = 'InsCpsClaimAdj';
How many rows had been processed before the abort occurred?
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
-
- Premium Member
- Posts: 457
- Joined: Tue Sep 25, 2007 4:05 pm
No rows are being processed. As soon as the job starts running, this warning message is appearing and it leads to the aborting. I have taken a look at the transformer generated code and I have no clue of what to look at. The warning message is not giving out any line number, as per your previous post!ray.wurlod wrote:In Administrator client command windowThat will give you the job number. On the server look in a directory called RT_BPnnn, where nnn is that job number. A file whose name ends in TRANSnn is the source code generated by the Transformer stage.Code: Select all
SELECT NAME,JOBNO FROM DS_JOBS WHERE NAME = 'InsCpsClaimAdj';
How many rows had been processed before the abort occurred?
Vivek Gadwal
Experience is what you get when you didn't get what you wanted
Experience is what you get when you didn't get what you wanted
-
- Premium Member
- Posts: 457
- Joined: Tue Sep 25, 2007 4:05 pm
All,vivekgadwal wrote:No rows are being processed. As soon as the job starts running, this warning message is appearing and it leads to the aborting.ray.wurlod wrote:In Administrator client command windowThat will give you the job number. On the server look in a directory called RT_BPnnn, where nnn is that job number. A file whose name ends in TRANSnn is the source code generated by the Transformer stage.Code: Select all
SELECT NAME,JOBNO FROM DS_JOBS WHERE NAME = 'InsCpsClaimAdj';
How many rows had been processed before the abort occurred?
I have done a workaround for this error/problem. I re-wrote the code for this particular job completely (without copying anything from the job that is causing the issues) and that has been running without any issues for two weeks now!
Thanks for your suggestions on this.
Vivek Gadwal
Experience is what you get when you didn't get what you wanted
Experience is what you get when you didn't get what you wanted
-
- Premium Member
- Posts: 457
- Joined: Tue Sep 25, 2007 4:05 pm
Gurus,
I am afraid this issue started re-appearing again! Just to give a recap, initially the code was working fine. Then all of a sudden "Abnormal Termination of stage" warning started to pop-up. Then to resolve this I re-coded the job as it is and that started to work like a charm, until today. It aborted again with the same error.
Also as an FYI, this job runs as part of a weekly schedule through Control-M and this is fired in parallel with 9 jobs.
Any help appreciated.
Thanks.
I am afraid this issue started re-appearing again! Just to give a recap, initially the code was working fine. Then all of a sudden "Abnormal Termination of stage" warning started to pop-up. Then to resolve this I re-coded the job as it is and that started to work like a charm, until today. It aborted again with the same error.
Also as an FYI, this job runs as part of a weekly schedule through Control-M and this is fired in parallel with 9 jobs.
Any help appreciated.
Thanks.
Vivek Gadwal
Experience is what you get when you didn't get what you wanted
Experience is what you get when you didn't get what you wanted
You still need to try and reset the aborted job and see if anything shows up from the previous run. Also missed this in the first go-round:
And is a boolean. You can also Not() it to mean 'FOUND'.
That syntax is not valid if that is literally what you are using. It should be:vivekgadwal wrote:Also, reg. the usage of NOTFOUND, I am using that for Hash file references only. There are two Hash files out of which I am looking up values and I have used NOTFOUND(lkup1) OR NOTFOUND(lkup2) condition as the constraint.
Code: Select all
ReferenceLinkName.NOTFOUND
-craig
"You can never have too many knives" -- Logan Nine Fingers
"You can never have too many knives" -- Logan Nine Fingers
-
- Premium Member
- Posts: 457
- Joined: Tue Sep 25, 2007 4:05 pm
Thanks for the reply Craig. The strange thing about this warning message is when I reset the job, it resets properly and it does NOT give out any error messages from previous run. Then when I go back and re-compile the job and run the schedule, it runs fine.chulett wrote:You still need to try and reset the aborted job and see if anything shows up from the previous run. .
The NOTFOUND way I was quoting in my previous post is just as an explanation. In the code itself it is coded as:chulett wrote:Also missed this in the first go-round:
That syntax is not valid if that is literally what you are using. It should be:vivekgadwal wrote:Also, reg. the usage of NOTFOUND, I am using that for Hash file references only. There are two Hash files out of which I am looking up values and I have used NOTFOUND(lkup1) OR NOTFOUND(lkup2) condition as the constraint.
And is a boolean. You can also Not() it to mean 'FOUND'.Code: Select all
ReferenceLinkName.NOTFOUND
Code: Select all
NOT(LkupSk.NOTFOUND) or NOT(Lkup_All_SNs_CLAIM_HDR.NOTFOUND)
Vivek Gadwal
Experience is what you get when you didn't get what you wanted
Experience is what you get when you didn't get what you wanted