Page 1 of 2

Sequence status is 99

Posted: Tue Aug 04, 2015 10:40 pm
by SURA
Hi

I am checking the job status and getting the return value as 99 - Other.

Code: Select all

hJob = DSAttachJob(JobName, DSJ.ERRFATAL)
Status  = DSGetJobInfo(hJob, DSJ.JOBSTATUS) 
Call DSLogInfo(JobName: " - Job status is":Status,ProgramName)
ErrCde = DSDetachJob(hJob)
If i check the multiple instance job, the real status of the job is success whereas i am getting 99 as the status code.

Any idea of how to get the real status of a job?

Posted: Wed Aug 05, 2015 2:03 am
by Thomas.B
To get the real statut of the job, 'JobName' have to contain the job name and the invocation ID.

Posted: Wed Aug 05, 2015 6:59 am
by priyadarshikunal
Yes, you should check for the status for invocation, however you might be passing the same in parameter. So please confirm.

Also check the auto purge for that job or project is not set to a small value.

Posted: Wed Aug 05, 2015 2:52 pm
by SURA
Thomas.B wrote:To get the real statut of the job, 'JobName' have to contain the job name and the invocation ID.
Yes passing the job name. invocation id

Posted: Wed Aug 05, 2015 2:56 pm
by SURA
priyadarshikunal wrote:Also check the auto purge for that job or project is not set to a small value.
I read this in the IBM link which I need to check in the ETL side.

This Project is in the Dev. I set the purge variable to 9999; Not running 100s of jobs. Anyhow let me have a look.

Posted: Wed Aug 05, 2015 4:35 pm
by ray.wurlod
99 is a real status. Typically it translates in Director to "Not compiled".

Posted: Wed Aug 05, 2015 5:56 pm
by us1aslam1us
This is the suggestion i got from IBM:

InfoSphere DataStage: Problems when running multiple instances of a job from a job sequence, or from a script using dsjob


Environment variable: DSWaitResetStartup
When multiple instances of a job are run from a sequence, and one or more of the job instances are set to reset, the sequence might report a status=99. This can occur because the controlling sequence did not give the job instances enough time to reset before polling its status. The start up time for a job reset must be increased. The environment variable DSWaitResetStartup can be used for this purpose. (The maximum value that can be set for DSWaitResetStartup is the value of DSWaitStartup (default is 60). For example, if a value of 120 is required for DSWaitResetStartup, then ensure that DSWaitStartup is also set to a minimum of 120.)

Environment variable: DS_NO_INSTANCE_PURGING
If the system is under extreme load, it might be necessary to use the DS_NO_INSTANCE_PURGING environment variable if Status=99 errors still occur when running many multi-instance jobs and auto-purge is enabled. This environment variable must be set to 1. This stops the auto-purge from deleting the status records for the job instance, allowing the controlling job to read its status when system resource becomes available. (In other situations, you might want clean logs with no persistent instance entries, so the default behavior is to purge instance entries.)


Though we have reduced number of multiple instance jobs to an optimal by trial and error but i will strongly suggest you to open a ticket with IBM.


Regards
sAM

Posted: Wed Aug 05, 2015 9:35 pm
by SURA
ray.wurlod wrote:99 is a real status. Typically it translates in Director to "Not compiled". ...
Yes Ray that's right. But my question is, if a normal job completed then the code is returning the status as 1 whereas for the multiple instance job giving 99!

That's not seems consistence to me!

Posted: Wed Aug 05, 2015 9:38 pm
by SURA
us1aslam1us wrote:This is the suggestion i got from IBM:

InfoSphere DataStage: Problems when running multiple instances of a job from a job sequence, or from a script using dsjob
I don't have problem to run a job! This is about to get the status of the job.

Posted: Wed Aug 05, 2015 10:15 pm
by ray.wurlod
SURA wrote:That's not seems consistence to me!
Given that the official decoding of 99 is "other" it is entirely consistent.

Posted: Thu Aug 06, 2015 2:38 am
by priyadarshikunal
SURA wrote:I set the purge variable to 9999; Not running 100s of jobs. Anyhow let me have a look.
Do have a look at the job level auto purge as well.

Posted: Thu Aug 06, 2015 6:11 am
by akshu.agni
Hi,

As you mentioned its a multi instance job, whenever you run the job the will run with invocation id.

It will be considered as separate job, since the initial status of job is compiled hence it is 99.

Try running job without invocation id and check the status, it will be different.

Hope this helps.

Posted: Thu Aug 06, 2015 6:33 am
by chulett
Make sure you catch this point before responding (emphasis mine):
SURA wrote:I don't have problem to run a job! This is about to get the status of the job.

Posted: Thu Aug 06, 2015 6:17 pm
by SURA
My mistake. Sorry

Posted: Thu Aug 06, 2015 7:52 pm
by chulett
Wait... what? That wasn't directed at you but to everyone else. Or are you saying you are having a problem running the job? I thought the job was running fine, you just didn't think you were getting the proper status return code. :?