Error 255 on Truncate BI

garym@camgar.ca

New Member
Sometimes, when my script truncates the BI file, I get a RETURN CODE of 255.

Does anyone know what that means? I cannot find it in the documentation.

Thanks in advance.


Gary Mittleman
 
Version of Progress?

Operating System?

Exact text of full error message?

Command line which generated error message?
 
I am running OE10 on Linux

My command line is
$DLC/bin/proutil $DB -C truncate bi -G 0
RETCODE=$?

Then I send myself an email if not 0 and I am getting 255.

But not always.

Thanks in advance.
 
Exit codes in the range 129-255 represent jobs terminated by Unix "signals".

Do not use -G 0 because this force the truncate. The server can keep information in memory.
If you wants to use -G 0 add: sync; sync;sync; before truncate, else
$DLC/bin/proutil $DB -C truncate bi .... is OK.
 
As kbase 84289 points out and as you have discovered the return codes aren't documented. I, personally, do not know of any special meaning for 255. But if something interesting happened it should result in a message to stderr and an entry in the .lg file. So I would send myself a "tail -50" of the .lg file in the e-mail.

(You should also be more specific with regard to the version of Progress -- i.e. OE 10.1C04. OE10 is a very wide target, it has been out for 7 years and any bugs. changes in behavior and so forth could be specific to any of dozens of possible releases.)
 
-G 0 just means "don't wait". Without it proutil will wait 60 seconds.

It used to be important to wait to make sure that the filesystem was synchronized. This is not a concern with modern journaled filesystems.
 
I think I figured out what happened.

it seems that the system admin person was rebooting the server and I guess he did a shutdown before the full script I use was completed.

I have a file in /etc/rc.d/init.d that calls a script called stopdb that shuts the Progress server and then truncates the BI.

I presume that my scrit did not finish.

Thanks for all your help.. I do appreciate it... Let's close this now.
 
Is there a specific reason as to why you include the truncate bi in your shutdown script?
  • If your bi consists of variable extents they will need to grow again instead of the space getting re-used.
  • Truncating the bi, apart empty'ing the file, will also run the crash recovery which will also be automatically performed everytime you start the database.
  • Shutting down you system will take longer
  • Starting your database will not be much faster
I don't see much benefit in trucating the bi everytime you shut down the system (database).

IMHO, RealHeavyDude.
 
Back
Top