InterSystems Documentation 
Caché and Ensemble 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 files: \relnotes\cache\prenotes.htm and/or \relnotes\ensemble\prenotes.htm

This document provides a list of the changes between versions 2008.2.5 and 2008.2.6 for Caché and Ensemble.

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 evaluating 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: Ensemble
Platforms: All
DevKey: MC1016
Summary: Remove killing of ^ERRORS from Ens.Purge:PurgeAll

Description:

This change prevents the call to the PurgeAll method of the Ens.Purge class from removing the error history. Users who wish to clear this must do so explicitly by deleting the global, ^ERRORS

Category: Ensemble
Platforms: All
DevKey: MC986
Summary: Restore $tlevel in user error traps

Description:

This change corrects an error that did not properly adjust the transaction level in error traps invoked during a transaction rollback.

Category: Ensemble.DTL
Platforms: All
DevKey: DDP030
Summary: Don't modify %session.AppTimeout for Ensemble SVG in Studio

Description:

This changes forces Ensemble to respect the default CSP application timeout when opening DTL in the Studio. Previously, this was overridden to be set to "never", which caused CSP session licenses to be held in perpetuity; only manual intervention or an Ensemble restart would release the licenses.

Category: Languages
Platforms: Intel
DevKey: SJ2588, SJ2589
Summary: Fix a problem in assembly language optimization with addition

Description:

This corrects an error that occurred when adding two numbers where:

In this case, a <SYSTEM> or other error wold result when trying to save or use the result.

Category: Languages
Platforms: All
DevKey: SJ2590
Summary: Fix problem on some platforms when converting 10 digit fractional numbers between 0 and .01

Description:

This fixes a problem with dealing with multiple subscripts where:

This only occurred on 32-bit platforms that do not support 64-bit arithmetic.

Category: Networking.ECP
Platforms: All
DevKey: GK771
Summary: Recover app-server "Connection in Progress" state

Description:

ECP establishes its connection on the first reference to any remote global. While establishing a connection, if the ECP client daemon creation fails, it may leave the connection in "in progress" state.

This change detects the errors associated with this situation and attempts to recover from it. It also attempts to fix itself when daemon creation fails.


Category: Networking.ECP
Platforms: All
DevKey: GK778, GK779
Summary: Fixed long string recovery across ECP

Description:

This change fixes a rare condition where a long string could be dropped or lost if the database server was restarted right after the last data transmission, but before the journal became durable.

It also fixes issues with long string SET command recovery across ECP. If the server or connection fails in the middle of a SET involving a long string, the assignment may fail with <NETWORK> error or the SET may be dropped altogether.


Category: Networking.ECP
Platforms: All
DevKey: GK780
Summary: ECP session cleanup to invalidate any queued activity

Description:

In rare cases, when the ECP work daemons cannot keep up with activity, and there are many activities queued, the session that originated the work in the background may go away. It may also reconnect with leftover activity from the previous session. This modification prevents any old or stale work from being processed after a disconnect (and/or reconnect) by removing it from the work queue during session cleanup.

Category: Networking.ECP
Platforms: All
DevKey: GK788
Summary: Unicode strings are not converted to the ECP client endianness

Description:

Under very rare conditions, if
then the cache may be updated with the wrong endian value.

Category: Object.Java
Platforms: All
DevKey: MAB836
Summary: Fix deadlock in collections for Full Java Binding

Description:

This change corrects a deadlock occuring between the finalizer of com.intersys.classes.CacheRootObject.releaseInternal() and com.intersys.cache.DatabaseWithReferenceMap.releaseFromMap() when using connection pooling in TomCat.

Category: Object.LanguageBindings
Platforms: OpenVMS
DevKey: IYB627
Summary: Binding server, increased the buffer size to store variables for output redirection

Description:

This change fixes a memory corruption when the binding server was used by Java on OpenVMS. The symptom was a <NULL VALUE> error reported on %SYS.BINDSRV

Category: Object.Library
Platforms: All
DevKey: MIT927
Summary: Fix normalization code for %Currency and %Decimal

Description:

This corrects an issue where a number in $DOUBLE format could be stored in these datatypes.

Category: System
Platforms: All
DevKey: SAP1197
Summary: If Event.Signal with message fails, the message is not deallocated

Description:

This corrects an issue where signalling a message for an undefined event, or undefined process id will cause the event to be allocated but never used. This could cause a memory leak.

Category: System
Platforms: All
DevKey: SAP1221
Summary: Correct message timeout handling

Description:

This change corrects an error in handling message timeout conditions that can occur when starting a remote ECP database from the Management Portal.

Category: System
Platforms: All
DevKey: SJ2577
Summary: Fix core dump with $zu(70,4,"")

Description:

This fixes a problem where a core dump can occur when running INTEGRIT.

Category: System
Platforms: All
DevKey: SML1165
Summary: Namespace re-activation protection

Description:

This change fixed a possible <NAMESPACE> or <DIRECTORY> error that can occur if the system is re-activating the namespace table while a namespace is being edited.

Category: System
Platforms: All
DevKey: SOH120
Summary: Fix loop bound in LocToUTC, $ZU(193,xxx,1)

Description:

$ZUTIL(193,x,1) converts date to UTC. If the date represents the first day of the year, where (year mod 4) = 1, the result might be incorrect. This error has been fixed.

Category: System.Callin/Callout
Platforms: OpenVMS
DevKey: JO2290
Summary: $ZF() for VMS was calling routines with instead of without privs

Description:

This changes corrects a problem where $ZF functions were calling out to external routines at the wrong privilege level.

Category: System.Journaling
Platforms: All
DevKey: HYY1461
Summary: Address a case of WD hang

Description:

This change corrects a situation where, in rare cases, the write daemon could hang if it attempted to start while license-related queries were being run.

Category: System.Lock
Platforms: All
DevKey: SML1168
Summary: Fix ECP recovery could send extra lock request on lock_pending lock

Description:

This change corrects an ECP lock inconsistency during ECP recovery when ECP server restarted.

Category: System.Shutdown
Platforms: All
DevKey: SAP1128
Summary: Callin longjumps to wrong place (outside the current entrypoint) after shutdown

Description:

This corrects a problem that can occur when Caché is shutdown while a callin invocation is active. Control returns to the callin program, but not at the point where the callin was made. Further execution is unpredictable.

If the callin program was updating a global when the forced return was made, there is the added possibility of database corruption.