Sequencer triggered few children jobs, ignored the rest

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
arm_siva
Participant
Posts: 2
Joined: Thu Nov 06, 2003 10:08 pm

Sequencer triggered few children jobs, ignored the rest

Post by arm_siva »

Hi all.

Same job ran fine on production machine, but failed on development. Sequencer failed to fire some jobs those are in runnable state. Say there are a,b,c,d,e job. A and B finished running. but c,d,e have no action at all. Log showed a and b have been triggered and finished. no mention to c,d, and e. No warning or error entry on the log as well.

Look at PH folder and found this error. Hope this help identifying the cause of problem.

DSD.RUN_29270_13129
"DSD.RUN_29270_13129" 4 lines, 248 characters
DataStage Job 121 Phantom 12851
Program "DSLogInfo": Line 60, Variable "CallerName" previously undefined. Empty string used.
Program "DSLogInfo": Line 60, Variable "CallerName" previously undefined. Empty string used.
DataStage Phantom Finished.

Thank you for your help.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Is the job sequence in question job number 121? Check in the Administrator client Command window:

Code: Select all

SELECT NAME FROM DS_JOBS WHERE JOBNO = '121';
If it isn't, then what you've found in &PH& is unrelated (it's a separate problem that you have!) :cry:

Do the job activities in the job sequence have triggers for the next job activity? If so how are these triggers set? A trigger of OK will not cause the next job to finish if the current job's exit status is "finished with warnings". You may need multiple triggers, through an "any" sequencer.

What was the exit status of jobs A and B? How was the trigger in the Job Activity for each specified? (You may as well answer the trigger question for jobs C and D as well.)
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
vmcburney
Participant
Posts: 3593
Joined: Thu Jan 23, 2003 5:25 pm
Location: Australia, Melbourne
Contact:

Post by vmcburney »

I don't think your &PH& errors would stop your job, they are just warning messages telling you that you have tried to pass a variable into a function or routine before giving it a value. You need to review your sequence or batch job to find out where you use CallerName and fix this to prevent these warnings.

As Ray says the problem is likely to be in your triggers. A common problem is when you set a trigger to continue processing when a return status is OK as this causes a stop when a job runs OK but gets a warning.
Teej
Participant
Posts: 677
Joined: Fri Aug 08, 2003 9:26 am
Location: USA

Post by Teej »

vmcburney wrote:As Ray says the problem is likely to be in your triggers. A common problem is when you set a trigger to continue processing when a return status is OK as this causes a stop when a job runs OK but gets a warning.
If this is the case:

Code: Select all

[stage name].$JobStatus = 1 OR [stage name].$JobStatus = 2
Do a search for background details on the above command. "JobStatus" is a good search term.

-T.J.
Developer of DataStage Parallel Engine (Orchestrate).
arm_siva
Participant
Posts: 2
Joined: Thu Nov 06, 2003 10:08 pm

Post by arm_siva »

Thanks for your response, after carefully investigate the sequencer, I want to add more info for you

The main job sequencer starts the batch with 2 parellel job activities(A,B). Once both 2 finishes (2 black arrows connect to sequencer) it then call a routine (C). Once finished and run status is ok (blue arrow) then the other children jobs are called(e.g. D,E,...). I think it is possible that D and E did not run because routine C failed. SInce it is the routine I therefore could not see log entry of its run status in main sequencer log. This routine calls shell script to do the looping at OS level. It is possible that routine will loop for 2 hours or more. My best guess is that the job sequencer reached its timeout and therefore it was terminated. This is all I can think of. So is there any timeout setting for DataStage?

Anyhow I found only warning message as shown below for main job sequencer. I dont have errlog in hand though.


Program "DSLogInfo": Line 60, Variable "CallerName" previously undefined. Empty string used.
DataStage Phantom Finished.


for A,B,D,E everyhing it ok. However I could not find anything related to routine C in PH folder.



PS. As i mentioned earlier this exact job run fine on one server.
luca
Participant
Posts: 81
Joined: Wed May 14, 2003 11:34 pm

Post by luca »

As for the
Program "DSLogInfo": Line 60, Variable "CallerName" previously undefined. Empty string used
error, check the corresponding job, you must have something wrong with a call to DSLogInfo. Proper use should be:

Code: Select all

Call DSLogInfo (Message, CallingProgName)
Check what you pass in the second argument.

Regarding your problem, you might try to add a ExceptionHandler, which hopefully would give you more information.
Post Reply