-
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
vUnless 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.Adapter
- Ensemble.HL7/EDI
- Languages.COS
- Networking.ECP
- Special Projects
- SQL
- SQL.Privileges
- System
- System.Callin/Callout
- System.Cluster Specific
- System.Trans. Proc.
- Utilities.Configuration
Category: Ensemble
Platforms: All
DevKey: DDP112
Summary: Fix startup and shutdown errors due to %Library.EnsembleMgr
Description:
This change corrects a situation where Ensemble startup and
shutdown could produce extraneous messages in the console log.
Category: Ensemble
Platforms: All
DevKey: DDP294
Summary: Throttle processing of events during message bank client OnKeepAlive
Description:
Prior to this change, the event log processing which
occurred during the OnKeepAlive() callback in
Ens.Enterprise.MsgBankOperation was not in any way throttled. The code
did handle situations where no events had ever been banked, but in those
cases where some events had been banked in the past and a large number
of events had been banked in the interim, the code could attempt to
send very large amounts of data to the message bank. With this change,
Ensemble will now attempt to process at most 10,000 events during each call
to OnKeepAlive().
Should users not wish to bank any events prior to the current time,
they should disable the Message Bank Operation components and then
kill the ^Ens.MsgBank("LastEvtId") global node to get the client code
to start banking events starting from the current time.
Category: Ensemble
Platforms: All
DevKey: DDP324
Summary: Add IsProductionRunning() API to Ens.Director
Description:
This change adds a new IsProductionRunning
classmethod to the Ens.Director class. The new method is not a
foolproof indicator of whether the current production is running, as
it does not lock $$$EnsRuntime and thus may not detect situations
where a production is changing state. However, it will return a
reasonably reliable indicator of whether the production is running
without introducing any lock contention on the $$$EnsRuntime global as
is present in the more reliable GetProductionStatus() method of
Ens.Director.
GetProductionStatus() is still the most reliable
indicator of the current production status.
Category: Ensemble
Platforms: All
DevKey: MC1139
Summary: Stop productions properly when Caché is shutting down
Description:
Stop productions properly when Caché is
shutting down, namely:
- When Caché shuts down, it stops productions in various
namespaces concurrently.
- Stop production with timeout specified in production
configuration.
- Call Stop with force=1
Category: Ensemble
Platforms: All
DevKey: TAP1204
Summary: Add Reset() method to class %IO.IParts.MetaIO
Description:
This change adds a Reset() method to class
%IO.IParts.MetaIO. This allows a stream object of this type to be
re-used with multiple output streams without building an
ever-increasing list of output streams. Instead, the object can now be
re-initialized using the Reset() method before a new output stream is
added. (The same also applies to CopyInput streams.)
Category: Ensemble.Adapter
Platforms: All
DevKey: DDP311
Summary: Fix ConfirmComplete behaviour in FTP Inbound Adapter
Description:
The logic to ensure that the entire file was
downloaded when ConfirmComplete is set to "Size" was flawed and could
previously result in incomplete files being downloaded from the FTP
server. Furthermore, it was also possible that the adapter would not
wait long enough to ensure that the file size was no longer changing
before determining that it should be processed.
Both of these problems have now been corrected. However, this may
lead to slower processing if ConfirmComplete is set to "Size", as the
code will wait at least as long as the FileAccessTimeout to ensure
that the file size hasn't changed.
Category: Ensemble.Adapter
Platforms: All
DevKey: DDP325
Summary: Correctly determine whether Ensemble SOAP service may be invoked
Description:
In previous releases of Ensemble, SOAP services were
not correctly determining whether the production was currently
running, and could attempt to start the service while the production
was troubled.
Furthermore, the SOAP service was not checking
whether the related business service had been disabled, and could thus
be incorrectly invoked when the configuration item had been marked as
disabled.
This change corrects both these issues.
Category: Ensemble.Adapter
Platforms: All
DevKey: JN976
Summary: Handle 'UT' data type in DICOM
Description:
DICOM now handles 'UT' data type
Category: Ensemble.Adapter
Platforms: All
DevKey: JN977
Summary: Update Abstract Syntax Dictionary
Description:
This change updates the Abstract Syntax Dictionary
which was out of date.
Category: Ensemble.Adapter
Platforms: All
DevKey: TAP1213
Summary: Fix AllowedIPAddresses, add hostname support to TCP Outbound Adapter
Description:
This change fixes the AllowedIPAddresses feature of
the TCP Inbound Adapter its hostname resolution sub-feature.
This change also adds hostname resolution to the !-IPAddress feature of the TCP
Outbound Adapter, supporting a list of allowed remote connection addresses that
can be numeric or named.
Category: Ensemble.HL7/EDI
Platforms: All
DevKey: TAP1205
Summary: Fix HL7 SOAP Operation to avoid ever-increasing list of MetaStream output streams
Description:
This change fixes the class
EnsLib.HL7.Operation.SOAPOperation to avoid building an
ever-increasing list of MetaStream output streams.
Category: Languages.COS
Platforms: All
DevKey: GGC512
Summary: Correct problem with ptrie arrays during merge
Description:
When a merge command is executed, there is a chance
that subsequent kill operations on a single subscript in the updated
array would kill the entire array instead of just the intended single
subscript.
This change corrects that.
Category: Languages.COS
Platforms: All
DevKey: GGC514
Summary: Correct various ptrie local array problems
Description:
This change fixes problems with ptrie local arrays.
The symptoms are that Caché will gives a <SYSTEM> abort
or a segmentation violation. This usually happens when the application
is killing an array or executing a $O on an array.
Category: Networking.ECP
Platforms: All
DevKey: GK947
Summary: Corruption of long Unicode strings across ECP
Description:
In very rare cases, when a long string cannot be
compacted, and the global is subscript mapped, and the global value is
accessed using 2 argument $DATA (to get the value during the operation),
the server returned value might be corrupted. ghis is now fixed.
Category: Networking.ECP
Platforms: All
DevKey: GK948
Summary: ECP recovery of partially processed request bufs
Description:
In rare conditions, when an ECP request set is
partially processed before the server is shutdown or fails, and then
the server is restarted, some app-server's session might be rejected
and not recovered.
This change correct that situation.
Category: Networking.ECP
Platforms: All
DevKey: GK950
Summary: Fixed an ECP server pre-fetcher hang
Description:
This change fixes a rare situation where reverse $ORDER is being
pre-fetched by the worker daemon while the previous block is being
modified by the ECP daemon; this may cause a deadlock condition and hang
the ECP dmn and possibly the system.
Category: Special Projects
Platforms: All
DevKey: CDS1995
Summary: Fix U2 crash after $ZU(11,2)
Description:
After issuing $ZU(11,2), a subsequent GOTO to an
entry point with a formal parameter list could get an access
violation.
Category: SQL
Platforms: All
DevKey: DPV3874
Summary: MPP: Deferred SQL, correct oref.prop referenced as host variables in the SQL statement
Description:
A problem has been corrected where a deferred SQL
statement that included a host variable reference of the form
oref.prop was not having the proper code generated for it.
Category: SQL.Privileges
Platforms: All
DevKey: DPV3857
Summary: SQL: Correct ODBC Catalog query SQLTablePrivileges
Description:
This change corrects a rare error that can occur
when trying to fetch the privileges on a table using ODBC.
Category: System
Platforms: All
DevKey: CDS1985
Summary: Fix memory overlay
Description:
The change corrects a situation where operations
that save and restore the internal symbol table used by Weblink
Developer might overlay memory and cause access violations in the
process.
Category: System
Platforms: All
DevKey: SAP1477
Summary: Fix database corruption following a File Compaction
Description:
This change fixes a problem where, after a
FileCompaction on a 9GB file, a second FileCompaction gives a
<DATABASE> error, and INTEGRIT shows a node pointer to an
incorrect block.
Category: System
Platforms: All
DevKey: SAP1478
Summary: Fix job startup hung in getsym / putsym
Description:
A job command using jobservers will sometimes hang
and time out. A dump analysis shows the two processes (parent and
child) both waiting in the job putsym and getsym (symbol passing)
code. This change prevents that deadlock situation.
Category: System
Platforms: All
DevKey: SAP1480
Summary: Fix process hangs during mailbox processing on Windows
Description:
Repeated use of $VIEW(-1, pid) causes process to
hang. This is now corrected.
Category: System.Callin/Callout
Platforms: All
DevKey: SAP1464
Summary: Fix $ZF(-1) doesn't complete correctly when called from within a web method
Description:
A $ZF(-1) function that succeeds in a terminal
environment hangs in a Web environment. This has been corrected.
Category: System.Cluster Specific
Platforms: OpenVMS
DevKey: SAP1479
Summary: Fix cluster recovery runs even though cluster is up on OpenVMS
Description:
This corrects a situation where a cluster recovery could take an
unusually long time if run while the cluster was, in fact,
operational.
Category: System.Trans. Proc.
Platforms: All
DevKey: HYY1665
Summary: Fix TROLLBACK failure at the time of jrnswitch
Description:
This change addresses an issue that could cause TROLLBACK to
fail with the (false) error "journaling is disabled" in certain rare
circumstance involving an ongoing journal switch.
Category: Utilities.Configuration
Platforms: All
DevKey: SML1378
Summary: Fix stale SLM mapping when DB location changed in CPF file
Description:
This change fixed a possible stale SLM mapping when
the destination database location is updated in CPF file before
Caché starts. This also fixed an issue with renaming the database name in
configuration that does not update the database location in
global/routine/package mapping.
© 2011, InterSystems Corporation. All rights reserved.