Page 1 of 1

Sequencer triggered few children jobs, ignored the rest

Posted: Thu Dec 11, 2003 7:04 am
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.

Posted: Thu Dec 11, 2003 8:54 am
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.)

Posted: Thu Dec 11, 2003 5:19 pm
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.

Posted: Thu Dec 11, 2003 8:45 pm
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.

Posted: Fri Dec 12, 2003 1:26 am
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.

Posted: Fri Dec 12, 2003 7:11 am
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.