OpenVMS VAXRMS01_072 VAX V7.2 RMS ECO Summary
TITLE: OpenVMS VAXRMS01_072 VAX V7.2 RMS ECO Summary
New Kit Date : 16-FEF-2001
Modification Date: Not Applicable
Modification Type: New Kit
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 2000. All rights reserved.
OP/SYS: OpenVMS VAX
COMPONENT: RMS
SOURCE: Compaq Computer Corporation
ECO INFORMATION:
ECO Kit Name: VAXRMS01_072
ECO Kits Superseded by This ECO Kit: None
ECO Kit Approximate Size: 1098 Blocks
Kit Applies To: OpenVMS VAX V7.2
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:
VAXUPDATE01_072
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 VAX V7.2. This kit addresses the following
problems:
PROBLEMS ADDRESSED IN VAXRMS01_072 KIT:
o Mark the Buffer Descriptor as busy for asynch multistreamed
block IO autoextends.
Performing multistreamed asynchronous Block IO to a sequential
file could result in random data corruption and/or sporadic
SS$_BADPARAM errors if an autoextend occurs.
o Modification to the global buffer hashing interlock mechanism.
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.
o Correction for processes exiting with RMS IORNDN non-fatal
bugcheck.
Processes may disappear with RMS IORNDN non-fatal bugchecks
when an EXIT is requested by an Executive-mode application
(such as ACMS). This is a very small timing window, so
processes with a large number of files increases the
probability of the problem occurring.
If the SYSGEN parameter BUGCHECKFATAL is not enabled, then the
process will be terminated; if it is enabled, then the system
will crash with a RMSBUG (R2=FFFFFFF0, IORNDN) bugcheck.
o Access to corrupted directory results in process deletion.
Access to a corrupted directory could result in the user's
process being deleted from the system through an EXEC mode
exception. Note that a system bugcheck would occur if the
SYSGEN parameter BUGCHECKFATAL were set.
o Fix RUF bugcheck when SS$_CURTIDCHANGE returned.
The system may crash with a RUF, Fatal error detected by
Recovery Unit Facility bugcheck. R0 in the crash has the
error code:
SDA> e/cond r0
SYSTEM-F-CURTIDCHANGE, already a change to the process default
transaction in progress
o Support for SET RMS_DEFAULT /CONTENTION_POLICY to address
locking fairness issues.
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.
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.
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 are required:
- [SYSEXE]SET.EXE
- [SYSEXE]SHOW.EXE
- [SYSMSG]CLIUTLMSG.EXE
- replacement of modified SET.CLD in [SYSLIB]DCLTABLES.EXE
These modified images are available in the VAXCLIU01_072 kit.
The interface to this new functionality is not available until
this CLIUTL kit is installed. Until the CLIUTL TIMA kit is
available and installed, the default of NEVER for the
CONTENTION_POLICY option cannot be overridden.
o Fix to EDIT/FDL to prevent large cluster factor giving
63-block bucket.
When running EDIT/FDL, the calculated bucket sizes are always
rounded up to the closest disk-cluster boundary, with a
maximum bucket size of 63. This can cause problems when the
disk-cluster size is large, but the "natural" bucket size for
the file is small, because the bucket size is rounded up to a
much larger value than required. Larger bucket sizes increase
record and bucket lock contention, which can impact
performance.
o Initialize secondary value when using callable CONVERT.
Callable convert reports a %CONV-F-INSVIRMEM error when a user
application calls routine CONV$PASS_OPTIONS without a user
option block.
o Fix to prevent callable convert from producing accvio on
repeated calls.
The CONVERT utility may return an access violation and/or
sort_on errors when it is repeatedly invoked from within an
application utilizing the callable interface. Additionally,
an invalid file structure may be created when the callable
interface is invoked repeatedly from within an application.
o Correction for CONVSHR SORT_ON and invalid alternate key
structures.
Three issues with the CONVERT utility have been addressed:
+ Attempts to CONVERT a prologue 3 indexed file with greater
than 3 keys (key 3 and above) and with the primary key
being segmented with the segments not in ascending order,
results in invalid key structures being generated for key
3 and above.
+ Using the callable interface to convert multiple files,
results in a SORT_ON error if any previous file contains
no records and has at least one alternate key defined.
+ Using the /SECONDARY qualifier with values greater than
eight results in invalid alternate key structures being
generated.
o Prevent ISI error on close from CONVERT/RECLAIM.
CONVERT/RECLAIM reports the following error during image
rundown:
"%RMS-F-ISI, invalid internal stream identifier (ISI) value"
o Fix %CONVERT-I-SEQ errors converting sequential file.
Attempts to convert a sequential file to an indexed format may
report %CONVERT-I-SEQ errors despite convert's invocation of
the SORT utility. These errors may be reported if any of the
input file's records are shorter than the primary key's
highest segment.
o Expand statistic display fields for Convert.
The record count and/or bucket counts displayed by the
statistics function and ^T function of Convert were previously
limited to eight digits. This resulted in a field of "*"s
being displayed when greater than eight digits were required
for displaying.
o Prevent RMS-F-AID errors converting multiple input files.
Converting multiple indexed input files with different area
attributes can result in an RMS-F-AID, invalid area id.
o Correct propagation of LRL value to output file.
The convert of a file could potentially leave the LRL field
for the output file as zero despite the value existing for the
input file. This is inconsistent with previous versions of
CONVERT. The LRL value is required for some file
organizations.
o Prevent ASTLM leak with callable CONVERT.
Repeated calls to CONV$CONVERT using the callable interface
could exhaust the user's ASTLM.
o Prevent process channel consumption with callable CONVERT.
Repeated calls to CONV$CONVERT using the callable interface
consumes process channels if SYS$COMMAND is not a terminal
device.
o CONVERT utility fails to create temporary work file.
This fix is included in the next release after OpenVMS VAX
V7.2.
o Fix to CONVERT to prevent SORT_ON and user mode Access
Violations.
As part of OpenVMS V7.2, the CONVERT utility was modified to
eliminate a previous design constraint, in which the output
file would temporarily become vulnerable to user access during
the exchange of the file between CONVERT and the SORT32
utility. This problem would occur during the FAST load
processing of the secondary keys of the file. (For more
details see Section 3.21 of the V7.2 New Features manual.)
As part of this modification, some changes were added to read
records from the newly created output file, while processing
alternate keys. In the case of an indexed file with
fixed-length records, it turns out that the logic, for
determining if both key and record compression were disabled
for the primary key, was flawed. Hence, this problem can lead
to a record length being incorrectly calculated. It can
result in the overwriting of internal structures contiguous to
a temporary convert buffer and cause various errors, ranging
from sort errors (SORT_ON) to user-mode access violations.
In order for this problem to occur, the indexed file must have
ALL of the following characteristics:
+ FIXED length record format
+ More than two keys
+ Primary key must have either key or record compression (or
both) enabled
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.
All trademarks are the property of their respective owners.
This patch can be found at any of these sites:
Colorado Site
Georgia Site
Files on this server are as follows:
vaxrms01_072.README
vaxrms01_072.CHKSUM
vaxrms01_072.CVRLET_TXT
vaxrms01_072.a-dcx_vaxexe
vaxrms01_072.CVRLET_TXT
|