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.
-
Routines
Compiled routines are upward-compatible from version to version and do
not need to be recompiled unless specified otherwise in the upgrade
notes for a specific release.
Because most versions contain improvements in the routine compiler, in
the generated code, and/or efficiencies in the runtime support,
customers may decide to recompile their routines to take advantage of
new features and meta-routine information. Those customers whose
actions implicitly access this underlying information must recompile
their routines. An example of such access is source-level debugging on
version X of code compiled on version earlier than X.
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. The following command will upgrade and compile the class
dictionaries in every namespace:
Do $SYSTEM.OBJ.CompileAllNamespaces("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 set. You must also purge any cached
queries in any upgraded namespace by issuing the command:
Do $SYSTEM.SQL.Purge()
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.
-
Debugging
InterSystems also recommends recompiling routines and classes for
applications under development. This synchronizes the debugger with
the expected format of the compiled code.
-
Caveat
Because recompiling necessarily updates system data associated with
the routine, users who recompile classes or routine must have write
access to this data (^ROUTINE) in each namespace where the object
being compiled is mapped. Failure to observe this requirement will
result in
ERROR #302: the database is read-only.
Upgrading ECP Configurations
The following guidelines apply to the process of
upgrading ECP configurations:
If your database or application servers hold local
transaction information until the transactions are completed, or 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:
- 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
- CSP.Gateway
- Ensemble
- Ensemble.RulesEngine
- Global Module
- Languages.COS
- SQL.Query Processing
- System
- System.Backup/Restore
- System.Journaling
- System.Licensing
- System.Monitoring
- System.Shadowing
- Zen
Category: CSP.Gateway
Platforms: All
DevKey: CMT776
Summary: Ensure that the values assigned to configuration parameters in CSP.ini are always expressed in English (7-bit ASCII range)
Description:
This change will ensure that the values assigned to
configuration parameters in CSP.ini are always expressed in English
(7-bit ASCII range). It has always been the convention that text held
in the Gateway configuration file should be in English, even though
the corresponding text in the Management forms may be localized in
some other language.
Category: CSP.Gateway
Platforms: All
DevKey: CMT804
Summary: Fix a problem that could lead to the Gateway Management form for Application Access not displaying properly
Description:
This change fixes a problem that could lead to the
Gateway Management form for Application Access not displaying
properly. This was caused by a local buffer overrun in the part of
the form that deals with the 'Response Size Notification'
parameter.
Category: CSP.Gateway
Platforms: All
DevKey: CMT820
Summary: Automatically correct the session status information in the Gateway connection table where state changes are made in the form footers and, as a result, are not projected through to the form content
Description:
This change corrects the session status information
in the Gateway connection table where state-changes are made in the
form footers and, as a result, are not projected through to the form
content. This problem only affects applications that are configured
to not use cookies to project the session token.
Category: CSP.Gateway
Platforms: All
DevKey: CMT833
Summary: Fix a mis-routing issue with state-aware applications
Description:
This change corrects a mis-routing issue with
state-aware applications
where the Gateway and the Caché service processing a request
could get out of agreement on whether a session was state-aware and
trigger a security violation.
Category: CSP.Gateway
Platforms: All
DevKey: CMT839
Summary: Protect against a potential memory violation in the function responsible for reading data block headers from Caché
Description:
This modification will protect against a potential
memory violation in the function responsible for reading data block
headers from Caché.
The error happens as a result of the Gateway caretaker daemon
responding to (perhaps transient) connectivity issues to a previously
operational Caché instance.
Category: CSP.Gateway
Platforms: All
DevKey: CMT845
Summary: Ensure that CSP pages cached in the Gateway can be served as the first page in an application
Description:
In previous versions, all session tokens (either as
cookies or as form/URL variables) embedded in cached pages would be
replaced with the current session token for the user. This presents a
problem for cases where the very first form in the application is
returned from the cache. In this case there is no incoming session
token to replace the original value held in the cached version of the
page.
This change now correctly handles that situation.
Category: Ensemble
Platforms: All
DevKey: HCR127
Summary: Allow compilation of Rules that reference uncompiled functions (fix in-place upgrade of Ensemble Rules)
Description:
This change only affects
users who have user-defined functions in their Rules. In this case,
such Rules would not be properly recompiled during an in-place
upgrade; in an upgraded system, "Unknown Function" errors would be
seen in all Rules that made use of custom functions.
Compilation of Rules will succeed even if the classes containing
utility functions are in an uncompiled state. However, if the user opens
the Rule in the editor, the function will be highlighted in red as an
error, with the hint "Function 'name' does not exist or is not
compiled". If the Rule is evaluated, it will throw a runtime error
when trying to evaluate the function.
This change
modifies the way that the functions are retrieved at compile time,
fixing this problem.
Category: Ensemble.RulesEngine
Platforms: All
DevKey: HCR138
Summary: Check for duplicate function names in Ensemble
Description:
Since Rules were introduced in Ensemble, they may
extend the built-in set of functions, creating their own user-defined
custom functions.
However, there was never a check or warning
about duplicate function names existing
in more than one class. The current behavior is to silently
ignore the duplicates and select the first definition found.
Starting with this change, Ensemble will now report such errors during
upgrades in file ensinstall.log, and offer a method that users can
invoke to check for such duplicates so they can resolve these
conflicts:
Write $system.OBJ.DisplayError(##class(Ens.Rule.Utils).GetAllFunctions(.func))
After an upgrade, users should now check the file ensinstall.log,
under subdirectory mgr, and ensure that the rules upgrade went
without error.
Category: Global Module
Platforms: All
DevKey: SAP1322
Summary: GCOMPACT results in database corruption in presence of <FILEFULL> errors
Description:
This change corrects a situation where if GCOMPACT
was run on a database while it was experiencing <FILEFULL>
errors, the resulting database had a corrupted pointer block with loss
of data.
Category: Languages.COS
Platforms: All
DevKey: CDS1702
Summary: Fix two-argument $DATA and 3-argument $ORDER/$QUERY in indirection
Description:
A problem has been fixed that could lead to an
invalid name in the global directory in the specific case of using
indirection for the global name with the same local variable which is
also set in a subscript expression using $DATA, $ORDER, or $QUERY.
For example,
SET ^X(3)=4, n="^MyGlobal", @n@($DATA(^X(3),n))="data"
Category: SQL.Query Processing
Platforms: All
DevKey: JLF330
Summary: Fixed disablement of UNIONOROPT when collection fields are referenced
Description:
The UNION/OR optimization requires certain "cloning"
operations to be performed on the internal representation of a SQL
query that are not available when using collection predicates. In
this case, the UNION/OR opt is disabled for a query block when
collection fields are referenced within that query block. The
function that checked for this condition had an error that has now
been fixed.
Category: System
Platforms: All
DevKey: GK839
Summary: Fixed the current rtn namespace tracking issue
Description:
A routine invocation allocated and left the frame
stack uninitialized, and if there was an error which required cleanup
during the current namespace search, the result was unpredictable.
This has been corrected.
Category: System
Platforms: All
DevKey: SAP1312
Summary: MONITOR fails to email on journal failure and FreezeOnError=1
Description:
If system fails on journal error and FreezeOnError
is set, MONITOR does not report the error via email.
This change fixes that omission.
Category: System
Platforms: All
DevKey: SML1175
Summary: Clean up dead job's resource before clean up stuffs
Description:
This change fixes a situation where the
clean daemon might fail to clean
up a dead job if its resource is used by the clean daemon itself.
Category: System.Backup/Restore
Platforms: All
DevKey: STC1793
Summary: Increase MaxServerConn if JoinCluster=1
Description:
In versions previous to 2009.1, when the parameter
JoinCluster was set to 1 in the CPF file, Caché would increase
the parameter MaxServerConn to 14 so other cluster members would be
able to connect. This change restores that behavior that had been
removed in 2009.1.
Category: System.Backup/Restore
Platforms: All
DevKey: STC1800
Summary: Fix locking of CSP pages in studio
Description:
An error has been corrected where a lock was not
taken out while editing a CSP page. Thus, if two people were editing
the same page, then when one user changed it, the other user would
immediately be presented with a message:
'***.csp' has changed, would you like to reload it?
This no longer will happen, the second user will now be notified that
someone else is editing it and that it can only be opened as
read-only.
Category: System.Journaling
Platforms: All
DevKey: HYY1555
Summary: Fix a case of incorrect wij journal info
Description:
This change addresses an issue that could cause,
among other problems, journal recovery to fail at Caché
startup. In general, the more frequently that journal files were switched, the
more likely the problem was to occur.
Category: System.Licensing
Platforms: All
DevKey: RJW1819
Summary: License units for CSP sessions may not be released after timeout+grace period
Description:
The following problem is corrected:
expired CSP sessions may remain in the license "grace period" longer
than the expected 5 minutes under some rare circumstances. This
occurs only for Single Server license keys if the interval between the
expiration of a single page CSP session and the next license login
exceeds 17 minutes.
Category: System.Monitoring
Platforms: All
DevKey: RFD508
Summary: Better handling of stats unmapping for dead jobs
Description:
This change corrects a situation where the dead job
cleaner was not checking for a job still connected to
the shared memory block used to collect statistics resulting in a
possible later <ACCVIO>.
Category: System.Shadowing
Platforms: All
DevKey: STC1796
Summary: Add [Shadows] section to the CPF file
Description:
There is a new section in the CPF file, [Shadows],
that controls whether individual shadow servers should be started.
The format of entries is:
where value can be 0 or 1, corresponding respectively to stop and start.
Category: Zen
Platforms: All
DevKey: DAD013
Summary: Corrects a bug where zenThreadId values were based on server $JOB values instead of logical threads
Description:
This change corrects a design shortcoming where
zenThreadId values were based on server $JOB values instead of logical
threads. When using Zen object synchronization in a multi-threaded
asynchronous environment, if two independent events cause
conflicting DOM updates, then the user may be presented with an
inconsistent user interface.
This will no longer happen.