Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

< Previous

Appendix A: Concurrency Protection


 

Table of Contents

Concurrency Overview

In the context of CFMumps applications, concurrency is the condition that occurs when more than one MUMPS process or thread attempts to access the same global node simultaneously. This can cause logical--but not generally physical--data corruption of a MUMPS database if, for example, one process or thread attempts to read or write a global node that is simultaneously being written by another process or thread. Therefore, to ensure data integrity, a CFMumps developer must make use of some form of concurrency control when developing robust enterprise software.

 

Info
titleCFMumps Process Model
Any CFMumps connector (the component being used by the Basic and Global APIs to access the underlying MUMPS system) is free to choose its own process model. Depending on the nature of the underlying MUMPS implementation, initial and subsequent accesses to the database may occur within the same process as the CF application server, as a new thread per request, as a process external to the CF application server, or as a new process per request. Thus, application-level code should not make assumptions about the process model with which the database is being accessed, and should take care to use, check for, and honor some sort of concurrency control mechanism any time a global node is to be written.