Salesforce

Error 9444 after adding AI extents and using PROSTRCT REORDER

« Go Back

Information

 
TitleError 9444 after adding AI extents and using PROSTRCT REORDER
URL NameP144091
Article Number000150557
EnvironmentProduct: OpenEdge
Version: 10.0B, 10.1x, 10.2A
OS: All Supported Operating Systems
Question/Problem Description
Error 9444 after adding AI extents and using PROSTRCT to reorder the AI files
Database access fails with error 9444 after PROSTRCT reorder is run without error
Steps to Reproduce
Clarifying Information
Original extents are fixed length extents.
The newly added extents can be added as either variable, fixed or fixed variable
 
Error Messagebkset: Extent <file-name.a#> is below size <file-size>. (9444)
SYSTEM ERROR: The broker is exiting unexpectedly, beginning Abnormal Shutdown. (5292)
Defect NumberDefect PSC00212188 / OE00182641
Enhancement Number
Cause
The defect breaks AI in a couple of ways and causes the following:

1.  Re-ordered extents are listed (as per prostrct list) as having the same size as the original extent that was in that position, when the ai file on disk is smaller or variable.

2.  File pointers to the AI files are broken, with utilities reporting that there are missing extents or duplicate extents.  For example:
a)  PRODEL shows missing AI files or Duplicates.
b)  Deleting all AI extents using PROSTRCT REMOVE produces errors with some AI extents.  Continuing to re-run the command will eventually confirm that all AI extents have been removed.
c)  If all AI extents are removed with PROSTRCT REMOVE (ignoring errors), when adding extents back will encounter errors that an AI extent already exists.

This problem only happens when the original AI extents are fixed length extents.
The newly added AI extent can be either
  • Variable and therefore a smaller size than the Fixed ai extent it replaced when reordered or
  • Fixed but smaller in size than the Fixed ai extent that it is replacing (when reordered).
  • Added to a different directory than the ai extent that it is replacing when reordered.
Resolution
Upgrade to OpenEdge 10.2B where the problem with getting the correct recid during the PROSTRCT REORDER AI operation, which caused the extent size mismatch error during next startup was addressed. The type of recid was also changed to ROWID from DBKEY.

For versions prior to OpenEdge 10.2B, when adding AI files to a database that already has fixed length AI extents, ensure that new AI extents are the same size and the same directory as the original ones.
Workaround
1.  Run prostrct list to update the database st file:
$   prostrct list <dbname>

2.  Run prostrct repair.  This allows you to access the database but the AI file structure is still very broken.
$   prostrct repair <dbname>

3.  Backup the database using probkup:
$   probkup <dbname> <backupfile> 

4.  Delete the existing database structure using PRODEL.  Once PRODEL has been run, manually delete any AI files that remain due to the AI file structure being broken.
$   prodel <dbname>

5.  Re-create the database structure using prostrct create:
$   prostrct create <dbname> <dbname>.st

6.  Restore the database into the new database structure:
$   prorest <dbname> <backupfile>

Alternatively, restore the previous backup and rollforward then re-enable AI and AIMGT (if used).
Notes
Keyword Phrase
Last Modified Date11/20/2020 7:21 AM

Powered by