Page 1 of 1

Project got corrupted while executing the job

Posted: Thu Jun 28, 2007 12:58 am
by satheesh_color
Hi All,

Here is my requirement:

I have to identify the latest file for the particular source and to remove the timestamp from the file.Incoming Filename would like this FileName.Timestamp

InputArg = 'new=`ls -1 #FilePath#/inbox/#Source#/#FileName#.[0-9][0-9][0-9][0-9][0-1][0-9][0-3][0-9].[0-2][0-9][0-5][0-9][0-5][0-9] | sort -r | head -1`;mv $new #FilePath#/inbox/#Source#/#FileName#;'

The above code can be executed via RoutineActivity Stage using the Routine(ExecSh).While i execute this job the project got corrupted.

Error Message:The directory you are connecting to either is not an UV account or doesn't exist.(39125).

Please help me on this issue.

Re: Project got corrupted while executing the job

Posted: Thu Jun 28, 2007 1:06 am
by crystal_pup
Hi,

Check tht the directory u r tryin to connect has write access permissions set.

Re: Project got corrupted while executing the job

Posted: Thu Jun 28, 2007 1:25 am
by ArndW
satheesh_color wrote:While i execute this job the project got corrupted.
Does this mean you can no longer login to the project in DataStage? If you login to UNIX and attach to the path of the project, do you have hundreds of files in that directory including one called "VOC"? If not, you had best hope that your last backup was successful.

Posted: Thu Jun 28, 2007 1:34 am
by satheesh_color
Hi Arndw,

After ran the job, when we try to login into the project ..it says the error message.I have an valid permission to the project directory. Yes,i could see the files liike VOC,VOCLIB etc.. in project directory. Before that i tried with some other jobs for testing..the project is not affected..even i created a a new project which has only one job(The job which i mentioned below with RoutineActivity) after running that it would corrupt the project. still it's an mystery with that code!!!

Posted: Thu Jun 28, 2007 4:04 am
by ray.wurlod
ExecSH can not be called via a Routine activity, because ExecSH is a before/after subroutine and Routine activities can only call routines whose type is transform function.

Please verify what routine the Routine activity is calling, and post the code for it (you can right click on the Routine activity and drill down to the code).

If you can, please clarify what you mean by "corrupt the project". Clearly, because you can do other things in the project, it is not too badly corrupted. What process is it that encounters the 39125 error?

Posted: Thu Jun 28, 2007 9:15 am
by satheesh_color
Hi All,

While executing the above code by using InputArg in RoutineActivity Stage with Before/After Routine(ExecSh) ..Here is the error Message i got while executing in DS director:

Error calling subroutine: DSR_PROJECT(Action=7).check DS is set up correctly.Unable to load subroutine on host(30105).
Error calling subroutine: DSR_EXECJOB(Action=5).check DS is set up correctly.Unable to load subroutine on host(30105).
Error calling subroutine: DSR_LOG(Action=3).check DS is set up correctly.Unable to load subroutine on host(30105).
Error calling subroutine: DSR_SELECT(Action=15).check DS is set up correctly.Unable to load subroutine on host(30105).

After closing the Designeer and Director ....while we try to loging in again it showed the error message:The directory you are connecting to either is not an UV account or doesn't exist.(39125).

These are the files modified during job execution in the project directory:
RT_STATUS5,RT_LOG5,RT_CONFIG5,DS_TEMP5,RT_BP5.O,RT_BP5,VOC,&PH&

It is very suspicious that it did corrupt the project.

Posted: Thu Jun 28, 2007 2:23 pm
by ray.wurlod
Just job #5, it would seem.

Can you post the code of the routine called from the Routine activity, so that we can assess its potential to corrupt the project?

Posted: Thu Jun 28, 2007 11:28 pm
by satheesh_color
Hi Ray,

Here is the code which is passed as the InputArg for the Routine ExecSh in RoutineActivity Stage.


InputArg ----> 'new=`ls -1 #FilePath#/inbox/#Source#/#FileName#.[0-9][0-9][0-9][0-9][0-1][0-9][0-3][0-9].[0-2][0-9][0-5][0-9][0-5][0-9] | sort -r | head -1`;mv $new #FilePath#/inbox/#Source#/#FileName#;'

Posted: Fri Jun 29, 2007 3:59 am
by ray.wurlod
OK it was ExecSH.

Can you inspect the job log where ExecSH posts the command that it executed, and verify that the job parameter references were resolved correctly? Post the command that was actually executed.

Did the command execute correctly?
Did the job finish OK?

What happens if you execute this command in UNIX, particularly if the wildcard returns more than one file name?