InterSystems Documentation 
Caché Maintenance Kit Release Notes


The release notes are available in the \Docs subdirectory of your installation.

Late-breaking information about this kit can be found in: \relnotes\readme.1st

Release notes from prior kits are combined in the file: \relnotes\cache\relnotes.htm

This document provides a list of the changes between Caché 2007.1.4 and Caché 2007.1.5.

Topics include:


General Announcements
Upgrading From Prior Released Versions
Customers running on any prior released version of Caché may upgrade to this version of Caché during installation. When upgrading across multiple versions, intermediate upgrade steps may be necessary depending on the inter-release compatibility requirements. The release notes for the intervening releases will contain that information.

After each upgrade step, the following conditions apply:

Upgrading ECP Configurations
The following guidelines apply to the process of upgrading ECP configurations:
If you have questions or concerns about how to upgrade your ECP configuration, please contact InterSystems Worldwide Customer Support.

Restricted Rights Legend
Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013.
InterSystems Corporation
One Memorial Drive
Cambridge, MA 02142
When acquired by the Government, commercial computer software and related documentation bearing this legend are subject to the following:

  1. Title to and ownership of the software and documentation shall remain with the Contractor.
  2. Use of the software and documentation shall be limited to the facility for which it is acquired.
  3. The Government shall not provide or otherwise make available the software or documentation, or any portion thereof, in any form, to any third party without the prior written approval of the Contractor. Third parties do not include prime contractors, subcontractors and agents of the Government who have the Government's permission to use the licensed software and documentation at the facility, and who have agreed to use the licensed software and documentation only in accordance with these restrictions. This provision does not limit the right of the Government to use software, documentation, or information therein, which the Government has or may obtain without restrictions.
  4. The Government shall have the right to use the computer software and documentation with the computer for which it is acquired at any other facility to which that computer may be transferred; to use the computer software and documentation with a backup computer when the primary computer is inoperative; to copy computer programs for safekeeping (archives) or backup purposes; and to modify the software and documentation or combine it with other software. Provided that the unmodified portions shall remain subject to these restrictions.
END OF LEGEND

InterSystems News, Alerts and Advisories
>From time to time, InterSystems publishes items of immediate importance to users of our software. These include alerts, mission critical issues, important updates, fixes, and release announcements.

The most current list can be obtained from the InterSystems Website.

Users should check this list periodically to obtain the latest information on issues that may have an effect on the operation of their site.


Online Documentation
As a convenience to our users, InterSystems provides online access to documentation for recent product versions at the InterSystems Website. >From the home page, choose the Support & Education tab, then choose the Support menu item for the product you are interested in, for example, Caché Support. Links to the available documentation can be found on the support page for each product.

Description of a Change Report
To help you assess the impact of this maintenance kit on your applications, the remaining topics in this document describe each modification in detail.
If you need assistance evaulating the effect on your application(s), system(s), or related plans, please contact the InterSystems Worldwide Support Center:


Change Reports for This Maintenance Kit

Category: Installation.Windows
Platforms: All
DevKey: ALE1472
Summary: Detect Windows cluster environment on Windows 2008 server

Description:

Windows installation will detect when it is running on a Windows 2008 or later cluster and install and register cluster resources.

Category: Networking.ECP
Platforms: All
DevKey: GK652
Summary: ECP hang on ECP server recovery during long string set

Description:

In rare conditions, ECP recovery may hang if there is an ECP server or network outage during a long string SET.

Category: Networking.ECP
Platforms: All
DevKey: GK654
Summary: Adjusted the ECP client heartbeat interval

Description:

This change adjusts the ECP application server heartbeat interval to detect an idle system network outage more accurately. A large number of async packets originated by the database server may prevent it from sending heartbeats. Decreased the app-server heartbeat interval to keep the db-server pending heartbeat count more accurate.

Category: Networking.ECP
Platforms: All
DevKey: GK659
Summary: Ensure requests include correct database number after ECP recovery

Description:

In a very rare condition during the ECP server recovery window, if the database server failed and if the remote databases were not mounted in the same order as at startup, then ECP synchronous requests (that is, $DATA, $GET, $INCREMENT) that were being formulated at the time of the database server failure might have referred to the incorrect database number. This has been corrected.

Consequences of an incorrect database number vary (in part depending on the Caché release): the ECP daemon may crash or the request may not be directed to the correct database. In the latter case, unexpected application errors may result or (in rarer cases) incorrect data may be fetched.

Category: Networking.ECP
Platforms: All
DevKey: SML1026
Summary: Fix $D(g,v) over ECP with Unicode data returned bad data

Description:

This change fixes an error when using the expression $DATA(global, target) over ECP when the data in the global has Unicode characters in it. Without this fix, the value of <target> could be set to an invalid string.

Category: Networking.ECP
Platforms: All
DevKey: TR995
Summary: Long string set across ECP may leave the ECP client cache out of date

Description:

Prior to this fix, if a string in excess of approximately 64Kbytes were modified by the application server while the block which will contain the string was being sent to the same client as a consequence of an earlier request, the app server and database server would end up with different versions of that block.

Category: Security
Platforms: Windows
DevKey: RJW1552
Summary: Console terminal user cannot write to cconsole.log on Windows 2008 server

Description:

An incorrect permission issue prevented a Cache Terminal console login from writing messages to cconsole.log on Windows Server 2008. The problem was caused by a change in the default ACL on the \intersystems\cachesys\mgr\cconsole.log file on Windows Server 2008. This is now fixed.

Category: Studio
Platforms: Windows
DevKey: RAW728
Summary: Studio editor: repaint loop in Japanese output window

Description:

