Version 2 (modified by Sam Habiel, 12 years ago) ( diff )


Server Side Changes in version 1.7

This document describes the server side changes made to the Scheduling GUI to remove mumps transactions. The Scheduling GUI code was changed too in v1.7, mostly to support BMX v4. There is a single bug fix on the GUI side where support for unlinked clinics was broken inadvertently in v1.6.

Introduction and Statement of Problem

There are three issues:

  1. The interaction between transactions and locking causes a freeze in GT.M that looks like this:
    GTM[******]: %%GTM-W-MUTEXLCKALERT, Mutual Exclusion subsystem ALERT - lock attempt threshold crossed for region /var/worldvista/globals/mumps.dat.  Process 17141 is in crit. -- generated from 0x00002B158FF975CD.

The Scheduling GUI did a lock itself outside of the transaction in BSDX07, and Fileman did a bunch of locks internally inside the transaction.

  1. Cache users will fail with an UNIMPLEMENTED error if we use the full transaction syntax which is required on GT.M.
  1. Long running transactions present a problem to VISTA because unfiled transaction data can overwrite data not done via a transaction which is filed immediately. For example, in a transaction, Fileman creates records using the next available record number and files the data there. If two transactions do that at the same time that are not synchronized, we can overwrite the record; also, code outside of transactions will write the record first.

Due to all of these reasons, I decided to completely remove Mumps Transactions from the Scheduling GUI code.

Note: See TracWiki for help on using the wiki.