TRNLOG fixed-length record deletes when using COMPATIBILITY TDATA_WRITETHRU exhibited delays for record Adds and Deletes and file Opens and Closes. The delay was attributable to operations waiting for the file header mutex.
The new DELSTK_COMMIT_SEC server configuration can be used to improve performance of committing record deletes in a fixed-length data file that uses the TDATA_WRITETHRU option. To use this option, specify the following in ctsrvr.cfg:
DELSTK_COMMIT_SEC nsec
When nsec is greater than zero, this option causes commits of fixed-length record deletes in files that use the TDATA_WRITETHRU option to write the delete stack value to the file's header at most every nsec seconds. This means that, in the event of a server crash, the delete stack value in the header can be out-of-date, not accounting for the last nsec seconds of deleted records. The only impact is that some space in the file will not be available for reuse after automatic recovery.
Default: 0 (disabled)
The maximum value that can be specified is 30.
Changing at Runtime
This option can be changed at runtime using either of these approaches:
Using the ctadmn utility:
Select menu option 10. Change Server Settings, then select 10. Change the specified configuration option, and then enter the configuration option and its value:
delstk_commit_sec 1
Calling the ctSETCFG() function, for example:
ctSETCFG(setcfgCONFIG_OPTION, "DELSTK_COMMIT_SEC 1");