FairCom Server's delete-node thread prunes empty nodes from c-tree index files in the background. This maintains index key data densely packed for optimal performance. This activity requires directly opening the index file by the delete-node thread, which happens during idle times when it may be expected external applications can access the file. Having the file open at the time by the delete-node thread prevents external file open.
In exceptional cases, this behavior may not be desirable as external processes expect complete access to the file when it is no longer in use by the application. For example, processes may wish to immediately copy the file for other external processing.
In V11 and later, FairCom Server supports a configuration option to disable the internal delete-node thread. The option COMPATIBILITY NO_DELNOD_QUEUE disables the delete-node thread and disables the writing of entries to the delete-node queue.
Caution: This option should only be used in special situations in which you absolutely require an external process access to closed files, which is discouraged if at all possible while the server is operational.
Operating without pruning empty nodes from indexes can potentially diminish performance of certain index search operations which may non-optimally traverse many empty leaf nodes. This is especially true for applications which heavily delete records from the database.
COMPATIBILITY KEEP_EMPTY_NODE_ON_READ (COMPATIBILITY KEEP_EMPTY_NODE_ON_READ delete queue when read from disk, COMPATIBILITY KEEP_EMPTY_NODE_ON_READ)