Unable to open descriptor file to update
An IBM® InfoSphere® DataStage® job fails with the error message Unable to open descriptor file to update: Permission denied.
Symptoms
Files can not be overwritten or deleted by users other than the dsadm
user.
Causes
The umask setting 022 is used by the dsadm user to run InfoSphere
DataStage jobs.
This setting causes InfoSphere
DataStage jobs
that are scheduled via the Director client to fail
with the following
errors.
main_program: Unable to open descriptor file to create: Permission denied
main_program: Error writing ORCHESTRATE File Data Set descriptor for '/dataset/TEST.ds'.
main_program: Fatal Error: Could not create output file /dataset/TEST.ds. filesystem related error
Diagnosing the problem
Design a simple InfoSphere
DataStage job to
create either a dataset or a sequential file and follow these steps to test the umask value of the
dsadm user and file permissions.
- Open the job properties.
- In the Before job subroutine, select ExecSH from the drop-down list and type umask under Input Value:
- Open the Director client and schedule the job to run every day. This will create the crontab script dsr_sched.sh on the server.
- After the job has run, open the job log and look for the umask value.
If the umask value in the job log is 022, then follow below steps to resolve file permission issues.
Resolving the problem
Add umask 002 in dsr_sched.sh script. Edit <IS_Install_location>/Server/Projects/<Project Name>/dsr_sched.sh and add the line umask 002 as shown here.
uvhome=$2
shift 2
cd $project
. $uvhome/dsenv
umask 002
$uvhome/bin/uvsh "DSR.SCHED $*"
Now schedule a test job and check the job log for the umask value. The umask value should be 002 and file permissions should be as -rw-rw-r--.