OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
From: system PRIVILEGED account (rootnfsserver.support.compaq.com)
Date: Sun Mar 11 2001 - 23:30:53 CST

  • Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

    *******************************************************************************
    * *
    * This is an update to an existing patch... *
    * *
    * Online links can be found at *
    * http://ftp.support.compaq.com/patches/public/vms/axp/v7.2-1h1/dec-axpvms-vms721h1_rms-v0300--4.README
    *******************************************************************************

    TITLE: OpenVMS VMS721H1_RMS-V0300 Alpha V7.2-1H1 RMS ECO Summary

    New Kit Date : 12-MAR-2001
    Modification Date: Not Applicable
    Modification Type: Updated Kit Supersedes VMS721H1_RMS-V0200
     
    NOTE: An OpenVMS saveset or PCSI installation file is stored
           on the Internet in a self-expanding compressed file.
     
           For OpenVMS savesets, the name of the compressed saveset
           file will be kit_name.a-dcx_vaxexe for OpenVMS VAX or
           kit_name.a-dcx_axpexe for OpenVMS Alpha. Once the OpenVMS
           saveset is copied to your system, expand the compressed
           saveset by typing RUN kitname.dcx_vaxexe or kitname.dcx_alpexe.
     
           For PCSI files, once the PCSI file is copied to your system,
           rename the PCSI file to kitname-dcx_axpexe.pcsi, then it can
           be expanded by typing RUN kitname-dcx_axpexe.pcsi. The resultant
           file will be the PCSI installation file which can be used to install
           the ECO.
     

     

    Copyright (c) Compaq Computer Corporation 2001. All rights reserved.

    OP/SYS: OpenVMS Alpha

    COMPONENT: RMS

    SOURCE: Compaq Computer Corporation

    ECO INFORMATION:

         ECO Kit Name: VMS721H1_RMS-V0300
                        DEC-AXPVMS-VMS721H1_RMS-V0300--4.PCSI
         ECO Kits Superseded by This ECO Kit: VMS721H1_RMS-V0200
         ECO Kit Approximate Size: 3120 Blocks
         Kit Applies To: OpenVMS Alpha V7.2-1H1
         System/Cluster Reboot Necessary: Yes
         Rolling Re-boot Supported: Yes
         Installation Rating: INSTALL_1
                               1 - To be installed on all systems running
                                   the listed version(s) of OpenVMS.

         Kit Dependencies:

           The following remedial kit(s) must be installed BEFORE
           installation of this kit:

             VMS721H1_UPDATE-V0300
             VMS721H1_CLIUTL-V0100
                          
           In order to receive all the corrections listed in this
           kit, the following remedial kits should also be installed:

             None

    ECO KIT SUMMARY:

    An ECO kit exists for RMS on OpenVMS Alpha V7.2-1H1. This kit addresses
    the following problems:

    PROBLEMS ADDRESSED IN VMS721H1_RMS-V0300 KIT

      o Fix to prevent a fatal INVEXCEPTN lock manager bugcheck when
         global buffers are enabled.

         This problem involves a race condition with the following rare
         set of conditions occurring simultaneously:

             o The last accessor of a global section cleaning up any
                cached global bucket system locks on one node.

             o A lock request on another node resulting in delivery of a
                system fork lock blocking interrupt to the latter node
                that attempts to convert a lock after it has been dequeued
                by the last accessor.

                Images Affected: [SYS$LDR]RMS.EXE

      o Fix for invalid input parameter in call to SCH$QAST to prevent
         a potential fatal INVEXCEPTN system bugcheck when global
         buffers are enabled.

               Images Affected: [SYS$LDR]RMS.EXE

      o Fix for potential RMS lock hang when global buffers are
         enabled.

         This problem involves a rare condition if the last accessor of
         the global section is interrupted by an abort rundown, which
         may lead to the need for the cleanup of the global section not
         being properly detected. This could result in the survival of
         the global section and a global bucket system lock after the
         last accessor is deleted.

         Since this problem requires the accessor that is aborted to
         also be the last accessor, it is more apt to occur with a file
         that accessors come and go -- with a file that is opened and
         closed frequently and may have only one accessor at a
         particular time (e.g. RIGHTSLIST.DAT) -- versus a file with
         global buffers enabled that typically has several concurrent
         accessors at all times until there is an application (or
         system) shutdown.

              Images Affected: [SYS$LDR]RMS.EXE

      o Fix to prevent a nonfatal RMS bugcheck (ENQDEQFAIL) when an
         enqueue request fails with a CVTUNGRANT status.

         The ENQDEQFAIL bugcheck may be reported when an RMS lock
         manager request to rearm the blocking AST associated with a
         directory cache fails with a CVTUNGRANT status.

         The process may either:

         1. Terminate (SYSGEN parameter BUGCHECKFATAL not enabled)
             with an RMSBUG; or

         2. Crash the system (BUGCHECKFATAL enabled) with a RMSBUG.
             The footprint of the crash will reflect an R2 register
             value of %XFFFFFFF4 (ENQDEQFAIL) with an R0 register value
             of %X0000213c (SYSTEM-F-CVTUNGRANT).

             Images Affected: [SYS$LDR]RMS.EXE

      o Fix for SQO error on CONVERT/NOSORT with collated key.

         Producing an indexed file with a collated key using the
         qualifier /NOSORT with the CONVERT may fail with the following
         error:

                 %CONV-F-READERR, error reading <filename>
                 -RMS-F-SQO, operation not sequential (SQO set)

             Images Affected: [SYSEXE]CONVERT.EXE
                               [SYSLIB]CONVSHR.EXE

      o RMS support for new qualifier /SHARE added to SET FILE, which
         is dependent on the VMS721H1_CLIUTL-V0100 kit being installed.

         The /SHARE qualifier allows you to enable or disable global
         buffers or statistics on a file currently being accessed by
         other users. Only new accessors of the file will acquire the
         new settings. This qualifier requires SYSPRV (system
         privilege).

         The /SHARE qualifier is only valid with the following
         qualifiers:

               /[NO]GLOBAL_BUFFER=count/SHARE
               /[NO]STATISTICS/SHARE

         If other qualifiers are needed, they must be entered in a
         separate SET FILE command.

         /[NO]GLOBAL_BUFFER=count/SHARE

         The /SHARE qualifier can be used to enable or disable global
         buffers on a file currently being accessed. However, any new
         global buffer settings will only be applied to new accessors
         of the file. And if a file is already opened with global
         buffers, any new number of global buffers will not take effect
         until the file is closed by all accessors of the file.

         /[NO]STATISTICS/SHARE

         The /SHARE qualifier can be used to enable or disable
         statistics on a file currently being accessed. However, only
         statistics of new accessors of the file will be measured.

         EXAMPLE:

         $ SET FILE/SHARE/GLOBAL_BUFFER=5000/STATISTICS INVENTORY.IDX

         This example sets 5000 global buffers on the INVENTORY.IDX
         file and enables statistics. Without the /SHARE qualifier, if
         the file was open when the SET FILE command was issued, the
         following error would be returned: SYSTEM-W-ACCONFLICT (file
         access conflict). The /SHARE qualifier allows the global
         buffers and statistics to be enabled on an open file.
         However, these settings only apply to new accessors of the
         file.

         Images Affected: [SYS$LDR]RMS.EXE
                          [SYSEXE]SET.EXE
                          [SYSLIB]DCLTABLES.EXE with modified SET.CLD

         The latter two images require the installation of the
         VMS721H1_CLIUTL-V0100 kit.

    PROBLEMS ADDRESSED IN VMS721H1_RMS-V0200 KIT

      o Autoextend problem with shared write sequential file if global
         buffers enabled.

         When an autoextend occurs with a shared write sequential file
         with global buffers enabled, if both readers and writers are
         concurrently processing data at the end-of-file, a window
         exists for the readers when either an infinite process loop
         may occur or an inappropriate RMS-E-EOF or RMS-F-IRC error may
         be returned. The likelihood of either problem occurring
         increases significantly if the deferred-write (DFW) option is
         enabled or the sequential file does not have a generous
         initial allocation or extend quantity.

              Images Affected: [SYS$LDR]RMS.EXE

         This fix is included in the next release after OpenVMS Alpha
         V7.2-1H1.

      o Fix for remote file transfer performance degradation if UPI
          enabled.

          As a side-effect of a DAP/FAL change made to the Alpha Version
          7.2 family, the SQO (sequential only) option was
          inappropriately disabled in a record stream when the UPI (user
          provided interlock) option was enabled if RMS detected any
          form of write sharing. This resulted in reducing the
          performance of a remote file transfer that had the UPI option
          enabled due to the overhead of sending the file
          record-by-record rather than using the more efficient block
          mode transfer supported by the SQO option.

              Images Affected: [SYS$LDR]RMS.EXE

         This fix is included in the next release after OpenVMS Alpha
         V7.2-1H1.

    Problems Addressed In VMS721H1_RMS-V0100:

      o A LDQ (load quad) instruction generated by the Bliss-64 compiler
         (default quadword alignment) may result in an attempt being made
         to read or write 4 bytes beyond the end of an RMS internal buffer
         which ends exactly on a page boundary with an adjacent inaccessible
         page.

         The process may either:

           1. Terminate (SYSGEN parameter BUGCHECKFATAL not enabled)
               with an access violation (ACCVIO); or

           2. Crash the system (BUGCHECKFATAL enabled) with a SSRVEXCEPT
               ACCVIO.

         There are too many variables (for example, bucket size, number
         of buffers, number of keys, record location) to predict in
         advance that a file is vulnerable to this problem. However,
         we do know that the right combination of conditions must be
         rare since the problem has been dormant for several releases.
         It was introduced with the conversion of several Bliss-32 RMS
         modules to Bliss-64 as part of the support for 64-bit addresses
         added to Alpha V7.0.

      o An unusual timing condition may cause an application to get
         incorrect data returned due to an interaction between caching
         and read record access. Global buffers must be enabled on the
         file, and there must be several processes trying to
         concurrently access a data bucket that has to be brought into
         the global cache (i.e., is not already in the global cache).

         This was uncovered doing internal stress testing with an SMP
         (8 CPU) system with caching enhancements for a future release.
         It was reproduced with very heavy contention to a data bucket
         with sequential read access being done. We have not been able
         to reproduce the problem without the speed of the caching
         enhancements. It is unknown whether this problem could occur
         in V7.2-1H1, but it is best to apply this update as a precaution.

      o The hashing interlock mechanism, which was implemented in
         V7.2, has been redesigned to eliminate the timer-based
         strategy that was used during periods of high contention. A
         system could become overburdened by Timer Queue activity (IPL
         8) when the contention for an interlock reached a threshold.
         This Timer Queue activity precluded the interlock owner from
         releasing the interlock and resulted in excessive Timer Queue
         activity consuming the primary CPU.

           Images Affected:
             - [SYS$LDR]RMS.EXE
             - [SYS$LDR]DDIF$RMS_EXTENSION.EXE
             - [SYSLIB]SDARMS$SHARE.EXE

      o Fix to prevent a process hang waiting on an RMS lock when
         reverse (key-less-than) search criterion is used on a file

         with global buffers enabled.

         Access to an RMS indexed file may hang indefinitely waiting on
         a lock request when the following three conditions are met:

           - Global buffers are enabled.

           - Key-Less-Than match criterion is being utilized.

           - The key of reference is switched between two adjacent
              lookups (e.g., key of reference is switched from key 0 to
              key 1).

         This problem is fixed in the release of OpenVMS Alpha to
         follow V7.2-1H1.

      o This is a fix to prevent a SSRVEXCPT bugcheck during process
         rundown when an RMS AST is delivered to the process after the
         process address space has already been released. In order for
         this to occur, the process must have been utilizing global
         buffers. This issue represents a very small timing window and
         should be extremely rare.

      o Accessing a file by secondary key that has Recovery Unit (RU)
         journaling enabled in which a large number of deletes has
         occurred may incur an inordinate amount of direct IO activity.
         This is due to RMS having to process the RU deleted entries in
         the secondary key structure. This is not an issue when access
         to the file is by the primary key.

         This change is a performance enhancement in which RMS will now
         perform cleanup of the RU deleted Secondary Index Data Record
         entries when they are initially encountered through a read
         operation. This will reduce the IO required to process these
         entries for all future accesses. Access by the primary key of
         the file already performs this optimization.

      o CONVERT/SHARE previously read the input primary data records
         (record I/O) with the RAB$V_RRL (read regardless) option
         enabled. As a performance enhancement, RAB$V_RRL was replaced
         with the new RAB$V_NQL (no query locking) record option if
         /SHARE is used. This results in no record locking being done
         for all the reads of the primary data records from the input
         file.

      o The new Alpha global buffer read-mode lock support introduced
         in V7.2-1H1 is functionally compatible with both VAX and older
         Alpha releases. Operations in mixed clusters produce correct
         results. However, there is a locking fairness issue that may
         arise with mixed cluster operations (e.g., an Alpha V7.1-2 or
         V7.2-1 version or VAX versions).

         In a mixed cluster environment with very high contention for
         specific buckets, it is possible for accesses to write-shared
         files on nodes using read-mode bucket locking to dominate
         access to a bucket. Nodes without this support might be
         unable to access the bucket for a protracted period of time.

         While V7.2-1H1R does include the new global buffer read-mode
         lock support and so will not be affected by the latter issue,
         it is also possible to observe comparable behavior on all
         OpenVMS versions when dealing with accesses to write-shared
         files without global buffers enabled -- even on a standalone
         system. A similar fairness issue between lock conversions and
         new lock requests may be observed in which the new lock
         requests may remain ungranted for an extended period of time.

         This kit includes support in RMS for a new option to improve
         fairness under high contention conditions for write-shared
         files, but selecting this option may noticeably increase
         locking overhead. The option may be set at a process or
         system level. Since many applications will never encounter
         this issue, the default system behavior leaves this option
         disabled. A future lock management enhancement should make
         this fairness workaround unnecessary for later releases.

         The option is controlled using the /CONTENTION_POLICY qualifier
         to the DCL command SET RMS_DEFAULT. The following are valid
         PROCESS keywords (/SYSTEM not specified):

           NEVER Never use the higher overhead option
                          to improve fairness for any write-shared
                          files accessed by this process; minimal
                          overhead.

           SOMETIMES Use this option for fairer bucket
                          access (but higher overhead) to any
                          write-shared files with global buffers
                          enabled that are accessed by this
                          process.

           ALWAYS Use this option for fairer bucket
                          access (but higher overhead) to all
                          write-shared files accessed by this
                          process.
                                
           SYSTEM_DEFAULT (Default) Use system setting. Note
                           that this keyword is disallowed with
                           /SYSTEM.
                                     

         The following are valid SYSTEM keywords (/SYSTEM specified):

           NEVER (Default) Never use the higher
                          overhead option to improve fairness
                          for any write-shared files accessed
                          on the system; minimal overhead.

           SOMETIMES Use this option for fairer bucket
                          access (but higher overhead) to any
                          write-shared files with global
                          buffers enabled that are accessed
                          on the system.

           ALWAYS Use this option for fairer bucket
                         access (but higher overhead) to all
                         write-shared files accessed on the
                         system.

         In addition to the RMS image, modifications to the following
         images contained in the VMS721H1_UPDATE-V0300 kit (a prerequisite
         to installing this kit) are required in order for this
         functionality to take affect:

           - [SYSEXE]SET.EXE
           - [SYSMSG]CLIUTLMSG.EXE
           - replacement of revised SET.CLD in [SYSLIB]DCLTABLES.EXE

         Without these modified images, RMS will use NEVER as the
         default for the CONTENTION_POLICY option.

    INSTALLATION NOTES:

    This kit requires a system reboot. Compaq strongly recommends that
    a reboot is performed immediately after kit installation to avoid
    system instability

    If you have other nodes in your OpenVMS cluster, they must also be
    rebooted in order to make use of the new image(s). If it is not
    possible or convenient to reboot the entire cluster at this time, a
    rolling re-boot may be performed.

    INSTALLATION INSTRUCTIONS:

    Install this kit with the POLYCENTER Software installation utility
    by logging into the SYSTEM account, and typing the following at the
    DCL prompt:

    PRODUCT INSTALL VMS721H1_RMS /SOURCE=[location of Kit]

    The kit location may be a tape drive, CD, or a disk directory that
    contains the kit.

    Additional help on installing PCSI kits can be found by typing

        HELP PRODUCT INSTALL at the system prompt

    All trademarks are the property of their respective owners.

     

    ---