Product Documentation

c-treeACE V11.0 Release Notes

Previous Topic

Next Topic

Automatic Recovery Issues Corrected with Aborted Index Operations Introduced in V10.4

In certain rare situations after an automatic recovery, two conditions could exist that could cause data-integrity problems:

  • Key values whose Adds were aborted may appear in the index.
  • Key values whose Deletes were aborted may be missing from the index.

A performance enhancement introduced in V10.4 changed the way key-level locks and associated abort-node list entries were resolved. Key-level locks and abort-node list entries permit index nodes to be updated by transactions without locking the nodes for the duration of each transaction.

The problem situation occurs when all of the following are true:

  • An index is under transaction processing control (has TRNLOG file mode); and
  • A node split causes key-level locks to be moved to the new sibling node; and
  • Some of the key-level locks moved to the new node are for aborted transactions; and
  • The new node is written to disk; and
  • The system crashes before a checkpoint is written containing the abort node list entries for the new node.

The logic has been modified in this version to eliminate this problem. After installing this version, it is important to rebuild any indexes that might be impacted by this situation, or to be safe, simply rebuild all indexes under transaction processing control.

Note: If you choose NOT to upgrade your c-tree Server - Adding COMPATIBILITY NO_UPDMARKS to existing V10.4 servers will disable this performance enhancement and eliminate the automatic recovery problem. Once this keyword is added, it is important to rebuild any indexes that might be impacted by this situation, or to be safe, simply rebuild all indexes under transaction processing control.

TOCIndex