FairCom ISAM for C

Previous Topic

Next Topic

Multi-User Interference

While true multi-user interference is rare, in multi-user applications, it is possible for one process to interfere with another process even when all the proper locking strategies are in place. In particular, one user may cause a change in a data record during the time another process is searching an index and securing a data record lock on the same record. If this happens, FairCom DB detects significant changes and will automatically retry the operation that received the error. The number of times an operation is retried is specified by the value ITIMretry in file ctopt2.h. The default value of 10 may be altered. If the error persists after the specified number of tries, an ITIM_ERR (160) is reported.

If error ITIM_ERR is returned by an ISAM function and is reproducible, this may be an indication of improper current ISAM settings during rewrite operations. See ReWriteRecord for more information. Another possible cause of the ITIM_ERR is a problem in the data possibly caused by failing to close the file properly or memory overwrites by the application. It can also result from index file corruption.

  • The ITIM_ERR detects two types of changes to the record being accessed:
  • The record has been deleted
  • The key value has changed