Date: 01-21-2008 Subject: PATCH RELEASE 9.2B DATA Manager Files These release notes pertain to the following programs or files: SUNDM.EXE 9.2B 21 Jan 2008 9,2,2,500 *============================================================================== The following files have been changed as follows: ------------------------------------------------------------------------------- SUNDM - When the Open-Once mode is disabled, the Data Manager has been modified to use OS shared locks for the IFILE READ, READKS, and READKP instructions. The shared locks are used for enqueue locking of these instructions when a FILEPI is not used to cover the execution of the instructions. All other locking for these instructions are implemented as exclusive locks. When an exclusive lock is used, then all processes must wait to gain access to the lock, one process at a time. However, if there are NO exclusive locks pending or active, then a shared lock can allow multiple processes to gain control of the shared lock at the same time. Therefore, when multiple PL/B programs are attempting to read an IFILE without any exclusive locks pending or active, then the performance of the PL/B program can improve since there is no blocking by the OS for a shared lock. - Added debug logging to report close operations when bad file handles are used. Bad handles in this case include zero handle values OR invalid File IO blocks that belong to a different child thread. This debug data is only logged when the log level is set to 2. - Modified the Sundm file IO functions to prevent GPF errors when a zero value is used for a file handle. An IO error is now returned in this case. - Modified the Sundm File IO functions to validate that any handle received from a client program belongs to the Data Manager child thread. This change is being made to eliminate any possibility of thread interactions that could result in indeterminate File IO execution. - Modified the DM_PREP87 keyword to accept decimal values in addition to the ON or OFF. The new syntax format is 'DM_PREP87={ON|OFF|value}'. When the {value} format is used, then the following operations are implemented. {value} Comment 0 Set the DM_PREP87 state to OFF >0 Set the DM_PREP87 state to ON 2 Set the DM_PREP87 state to ON and there is no ISI data integrity checking. - Corrected a GPF error that could occur when the Sundm server was cleaning up after a client program executed under the following scenario: 1. 'Program(1)' opens managed files. 2. 'Program(1)' temporarily closes managed files using EXECUTE. 3. While the managed files are temporarily closed for the EXECUTE in 'Program(1)', another user program 'Program(2)' opens managed files. 4. The 'Program(1)' connection to the Data manager is disconnected and the Data Manager child thread terminates after configured keepalive times out. It is possible to get a GPF error When the 'Program(1)' child thread terminates at the Data Manager. 5. The 'Program(2)' managed File IO operations could be affected that result in indeterminate program execution. - Corrected a problem where the TRANSACTION START and ROLLBACK instructions could cause a buffer overflow. This buffer overflow problem might cause a GPF error to occur. ------------------------------------------------------------------------------- SUNDM REPLICATION SUPPORT - Modified the primary replication scanning to prevent secondary timeouts that would cause a secondary reconnection. -------------------------------------------------------------------------------