dsapi processes for a job

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

MukundShastri
Premium Member
Premium Member
Posts: 103
Joined: Tue Oct 14, 2003 4:07 am

dsapi processes for a job

Post by MukundShastri »

Can anaybody tell about-
1] what are dsapi processes
2] how many dsapi processes are create on the operating system
3] what is the diffence between dsapi and phantom processes for a datastage job.


Thanks
Mukund
JasonGibson
Participant
Posts: 1
Joined: Thu Mar 18, 2004 1:10 am

Post by JasonGibson »

dsapi processes are called from the api in DataStage. The calls are initiated in a couple of ways.

1. The datastage job will initiate dsapi slaves based on the number of transforms occuring in the job itself.

2. dsapi calls are also initiated when a call such as dsloginfo is made.

Hope this helps
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

You can probably work out that dsapi stands for "DataStage API".

When a DataStage client connects, it does so through the dsrpc mechanism, requesting the dscs service (unirpc and uvcs for earlier DataStage releases that were built on UniVerse).

After verifying that the user's machine is authorised to request the dscs service, by looking in the dsrpcservices file, the listener process (dsrpcd) initiates the executable associated with this service. The name of the executable associated with dscs is dsapi_server. This process maintains the connection with the client (looking after inactivity timeout for example) and handles requests for activity (retrieval or storage and so on).

A dsapi_server does not do much actual processing. Most of the processing that the client requests is handled by forking a helper process, which runs as dsapi_slave. It is unusual that a dsapi_server process has more than one dsapi_slave at any one time, because the helper processes can terminate once they've finished the task they were given.

So, what you should be seeing are:
  • one dsapi_server process for each connected DataStage client

    zero (or slightly more than zero) dsapi_slave processes per dsapi_server processes
There will also be uvsh processes associated with running jobs. These are outside the scope of the current discussion, which is about dsapi.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
kduke
Charter Member
Charter Member
Posts: 5227
Joined: Thu May 29, 2003 9:47 am
Location: Dallas, TX
Contact:

Post by kduke »

Another Full Wurlod. Good answer.
Mamu Kim
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Actually I probably should have continued to talk about zombie dsapi processes too, but didn't. The most likely causes are disconnections from parent processes, whether network dropouts, aborted jobs being run in debugger, or whatever.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

ray.wurlod wrote:Actually I probably should have continued to talk about zombie dsapi processes too, but didn't.
Too bad, could have scored our first Double Full Wurlod. :wink: Hey, it's not too late to go back and edit your post!
-craig

"You can never have too many knives" -- Logan Nine Fingers
MukundShastri
Premium Member
Premium Member
Posts: 103
Joined: Tue Oct 14, 2003 4:07 am

Post by MukundShastri »

Hi Ray,
Thanks for the reply.
As per you material above dsapi_slave processes are caused by Client. We see aound 1600 dsapi_slave processes .But around 5 people accessing the server from client . Then how come these many processes get formed ?

Should I consider these dsapi_slave processes as zombie dsapi processes.
kduke
Charter Member
Charter Member
Posts: 5227
Joined: Thu May 29, 2003 9:47 am
Location: Dallas, TX
Contact:

Post by kduke »

Ray

He set you up for a double. Go for it.
Mamu Kim
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

I'll be in that part of the world next week (India, that is, not necessarily the land of 1600 dsapi_slave processes!).

Mukund, can you take a look at the output of this command:

Code: Select all

ps -ef | head -1 ; ps -ef | grep dsapi | grep -v grep
to determine whether they've been around for a long time, or are fairly recent?

And can you tell us whether the deadlock daemon (dsdlockd) is running?

Code: Select all

ps -ef | grep dsdlockd | grep -v grep
This process has, as one of its tasks, the job of cleaning up after defunct processes.
Last edited by ray.wurlod on Wed Jul 28, 2004 6:09 am, edited 1 time in total.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
MukundShastri
Premium Member
Premium Member
Posts: 103
Joined: Tue Oct 14, 2003 4:07 am

Post by MukundShastri »

Hi Ray,
I am currently in UK.

Today we have less dsapi running. We got 1600 dsapi running day before yesterday and as a immediate fix the server was rebooted.
As of now , I am getting following output from the first command:
UID PID PPID C STIME TTY TIME CMD
dsadm 17629 17619 0 14:17:56 ? 0:00 dsapi_slave 10 9 0
dsadm 17297 17292 1 14:17:54 ? 0:02 dsapi_slave 10 9 0
dsadm 17508 17498 0 14:17:55 ? 0:00 dsapi_slave 10 9 0
dsadm 29704 29679 0 10:34:38 ? 1:33 dsapi_slave 10 9 0
dsadm 28936 28916 0 12:13:41 ? 0:15 dsapi_slave 10 9 0
dsadm 17269 17263 0 14:17:54 ? 0:01 dsapi_slave 10 9 0
dsadm 12188 12159 0 12:46:21 ? 1:49 dsapi_slave 10 9 0
dsadm 17591 17582 0 14:17:56 ? 0:00 dsapi_slave 10 9 0
dsadm 17548 17538 0 14:17:56 ? 0:00 dsapi_slave 10 9 0


And deadlock deamon is not active as the second command gives now output. How do I start the deadlock deomon.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

The best way is to configure it for auto-start in the dsdlockd.config file in the DataStage engine directory on the server.
Log in as superuser, cd to the DataStage engine directory, invoke UniVerse, and bring up DEADLOCK.MENU; there is an option on this menu for starting the dsdlockd process.
Check that it starts successfully, using the command I gave you earlier.

Knew you'd left Reliance; just assumed you'd stayed in Mumbai!
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
MukundShastri
Premium Member
Premium Member
Posts: 103
Joined: Tue Oct 14, 2003 4:07 am

Post by MukundShastri »

ray.wurlod wrote:The best way is to configure it for auto-start in the dsdlockd.config file in the DataStage engine directory on the server.
Log in as superuser, cd to the DataStage engine directory, invoke UniVerse, and bring up DEADLOCK.MENU; there is an option on this menu for starting the dsdlockd process.
Check that it starts successfully, using the command I gave you earlier.

Knew you'd left Reliance; just assumed you'd stayed in Mumbai!

Superuser - you mean to say I have to logon as 'root' ?


Thanks
Mukund
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

He doesnt' mean superuser as in root... he means the 'admin' user as in 'dsadm' or whatever name you've assigned to that role.
-craig

"You can never have too many knives" -- Logan Nine Fingers
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

He does indeed mean log in as root.

Mukund is running version 5.x.

:P
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Bummer... sorry. :oops:

I started with 3.1 but some of these subtle "do it this way in x.x but this other way in y.y and don't forget it was broken for awhile in x.yr3" have long since fled my mind. I need to get me a copy of your magic notebook, this is all too much for a mere Muggle. :wink:
-craig

"You can never have too many knives" -- Logan Nine Fingers
Post Reply