Product Documentation

FairCom ISAM for C

Previous Topic

Next Topic

FairCom Server Threads

When listing active clients in ctadmn, the first user is usually number 5 or 6. This is because FairCom DB starts various threads upon start up. The following threads are created by FairCom DB:

Description of Server Threads

  • Main (ctsrvr): The main c-tree Server thread. It initializes the database engine and creates the administrative threads.
  • Delete Node (ctdnode): Makes empty index nodes available for reuse. When an index node becomes empty, the thread that emptied the node adds an entry to the delete node queue. The delete node thread reads entries from the delete node queue, prunes the empty nodes from the index tree and adds them to a list of nodes that are available for reuse.
  • Checkpoint (ctqchkp): Periodically records the current transaction state of the c-tree Server in the c-tree Server’s transaction log files. The checkpoint thread writes a checkpoint entry to the transaction logs each time a specified amount of data has been written to the transaction log files. The most recent checkpoint entry in the transaction logs provides a starting point for the c-tree Server’s automatic recovery procedure if the c-tree Server process terminates abnormally. If you are not using transaction control, the checkpoint thread is idle. The frequency at which the checkpoint thread writes checkpoints can be tuned for optimal performance.
  • Communication Listener: Listens for connection requests from c-tree client processes. There is one communication listener thread for each communication protocol your c-tree Server is configured to support. For example, the c-treeSQL Server for Windows has four communication listener threads if both the TCP/IP and shared memory communication protocols are enabled for both ISAM and SQL connections.
  • SYSLOG (ctsyslog): Logs messages to the System Log Data file. The logging of these messages are triggered by the SYSLOG c-tree Server configuration options and some uses of the SNAPSHOT API, such as the collecting of c-tree function timings.
  • Deleted Space Reclamation (ctrspac): Makes deleted space in recovered variable-length c-tree data files and deleted c-tree superfile members available for reuse. This thread also coalesces adjacent blocks of deleted space in variable-length files into larger regions. The thread reads and processes entries stored in a permanent queue file named D0000001.FCS. Improves performance and disk space usage.
  • Dynamic Dump (idyndump): The c-tree Server Dynamic Dump backup thread. A dynamic dump thread is created for each backup that is scheduled, so more than one dynamic dump thread can exist, but only one dynamic dump thread at a time performs a backup.
  • Idle Flush (Idle transaction buffer flush / Idle non-transaction buffer flush): Flushes updated cache pages to disk when the database engine is idle. One thread flushes updated pages for transaction-controlled files and one thread flushes updated pages for non-transaction controlled-files.