Product Documentation

V9 Update Guide

Previous Topic

Next Topic

Commit Read Locks for Guaranteed Data Reads

Without explicit read or write locks, it is possible to have a partially updated record buffer returned in a high transaction volume environment. The returned record buffer could consist of partial old data, and partial newly updated data from a transaction commit operation from a concurrent thread. While the occurrence of this event is extraordinarily rare (on the order of one in a million record reads) it is an important issue in a high volume situation.

FairCom DB introduces a new feature to prevent these “dirty” record reads. Commit Read Locks enable an implicit, high performance, low-level record lock, ensuring consistent data record reads in high transaction volume environments. This new behavior is on by default. If a record update, under transaction control, is updated or deleted without an explicit lock held, an error CMLK_ERR (768, commit lock error: make sure record update performed with lock) is now returned.

A server configuration keyword is available to disable this feature for backward compatibility.

  • COMPATIBILITY NO_COMMIT_READ_LOCK

TOCIndex