Page 1 of 1

Posted: Wed Mar 10, 2010 4:02 pm
by ray.wurlod
There is a limit on the number of subdirectories, and it's approximately 32655. There is no practical limit on the number of files.

Your ls command lists files as well as directories - use a filtered ls or find command to limit the list to directories only.

Consider deleting unwanted jobs, using more than one project, or converting some of the dynamic hashed files (particularly RT_CONFIGxxx and RT_STATUSxxx) to static hashed.

Posted: Thu Mar 11, 2010 6:05 am
by Sreenivasulu
As far as i know AIX uses JFS file system and it does not have a limit on the number of files .

Reference - http://www.search.com/reference/JFS_file_system

Regards
Sreeni

Posted: Thu Mar 11, 2010 7:33 am
by ArndW
It does depend upon which file system the AIX administrators have created. Is it JFS2, JFS or another? In the past we've worked around this limitation by RESIZEing all RT_STATUSnnn files to static type 2 hashed files. Since Type 30 (Dynamic) files consist of a subdirectory with 2 visible and a hidden file, changing this to a static hashed file removes the directory and thus reduces the number of directories by the number of jobs ina project.

Posted: Thu Mar 11, 2010 8:21 am
by chulett
Sreenivasulu wrote:As far as i know AIX uses JFS file system and it does not have a limit on the number of files.
Ray said the same thing: "no practical limit on the number of files". The issue is specifically the number of subdirectories supported.

Posted: Thu Mar 11, 2010 10:12 am
by Terala
ArndW wrote:It does depend upon which file system the AIX administrators have created. Is it JFS2, JFS or another? In the past we've worked around this limitation by RESIZEing all RT_STATUSnnn files to static type 2 hashed files. Since Type 30 (Dynamic) files consist of a subdirectory with 2 visible and a hidden file, changing this to a static hashed file removes the directory and thus reduces the number of directories by the number of jobs ina project.

ArndW:

We have jfs2 filesystem and after we started deleting some old jobs and components, we were able to create and save new jobs.

Ray also mentioned resizing of RT_STATUS and RT_CONFIG files to static type 2. How did you achieve this , through a script? We have around 9000 jobs in our project and it would be helpful if I can get a script which would change the dynamic hashed files to static for all jobs.

Appreciate your help.
Thanks

Posted: Thu Mar 11, 2010 10:52 am
by ArndW
I used UniVerse commands at previous sites, it takes just a couple of minutes of work but involves a bit of internal knowledge. I suggest doing the following - from UNIX, get a list of a RT_STATUSnnn and RT_CONFIGnnn file names and then create a text file in the format:

Code: Select all

RESIZE {filename} 2 1 1 
RESIZE {filename2} 2 1 1
...
then put that file into your shell cut-and-past buffer. Enter the dssh and make sure that you are in the right project (LOGTO {ProjectName}) then enter the commands
PTERM CASE NOINVERT
ED VOC RESIZESTATUSFILES
I
PA
{now paste the buffer}
<CR> {i.e. a carriage return on an empty line to shift the editor back to edit mode}
FILE

Now you should be back in the command prompt mode. To resize all the files ensure that nobody is logged in and enter 'RESIZESTATUSFILES'. You'll have to enter a 'N' when the execution pauses after the first screen.

Posted: Thu Mar 11, 2010 2:17 pm
by Terala
I am getting this message

>RESIZESTATUSFILES
Verb "PA" is not in your VOC

How can we add PA in VOC?

I tried this

>SET.FILE UV VOC UV.VOC
Q-pointer written to VOC file.
>COPY FROM UV.VOC TO VOC PA
Record "PA" not found in file "UV.VOC".

Posted: Thu Mar 11, 2010 3:05 pm
by asorrell
Hmm - sounds like you have an extra PA in the command file.

Try editing it again and do a "P" command to print it on the screen. The PA command should be only in line 1. If it isn't then go to the bad line (type the line number in) and delete the bad line (hit "D") then file it.

The editor does have a HELP command - just hit return afterwards to get a list of commands and explanations.

You want the file to end up looking like this:
>ED VOC RESIZESTATUSFILES
3 lines long.

----: P
0001: PA
0002: RESIZE FIRSTFILENAME 2 1 1
0003: RESIZE NEXTFILENAME 2 1 1
Bottom at line 3.
----: Q
>


Also - before you do ANY of this - I'd recommend backing up everything first! Also - since you have been having problems that might cause integrity issues in the project - you might consider kicking everyone off and having the adminstrator run DS.CHECKER in the Admin Client on the project to insure the pointers are all cleaned up before you try any changes.

Posted: Thu Mar 11, 2010 3:24 pm
by ray.wurlod
Actually DS.CHECKER only checks for orphaned entries. I suspect what Arnd meant was the CLEAN.ACCOUNT utility.

Posted: Thu Mar 11, 2010 4:52 pm
by Terala
Yes the PA was coming as duplicate , I removed it. Thanks Andy.

I was able to resize the hashed file. I do not see the OVER.30, DATA and Type30 files inside it, now RT_STATUS is no more a directory and is static now.

What is the impact if we have all these dynamic Hashed files changed to Static Hashed files ( Can it be only done for RT_CONFIG, RT_STATUS) only?

Thanks

Posted: Thu Mar 11, 2010 5:37 pm
by ray.wurlod
RT_BPnnn, RT_SCnnn, RT_SCTEMP and RT_BPnnn.O are directories and must remain so.

RT_CONFIGnnn and RT_STATUSnnn contain small and unvarying volumes of data, and so are good candidates for static hashed structure.

RT_LOGnnn is the job log, and would cause lots of headaches keeping it tuned if you converted it to static, so don't.

Do not attempt to restructure any D_*, DS_* and I_* entries.

Try to have fewer jobs per project. Think about having two or more "sibling" projects.