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 routines 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
- Ensemble
- Ensemble.ManagementPortal
- Installation.Ensemble
- Networking
- Networking.ECP
- Object.CacheProvider
- Object.Gateway
- Object.Library
- Security
- SQL.GateWay
- Studio
- System
- System.Callin/Callout
- System.I/O
- System.Journaling
- System.Shadowing
- System.Shutdown
- Utilities.Configuration
Category: Ensemble
Platforms: All
DevKey: MC1161
Summary: Fix bug where alarm requests are lost during production suspension
Description:
This change corrects an error where outstanding
alarm requests are lost while suspending a production. Now alarms
requests are saved and sent to the production when it resumes.
Category: Ensemble
Platforms: All
DevKey: TAP1076
Summary: Write only complete LOB chunks to stream global from SQL Adapter
Description:
This change causes the class
EnsLib.SQL.GatewayResultSet used by the SQL Adapters to write only
complete LOB chunks to the underlying stream global rather than
storing each sub-chunk as it arrives over the xDBC channel. This
prevents journaling of the partially completed chunk multiple times
which reduces the total amount of journaled data to the minimum
necessary.
Category: Ensemble
Platforms: All
DevKey: TAP1097
Summary: Increase top 1m to top 100m in Purge query
Description:
This change increases the TOP clause in the SQL used
to purge messages from 1,000,000 to 100,000,000.
Category: Ensemble
Platforms: All
DevKey: TAP1100
Summary: Make SQL Adapters recognize JDBC network disconnect when prepareStatement() fails with no additional error info
Description:
When the JDBC Gateway's JVM is restarted while a Production is running and SQL
Adapter activity is in progress, it can happen that the Adapter has an open
connection instance that is no longer viable. In this case, when the Adapter
attempts to prepare a statement, the prepareStatement() command to the JVM will
fail. The adapter needs to interpret this as a disconnect event so that it will
jettison its connection instance and establish a new one.
This change makes the Adapter detect the failure and interpret it as a disconnect
event.
Category: Ensemble.ManagementPortal
Platforms: All
DevKey: HCR160
Summary: Fix links in the Ensemble message resend page
Description:
This change corrects hypertext link errors in the
Ensemble Portal message resend page.
Category: Installation.Ensemble
Platforms: OpenVMS
DevKey: HCR161
Summary: Avoid some kinds of errors when copying the Ensemble portal files during upgrade on OpenVMS
Description:
This change corrects
a problem with Ensemble upgrades on OpenVMS, where
the upgrade fails because it can't copy CSP pages due to OpenVMS version
file name handling.
Category: Networking
Platforms: UNIX
DevKey: GK871
Summary: TCP send error handling
Description:
This corrects a very rare condition on UNIX
platforms. If a job is doing a TCP write/send and, at the same time,
the connection is in the process of being dropped and another process
is poking the job doing the I/O, Caché may not detect the
connection failure and wait forever for the write completion.
Category: Networking.ECP
Platforms: All
DevKey: GK903
Summary: Long string set may raise a network error during the server failover or restart
Description:
In rare circumstances, when two jobs are attempting to set a long
string value, and the second of them attempts to send this valuye, and
the network fails during the send, the set will be rejected and
maynalso raise a network error. This is now corrected.
Category: Networking.ECP
Platforms: All
DevKey: GK883
Summary: Unexpected routine or class load error across ECP
Description:
The system class load/save may fail on ECP systems
with an
unexpected error (i.e. <ROUTINELOAD> or <STORE>) when the
routine object global cache is empty and it is referencing a large
routine >
32656 chars.
This is now fixed.
Category: Object.CacheProvider
Platforms: All
DevKey: JCN1178
Summary: Initialize Hashtable once in static CachePoolManager class
Description:
This change corrects
a threading problem in the CachePoolManager.pools
(Hashtable) value which was being initialized twice in the static
class. Under some circumstances attempts to start jobs could
result in a InterSystems.Data.CacheClient.CacheException being reported.
Category: Object.CacheProvider
Platforms: All
DevKey: JCN1181
Summary: Fix threading issue with RecycleInUseConnections and improve performance
Description:
The change to Caché to use DotNet 4.0 and
Visual Studio 2010 uncovered threading issues with Connection Pooling
not seen before. This change fixes a hang condition that can occur
when RecycleInUseConnections is called at a time-critical point. The
problem can only be seen in release versions on fast machines.
Category: Object.Gateway
Platforms: All
DevKey: TAP1114
Summary: Force %Net.Gateway Closed flag =1 if error connecting or disconnecting
Description:
The Remote Gateway has a Closed flag that indicates
whether its TCP connection to the JVM is open or not. This change
ensures that, in disconnecting or failing to connect the Gateway when
the connection is unexpectedly lost, the Closed flag is correctly
updated.
Category: Object.Library
Platforms: All
DevKey: DLP2657
Summary: Object Library - add SELECTMODE parameter to %Library.Query
Description:
The SELECTMODE parameter can now be specified for
class queries of type %Library.Query. For these queries, SELECTMODE is
declarative and it is the responsibility of the query author to
properly format the column values according to the SELECTMODE
parameter setting. If that setting is RUNTIME then the current runtime
SELECTMODE can be retrieved from $system.SQL.GetSelectMode().
The default value for SELECTMODE for queries of type %Library.Query is
LOGICAL. If existing queries are having problems with client software
and data formats then the existing query might have to be updated to
specify a different SELECTMODE value so that the values as formatted
by the query are properly recognized.
Category: Security
Platforms: All
DevKey: STC1849
Summary: Fix <ACCVIO> in $SYSTEM.Encryption.Base64Decode()
Description:
This fixes a problem in
$SYSTEM.Encryption.Base64Decode where the process could abort if the
string being decoded was at the edge of an internal memory
boundary.
Category: Security
Platforms: All
DevKey: STC1862
Summary: Use NEW $NAMESPACE in %Library.Routine
Description:
This correction fixes a problem where an attempt to import a
routine using %RI into an implied namespace would get a
<NOROUTINE> error.
Category: SQL.GateWay
Platforms: All
DevKey: MIT1027
Summary: Avoid <SUBSCRIPT> error in JDBC Gateway if it was restarted
Description:
This change avoids a situation where
an attempt to restart the JDBC Gateway could result in a
<SUBSCRIPT> being generated.
Category: Studio
Platforms: All
DevKey: RAW871
Summary: Studio editor: crash deleting contracted block
Description:
This changes prevents a situation where deleting a
text block may cause Studio to crash if that block had previously been
shortened by editing.
Category: System
Platforms: All
DevKey: CDS1756
Summary: Fix <SYSTEM> error caused by low memory during symbol table expansion
Description:
Under certain conditions when available partition
memory is low,
Caché could
erroneously generate a <SYSTEM> error. This is now fixed.
Category: System
Platforms: All
DevKey: CDS1758
Summary: <WIDE CHAR> or invalid name with <SUBSCRIPT> or <UNDEFINED> error
Description:
This corrects a situation where, when using private variables within a procedure,
Caché could report a
<SUBSCRIPT> or <UNDEFINED> error with
an incorrect variable name in the
error text.
Category: System
Platforms: All
DevKey: GK882
Summary: Improved resource utilization during routine and class component loading
Description:
This change improves loading routines and object components by using
batch mode which improves use of routine cache and buffers.
Category: System
Platforms: All
DevKey: GK906
Summary: Added routine target cache protection
Description:
In rare conditions, a routine target cache was getting
freeed while it was being constructed. This caused the cache manager
to write onto random memory. The problem is now fixed.
Category: System
Platforms: Windows 64
DevKey: JLC1441
Summary: Fix handling of surrogate pairs in modal translations
Description:
This change fixes a problem that could cause an
access violation on Windows 64 if a program tried to submit a string
with surrogate pairs for output translation using a table that does
not support this feature (for example, using the JIS translate table
instead of JIS2004).
This problem
affected all platforms but did not cause access violations on all of
them.
Category: System
Platforms: All
DevKey: JLC1447
Summary: Read full $zobjioexport header in objiogetnextbuf()
Description:
This change fixes a problem in $zobjexport() that,
in rare circumstances, could cause a packet to be ignored, for
example, when editing in Studio a routine longer than 32K bytes.
Category: System
Platforms: All
DevKey: JLC1450
Summary: Fix access violation in $ZOBJEXPORT(12)
Description:
This change corrects a problem in $ZOBJEXPORT(12) that, under rare
circumstances, could cause an access violation.
Category: System
Platforms: All
DevKey: SAP1370
Summary: A null priority argument on JOB command is taken for priority=0
Description:
This change corrects the situation where a null value used as the
argument on a JOB command would be treated as a value of zero.
Category: System
Platforms: All
DevKey: SAP1375
Summary: Fix to clean daemon for freeing gfowner
Description:
Clean daemon fails to free gfowner resource.
Category: System
Platforms: All
DevKey: SML1219
Summary: Set gvec->grefns and gvec->gdirpnt to null structure if gnsgloget() failed to get SLM cache memory
Description:
This change fixed a possible access violation when a
job is short of memory. When Caché allocates the SLM
(Subscript-Level Mapping)
cache and the memory used for this is exhausted, Caché reported
a <RESTORE> error. Later
this job could get an access violation.
Category: System
Platforms: All
DevKey: SML1247
Summary: Avoid access violation for clean daemon
Description:
This change avoids the situation where the clean daemon could get an
access violation while cleaning dead jobs. The result of this
situation was that the resources of the dead jobs would be lost until
the next restart.
Category: System
Platforms: All
DevKey: SML1280
Summary: Fix access violation when merge two local array
Description:
In rare cases, MERGE of local variables to the same local array could
crash Caché because of improper memory handling.
Category: System.Callin/Callout
Platforms: All
DevKey: CDS1603
Summary: Fix error after callin to TROLLBACK
Description:
When a TROLLBACK callin is done as part of an extrinsic parameter argument
list, as in
Set Result = $$SomeFunction(Arg1, Arg2, $ZF(-3, dll, ABC))
where the callout to ABC does a callin to TROLLBACK,
various unexpected errors can occur. This situation is now fixed.
Category: System.I/O
Platforms: UNIX
DevKey: HYY1588
Summary: Data corruption resulting from stream compression to files on UNIX platforms
Description:
This change corrects
a data corruption issue resulting from writing to a
file with compression enabled (/GZIP[=1]) on UNIX platforms.
A necessary condition for the problem to occur is that the
file is opened in stream mode explicitly or implicitly.
Category: System.Journaling
Platforms: Windows, OpenVMS
DevKey: HYY1596
Summary: Ensure journal files expand by only 64KB chunks
Description:
This change addresses an issue on Windows and OpenVMS
that could cause the current journal file to expand by a fraction of 64KB
(a partial journal block) in the event of disk space shortage.
This could cause the journal daemon to freeze when the system is set
to freeze on errors.
Category: System.Shadowing
Platforms: All
DevKey: HYY1597
Summary: Directory info possibly missing from shadow copies of journal files
Description:
On a Caché system set as the source of shadowing where the
total length of the mounted database paths is near or over 16KB, the
shadow copy of a source journal file would miss the path of any source
database that is mounted after the shadow copy is created.
The issue is unlikely to cause a shadow to generate run-time errors
because it ignores unmounted source databases when processing a
journal file. This change avoids potential problems caused by the
shadow copy not including complete information; for example,
recovering a source journal file from the shadow copy.
Category: System.Shutdown
Platforms: All
DevKey: SAP1362
Summary: Force not running after shutdown if process does not quit
Description:
In system shutdown (cstop), if any process is
"jammed", so that it does not shutdown normally, cforce is supposed to
be called to clean up the process. This was not happening, so that the
process that was "jammed" is left behind after a shutdown. If the
process were one of the write or journal daemons, restart will fail.
Even if it were a normal process,
shared memory would not be released, so that there may not
sufficient shared memory to restart at the desired level later.
This situation is now fixed.
Category: Utilities.Configuration
Platforms: All
DevKey: STC1864
Summary: Save memlock parameter correctly
Description:
When modifying the LockSharedMemory or
LockTextSegment parameters in the Caché Management Portal and setting the value to True,
the values written to the memlock parameter in the CPF file were
incorrect. This could cause the memory to not be locked upon a
subsequent restart of the system. This has been corrected.
© 2011, InterSystems Corporation. All rights reserved.