The following warning message indicates that the FairCom Server internal file ID array is getting close to its upper limit:
Pending File ID Overflow
This issue is more common on older FairCom Server versions (before V9.3) because they used file ID numbers each time a c-tree data or index file was physically opened, even if it was just read, not written. Now FairCom DB uses a file ID number only when a file is physically opened and then updated.
The “Pending File ID Overflow” message indicates the FairCom Server internal file ID numbers are getting close to the upper limit.
Each time a transaction controlled c-tree data file or index file is opened, the value of its file ID number is increased. If your system has a large number of files, this value can increase a fair amount with each day of processing.
If the upper limit is hit, the Server process will shut down.
The message “Pending File ID Overflow” will be written to CTSTATUS.FCS. A new entry will be logged every time another 10,000 numbers are used.
From the time the first warning message appears, you have at most 67,104,768 additional data file and index file opens before this value hits this limit.
When the transaction file numbers have been exhausted, error 534 and the following message will be logged in CTSTATUS.FCS:
- User# 00018 Pending File ID overflow: 534
- User# 00018 O18 M18 L58 F-1 Pfffff003x (recur #1) (uerr_cod=534)
If you get error 534, you must do a transaction log reset.
To determine the current value of your system’s file ID number, you can use the ctstat transaction snapshot (ctstat -vat). The file ID number is shown as the tfil value (the sample below shows tfil of 233):
ctstat -vat -h 1 -i 1 1 -t -s FAIRCOMS
lowlog curlog lstent lstpnt lstsuc tranno tfil
46 49 3217645 3217445 0 1045589 233
The following actions are suggested when the file ID warning message is seen.
First, determine how much time you have before the upper limit is hit and the server shuts down:
Once you can safely shut down the system, be sure to shut it down cleanly. The best practice recommendation for shutting down FairCom Server is as follows:
This second shutdown ensures that any pending transactions in the current logs are processed.
The only *.FCS to keep in your current directory is FAIRCOM.FCS.
FAIRCOM.FCS stores user information such as user IDs, so if you don’t keep this file, you will have to recreate your users.
You may confirm this by looking at the file names of the transaction logs (on Unix/Linux: ls L*.FCS) and you should see the first L*.FCS has been reset to number L*00001.FCS
If you would like to confirm that the file ID value has been reset, you can execute the ctstat -vat command again. You should see the file ID value is now a very low number.