|
|
|
InterSystems Documentation
|
|
Caché and Ensemble Maintenance Kit Release Notes
|
This document provides a list of the changes between versions
2008.2.4
and
2008.2.5
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:
- Routines
Unless specified in the upgrade notes for a specific release, routines
are upward-compatible and do not need to be recompiled. However,
customers may decide to recompile them to take advantage of new
features, improvements in generated code and the corresponding
efficiencies in runtime support.
If you recompile routines, they should be recompiled after classes are
recompiled.
- Classes, SQL, Projections, Proxy Classes
InterSystems requires that all classes be recompiled after an
upgrade. This is accomplished by running the following commands in each
namespace where application classes reside:
Do $SYSTEM.OBJ.UpgradeAll()
Do $SYSTEM.OBJ.CompileAll("u")
You must regenerate any proxy classes used in the upgraded instance by
following the instructions in the appropriate guide(s) in
the Caché Language Bindings documentation.
You must regenerate any proxy classes used in the upgraded
instance by following the instructions in the appropriate guide(s) in
the Caché Language
Bindings set. You must also purge any cached
queries in any upgraded namespace by issuing the
command
in that namespace.
-
Exported XML
Unless specified in the
upgrade notes for a specific release, exported XML files can be
imported into later releases.
The reverse is NOT true. Later versions could be using new features
not present in earlier versions, and could have a different class
dictionary version number which alters how these classes are stored
internally that can not be undone when importing to a previous
version.
Upgrading ECP Configurations
The following guidelines apply to the process of
upgrading ECP configurations:
- Unless explicitly noted for a particular version,
the protocol used to communicate among ECP systems is fully compatible
across versions.
- For ECP configurations consisting of database
servers and application servers, InterSystems recommends that the
application servers be stateless and independent.
- A server is stateless when it treats each
request as an independent transaction that is unrelated to any prior
or future request. It does not need to preserve data for use in a
later transaction or worry about freeing it if a client dies in
mid-transaction.
- A server is independent when it does not
depend on the internal state of another application
server.
Assuming that these conditions are met, an ECP configuration may be
updated incrementally, system by system. The application servers
should be upgraded to the new version first. Once all application
servers have been upgraded, the database servers can be serially
upgraded.
-
Debugging
InterSystems also recommends recompiling routines and classes for
applications under development. This synchronizes the debugger with
the expected format of the compiled code.
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:
- Title to and ownership of the software and documentation shall
remain with the Contractor.
- Use of the software and documentation shall be limited to the
facility for which it is acquired.
- 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.
- 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:
- Phone: +1 617 621-0700
- Fax: +1 617 734-9391
- Email: support@intersystems.com
- Config Mgr
- Ensemble
- Installation.Windows
- Migration.TSQL
- Networking.ECP
- Object.XML
- SQL.Query Processing
- SQL.SQLFiler/TableCompiler
- System
- System.I/O
- System.Lock
- System.Monitoring
Category: Config Mgr
Platforms: All
DevKey: CFL1533
Summary: Fix loop in purging cache.cpf old backup files
Description:
This change corrects a problem where Caché would loop during
shutdown attempting to purge configuration backup files older than one year.
Category: Ensemble
Platforms: All
DevKey: HCR099
Summary: Ensemble upgrades to preserve previous CSP application settings
Description:
When upgrading Ensemble, the application definitions
for each of the Ensemble-enabled namespaces was being over-written.
In the case where the user had modified settings such as resource required,
matching roles, description, timeout, these modifications would be
lost upon an upgrade.
Now if the CSP application for the Ensemble Portal of a namespace
already exists, the upgrade process opens its definition and only sets the properties
listed below, keeping the previous values for all other properties:
- CookiePath
- LockCSPName
- NameSpace
- Path
- Recurse
- ServeFiles
- UseCookies
- LoginPage
The upgrade process now also logs
distinct messages for the case when a CSP
application is created and when it is updated. Only the properties
that are explicitly set are listed in the installation/upgrade
log.
Category: Installation.Windows
Platforms: All
DevKey: ALE1791
Summary: Update VC redistributables installation to include ATL security update
Description:
Category: Migration.TSQL
Platforms: All
DevKey: DLP2291
Summary: TSQL - replace stub in %XSQL.Dictionary so that error messages are not lost
Description:
This change replaces the method called when errors are detected
by the TSQL parser
so that they are reported accurately.
Category: Networking.ECP
Platforms: All
DevKey: GK713
Summary: Fixed an ECP hang
Description:
This change corrects a situation where, in rare
conditions, the ECP daemons might be out of sync and search for
locally cached blocks incorrectly causing an unexpected delay in
responding to various requests.
Category: Object.XML
Platforms: HP Itanium
DevKey: JN781
Summary: Correct workaround of Virtual Memory Deallocation on HP Itanium
Description:
On HP-UX Itanium virtual memory was not being
deallocated correctly. This became apparent when using
%XML.Adaptor::XmlExportToString().
This is change corrects that error.
Category: SQL.Query Processing
Platforms: All
DevKey: AK742
Summary: Recompute "needed for output" flag
Description:
An optimization was added identifying cases where
fields in certain views mentioned in a query were not actually
essential to processing the query, resulting in improved access path
selection and improved run-time performance for certain queries.
Category: SQL.SQLFiler/TableCompiler
Platforms: All
DevKey: DPV3473
Summary: SQL Filer: Perform immediate unlock of shared lock acquired on fkey referenced row after this row has been filed
Description:
When inserting or updating a row into a table that
has a foreign key, Caché acquires a lock on the referenced row that
is released when the transaction ends. If there are many rows
inserted or updated in a single transaction, and many foreign keys on
the table, this could hold a lot of locks in the lock table. This
lock is required to check the referential integrity of the foreign key
constraint and ensure the row still exists from the time the lock is
acquired until the time this row is inserted or updated.
With this change, Caché will no longer hold the lock for the
duration of the transaction, but will release the lock after the row
has been inserted or updated. By this time, referential integrity is
assured and the row in the referenced table cannot be updated or
deleted during the course of this transaction because the referential
action on the foreign key constraint will prevent an update or
delete on the referenced table from occurring. Since this process
still has a lock on this table, a referential action of SET NULL, SET
DEFAULT, or CASCADE cannot occur until the updating/deleting process
can acquire the lock on this table.
Category: System
Platforms: All
DevKey: GK682
Summary: The error stack info builder to restore string and arg stack on errors
Description:
This change
corrects a situation where the processing of an error could overflow
the space allotted for the stack and cause Caché to abort.
Category: System
Platforms: All
DevKey: JLC1179, JLC1188, JLC1190, JLC1286, JLC1287, JLC1291, JLC1312
Summary: Reorganize cpu and core detection/counting functions
Description:
This change updates the functions used to detect and count cpus and cores
to account for new chipsets, hyperthreading, and other hardware details.
Specifically,
- There is now a central function responsible for
processor detection.
- The detection algorithm for x86 Windows and Linux
processors has been improved.
- The detection of Itanium cores and HT is still
limited to Montecito chipsets. No information was found for
Montvale.
- On Solaris platforms, the code that counts the
number of cores and cpus for licensing purposes now only counts those
that are on-line.
- AIX information is now obtained from the
operating system for AIX5.2 and AIX 5.3.
- For Solaris systems on chipsets other than x86,
the cpu clock and model description are obtained from the operating
system.
- The algorithm now correctly accounts for the
presence of HyperThreading Technology on recent Intel x86 chips
(Nehalem-based).
- The algorithm for counting cpu cores has been updated
for Nehalem-based systems running Windows and Linux (Core i7, Xeon 3000,
5500 7400 series), and MacOS X (Core i7)
Category: System
Platforms: All
DevKey: JO2274
Summary: Release retained global buffer in use cmd before we issue any system calls
Description:
This change resolves a defect where a process could get
blocked in a USE command by the operating system and cause a Caché
hang if it has retained ownership of a global buffer.
Category: System.I/O
Platforms: OpenVMS
DevKey: RFD477
Summary: Fix check for OPEN pipe device on OpenVMS
Description:
This change fixes a situation where trying to OPEN a
TCP device with the letter "Q" in the hostname was failing with an
<UNIMPLEMENTED> error. This was due to a faulty check for a
"pipe" on VMS.
Category: System.Lock
Platforms: All
DevKey: SML1150
Summary: Fix missing delock due to lock count update is delayed
Description:
This change fixes a problem
where a delock command (L -^A)
might skip its operation and leave the entry in lock
table.
Category: System.Monitoring
Platforms: HP-UX
DevKey: RFD471
Summary: Fix Buttons ps -efw command for HP-UX
Description:
The Cache Diagnostic Report was using an unsupported
option for the process list on HP-UX. This has been fixed.