Why are my hashed files becoming corrupted? We are getting corruption in files like RT_LOG, RT_CONFIG, RT_STATUS, and DS_* files.
There is an issue in Information Server 8.1 and 8.5 on AIX or Solaris when projects and/or engine are installed on different file systems.
In these releases, DataStage uses the minor number of the file system device number as its device number. The T30 table and lock tables use a combination of the file's inode number and the device number to ensure each file has a unique identifier. The problem arises when the different file systems have the same minor number for their device. Since files on different file systems can have the same inode number, if the minor number of device number of the file systems are also the same, the files will no longer be unique in the T30 and lock tables. If these files are open at the same time, file corruption will occur.
This problem will only occur if the different file systems have the same minor number for the device. You only need to apply the patch if this is the case.
Here is how you check. At the OS level do:
$ df -k
to get a list of the file systems. Next, do:
on the device name. For example:
$ df -k
Filesystem 1024-blocks Free %Used Iused %Iused Mounted on
/dev/hd4 524288 274300 48% 2273 4% /
/dev/fslv00 104857600 79043772 25% 27429 1% /u1
/dev/fslv01 104857600 98341464 7% 20213 1% /u2
/dev/fslv02 104857600 85471392 19% 14348 1% /u3
$ ls -l /dev/fslv0*
brw-rw---- 1 root system 39, 2 Sep 14 2006 /dev/fslv00
brw-rw---- 1 root system 40, 2 Sep 14 2006 /dev/fslv01
brw-rw---- 1 root system 41, 2 Sep 14 2006 /dev/fslv02
In this example, the minor number for all 3 of the file systems is "2". You need to check each file system that your projects and your DSEngine directories are on. Since DSEngine contains hashed files, it can become corrupted as well.
If you find that your system does meet this criteria, please contact support and request patch JR37533.