Product Documentation

V11.5 Update Guide

Previous Topic

Next Topic

Operating System cache flush suppressed for non-TRANLOG files

By default, c-treeACE now suppresses calls to flush updated file system cache pages to disk for all non-TRNLOG data and index files, except during a call to CTFLUSH(). This is a performance enhancement for non-transaction and PREIMG files.

Note that this change may introduce a vulnerability to possible data loss in the event of a system crash if updates to a c-treeACE data or index file have been written to the file system cache but not yet written to disk. This can be mitigated by installing a battery backup (UPS) on the system so the file-system cache can still be flushed in case of a power failure. Note that this does not introduce any vulnerability involving abnormal termination of the c-treeACE Server process, as it only affects file system caching, not c-tree caching behavior.

c-treeACE Server supports a configuration option, NONTRAN_FILESYS_FLUSH_OFF, that accepts two values, YES and NO. YES suppresses the flush calls, and NO enables the flush calls (the default behavior prior to c-treeACE V11.2.3). This option can also be changed at runtime. To disable this option in standalone mode, recompile the standalone library with #define NO_ctBEHAV_NONTRAN_FILESYS_FLUSH_OFF.

Note: This is a Compatibility Change for V11 users.

TOCIndex