When running Studio in a Japanese locale, when a class is compiled the output window may go into a recursive loop resizing slightly, which causes continuous repaints. This change corrects this.

Category: System
Platforms: All
DevKey: CDS1395
Summary: Long strings were not correctly returned from $SYSTEM functions

Description:

This change corrects an issue where a function such as $SYSTEM.Encryption.Base64Decode, when it returned a long string, could cause a memory access violation.

Category: System
Platforms: All
DevKey: CDS1396
Summary: Prevent buffer overrun with encryption functions

Description:

When the output of Base64Decode was longer than 32K characters, the length of an internal buffer was sometimes erroneously calculated leading to a potential buffer overrun.

Category: System
Platforms: All
DevKey: CDS1404
Summary: Display full 64-bit pointers in cstat

Description:

This change corrects an issue where cstat displayed pointers as eight hexadecimal digits. This showed only the lower-half of the 64-bit pointer value. Cstat now displays the full pointer value.

Category: System
Platforms: All
DevKey: CDS1408
Summary: Fix access violation after <STORE> error

Description:

This change addresses an issue with running an error trap after a <STORE> error. In some situations, the trap routine was not loaded correctly, resulting in a memory access violation.

Category: System
Platforms: All
DevKey: CDS1409
Summary: Fix loop or access violation after exclusive NEW when partition is full

Description:

This change corrects an issue that could have arisen when there was a small amount of memory available in the partition and an exclusive NEW command was issued. In that situation, there was a possibility for the memory queue to become corrupt, resulting in a CPU loop or an access violation at some later point.

Category: System
Platforms: Solaris
DevKey: JLC1168
Summary: Fix Solaris core counting algorithm

Description:

This change fixes a problem in the algorithm that counts the number of CPUs and cores on Solaris. In particular, when running on some Sun Fire T1000 and T2000 configurations, counting an incorrect number of cores could result in license restrictions.

Category: System
Platforms: All
DevKey: JLC1178
Summary: Detect end of destination buffer earlier in xlt functions

Description:

This change fixes a problem in the UnicodeLittle and UnicodeBig NLS translations that, when used with fixed length READs in TCP devices, could lead to some bytes being dropped in the connection if the translation type were changed on the fly between different records.

Category: System
Platforms: All
DevKey: JLC1183, JO2231
Summary: Change AL modules to do a GETTOP after COMX and set pap->at=0 when dropping an OREF

Description:

This change corrects a problem with reloading stack registers after certain types of function calls involving OREFs. Because of this Caché could halt under seemingly random circumstances.

Category: System
Platforms: HP64
DevKey: JLC960
Summary: Fix comparison with floats on HP64

Description:

This change corrects an error in comparing floating-point values. In certain rare circumstances, the comparison of different types would not first convert them to a common type.

Category: System
Platforms: UNIX
DevKey: JO2222
Summary: Fix Write Daemon hang after cachetemp filefull and filesystem expansion (on UNIX)

Description:

A problem was resolved on UNIX systems where CacheTemp fills the disk and subsequently space is made available so that the delayed writes can complete.

If Caché became idle for 5 minutes or more, the control process might incorrectly decide that the write daemon was stuck because the internal counts of how many blocks needed to be written had gotten out of sync with the number of blocks which actually needed to be written.


Category: System
Platforms: AlphaVMS, TRU64
DevKey: JO2228
Summary: Fix Clnotcnd bug on AlphaVMS and Tru64

Description:

A longstanding error affecting AlphaVMS and Alpha/Tru64 platforms has been resolved.

The issue involved an internal stack discipline problem which, under rare circumstances, could cause problems such as spurious <STRINGSTACK> errors in extrinsic function calls, or seemingly random access violations.


Category: System
Platforms: Windows (64-bit)
DevKey: JO2233
Summary: Disable LTCG for 64-bit Windows x86 builds

Description:

A problem has been resolved on 64-bit Windows machines where loading a large number of XML files sometimes caused an exception resulting in the closure of the terminal window.

Category: System
Platforms: All
DevKey: RFD370
Summary: Fix version check in CacheHung.sh for UNIX

Description:

This change corrects an issue in the CacheHung.sh script, which displays different cstat options based on the Cach%eacute; version number. The script did not properly recognize the year-based release naming format.

Category: System.Licensing
Platforms: All
DevKey: RJW1546
Summary: Correct handling of maximum number of database allowed by license

Description:

A problem has been corrected that prevented creating the permitted number of databases with an Entree license.

Category: System.Licensing
Platforms: All
DevKey: RJW1553
Summary: Ensemble infrastructure databases should not count toward licensed database limit

Description:

The built-in databases of an Ensemble installation are no longer counted as part of the database limit for E2 (Entree) and E4 (Elite) license keys.

Category: System.Licensing
Platforms: All
DevKey: RJW1556
Summary: Account for ensemble infrastructure databases when creating databases

Description:

Databases that implement the Ensemble product are no longer counted toward the database limit imposed by E2 and E4 Ensemble licenses.

Category: Utilities
Platforms: All
DevKey: STC1404
Summary: $SYSTEM.Security.AddRoles() cannot be called from programmer mode or debugger

Description:

The function, $SYSTEM.Security.AddRoles() can no longer be called from the command line, or from within the debugger. Doing so could allow a user to inadvertently leave their process with elevated roles when the call returns. Calling the method in this way will fail to elevate the roles, and the error
ERROR #940: Insufficient privilege for operation
will be returned as the value of the function.

Category: Utilities.Routines
Platforms: All
DevKey: NGA152
Summary: Add routine cache miss counter to mgstat

Description:

The counter for Routine Cache Misses has been added to the mgstat monitor utility.