Multi instance Sequence job failing

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
swades
Premium Member
Premium Member
Posts: 323
Joined: Mon Dec 04, 2006 11:52 pm

Multi instance Sequence job failing

Post by swades »

Hi All,

We have a multi instance sequence job. We are calling 12 instances at a same time. Every time few of instance (not the same every time) instance failing with following fatal error.

Calcom_Daily_Dataload_Master_Seq.GMO.JobControl (DSSendMail): Error when executing command: /texsrvr01/Ascential/DataStage/Projects/GTS_GLOBAL/sendmail_Calcom_Daily_Dataload_Master_Seq.sh
*** Output from command was: ***
SH: /texsrvr01/Ascential/DataStage/Projects/GTS_GLOBAL/sendmail_Calcom_Daily_Dataload_Master_Seq.sh: not found

If we run instance one by one, all the instance running fine. But if we run all the instances same time, the sequence job is failing at notification activity for sending success mail(rest of job running fine).

I did search the forum. But could not found any reasonable clue.

Thanks in advance.
Last edited by swades on Mon Sep 22, 2008 11:45 am, edited 1 time in total.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

That sounds like a bug that should be reported to your official support provider.

Each Notification Activity creates a shell script that it executes and then deletes. Sounds like all of the instances are using the same filename and depending on the timing, another instance deletes the script that some other instance is trying to run.
-craig

"You can never have too many knives" -- Logan Nine Fingers
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

I would still report it as a bug if you haven't done so already.

Any way to consolidate the notifications? Have one master sequence that handles all other invocations and the emails, perhaps? You could also write your own email routine, invoke 'sendmail' or whatever you like with DSExecute(), it shouldn't have any kind of multiple instance issues that I can think of.
-craig

"You can never have too many knives" -- Logan Nine Fingers
swades
Premium Member
Premium Member
Posts: 323
Joined: Mon Dec 04, 2006 11:52 pm

Post by swades »

Is there anything - I can change at project level and things work fine. What I am looking for is - take the control from DS and on the fly creates this shell script with invocation id in script name. So it will not conflict with other instance.We have few jobs already moved to production and facing this issue. So we would like to do minimum level of code change.
swades
Premium Member
Premium Member
Posts: 323
Joined: Mon Dec 04, 2006 11:52 pm

Post by swades »

Is there anything - I can change at project level and things work fine. What I am looking for is - take the control from DS and on the fly creates this shell script with invocation id in script name. So it will not conflict with other instance.We have few jobs already moved to production and facing this issue. So we would like to do minimum level of code change.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

No need to take that same scripted approach that the stage does. Look into the Routine Activity idea that I posted. Replace the Notification Activity stage with a Routine Activity stage that does the emailing. Should be simple enough to setup and won't have the multi-instance problem that you are seeing now.

You can use DSSendMail or execute your email client of choice (like sendmail) directly that way.
-craig

"You can never have too many knives" -- Logan Nine Fingers
swades
Premium Member
Premium Member
Posts: 323
Joined: Mon Dec 04, 2006 11:52 pm

Post by swades »

Thanks Craig-

I have created below routine. This works fine for me, but still the question is if this routine called from routine activity in multi instance sequence job, might be two routine instances run at same time. Is this can be a problem?

Code: Select all

Arg="From:":SenderMailId:"\nTo:":ReceptionMailId:"\nSubject:":JobStatus:": ":ProjectName:"-->":JobName:".":ErrorSource:" (":HostName:")\nBody:":BodyMessage
CALL DSU.DSSendMail(Arg,ErrorCode) 
Ans = 0
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

I don't believe so, but if it does I'm sure you'll let us know. :wink:

If you have that problem, try switching it to use DSExecute() and call 'sendmail' directly, that should work fine.
-craig

"You can never have too many knives" -- Logan Nine Fingers
swades
Premium Member
Premium Member
Posts: 323
Joined: Mon Dec 04, 2006 11:52 pm

Post by swades »

chulett wrote:I don't believe so, but if it does I'm sure you'll let us know. :wink:
no room for experiments. :cry:

Thanks very much Craig for your time and support.
swades
Premium Member
Premium Member
Posts: 323
Joined: Mon Dec 04, 2006 11:52 pm

Post by swades »

chulett wrote:I don't believe so, but if it does I'm sure you'll let us know. :wink:
no room for experiments. :cry:

Thanks very much Craig for your time and support.
swades
Premium Member
Premium Member
Posts: 323
Joined: Mon Dec 04, 2006 11:52 pm

Post by swades »

chulett wrote:I would still report it as a bug if you haven't done so already.
Need to check with Admin team, if they didn't , I will report to IBM.
Post Reply