Salesforce

What is RecSpaceSearchDepth?

« Go Back

Information

 
TitleWhat is RecSpaceSearchDepth?
URL NameP135179
Article Number000129723
EnvironmentProduct: OpenEdge
Version: 10.1B02, 10.1B03, 10.2x, 11.x, 12.x
OS: All Supported Operating Systems
Question/Problem Description
What is RecSpaceSearchDepth?
What does -recspacesearchdepth database startup parameter do?
What does the Record Free Chain Search Depth Factor control?
Steps to Reproduce
Clarifying Information
Error Message
Defect NumberEnhancement OE00148573
Enhancement Number
Cause
Resolution
The database startup parameter "-recspacesearchdepth" was introduced in OpenEdge 10.1B02.  It determines how deep in the Record Free Chain to search, to find a block with enough free space to fit data, before allocating a new clusters worth of space instead from the Empty Chain where the Area High Water Mark (HWM) is raised.

The recspacesearchdepth value is specified in tenths of Cluster Size.
The default value is 5, being 5/10 or 50% of the cluster size worth of RM blocks to move from the front the the back of the RM chain before allocating a new cluster for data.

Some historical background:

The default space allocation algorithms were not optimised for specific data growth scenario's. So, the Record Free Chain Search Depth Factor (-recspacesearchdepth) was added to fix an issue with the record space allocation algorithm where Type II Storage Areas were not searching deep enough into the RM chain for available space before allocating a new cluster.   The current default value (5) is a factor used in the new record space algorithm along with the cluster size of the current Storage Area.

The default value of this parameter has since proven to make the algorithm sufficiently search the record free chain for available space. If a "PROUTIL -C chanalys" report shows more than one clusters worth of free space on the RM chain over a prolonged period of time, then changing this value may be warranted but contact Progress Technical Support before doing so.

WARNING:
 
This parameter should not be changed unless Progress Technical Support and Progress Development advise that after analysis, changing the value may correct observed behaviour under investigation. Either free space won't be used properly if set too low or if the search is too deep performance will drop. Very few production environments have ever needed this value adjusted from the default since it was first introduced.
Workaround
Notes
Progress Article:

What does progress do when deleting records from the database?   

NOTE:  -recspacesearchdepth has also been observed to be beneficial in situations dealing with LOBS in some cases, however YMMV (your mileage may vary).
Keyword Phrase
Last Modified Date3/25/2024 3:22 PM

Powered by