ds_seqput: error in 'write()' - Error 0

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
balajimadhav
Participant
Posts: 15
Joined: Thu Jul 06, 2006 8:59 am

ds_seqput: error in 'write()' - Error 0

Post by balajimadhav »

Hi,

I am using sequential stage (Pipes enabled) in my job which will write and read the records. Then using CRC32 function the checksum is generated and the generated checksum will be updated in my target. The pipe file is split in the job so that the sequential file / pipe stage is represented as 2 objects on the DS canvas. I am getting the following eror

ds_seqput: error in 'write()' - Error 0

The job runs in a multiple instance (eg: 7 instances) and it is working fine for 6 six instances but throws error for only one instance.
I searched a lot from the forum and below are my observations

1) There may be an issue in the file memory exceeding the limit defined
2) or there may be server overload

I could find the server is not overloaded and through df -k command i could find there is no issue with file space.

I am creating the file by mkfifo in before job routine with permission 666.When i trigger the job again its failing . when i tried using to open the file using cat command and do a ctrl+Z and then run the job its running fine even though i remove the file and create it (before job routine rm and mk fifo)

This error is frequent and i am looking forward a solution for such scenarios. Also i would like to know what could be the reason why the job is executing fine when i do a cat command followed by ctrl+z?
Balaji.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Writing to a pipe can fail if the pipe itself becomes full - the reader process is draining data from the pipe more slowly than the writer process is sending data into the pipe.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
balajimadhav
Participant
Posts: 15
Joined: Thu Jul 06, 2006 8:59 am

Post by balajimadhav »

Thanks Ray. But how can i validate that this could be the problem and any solution for this? do i need to change any time out setting parameters? Currently my 'Wait for writer timeout' and 'Read timeout' is set to zero in the pipe stage. Also could you please let me know the usage of the above two options?
Balaji.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

0 means "infinite wait" but that does not directly affect the current problem. Timeout allows the reader process to conclude that no more rows will be arriving or the writer process to conclude that the reader process has died. You might try setting the writer timeout to a finite value, say two minutes. If it times out, then the reader process isn't reading, or isn't reading fast enough.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Post Reply