-
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
- MgtPortal
- Migration.TSQL
- Migration.UltiMumps
- Networking.ECP
- Object.C++
- Object.Class Compiler
- Object.Library
- Security
- System
- System.I/O
- System.Journaling
- System.Licensing
- System.Lock
- System.Mirroring
- System.Monitoring
- System.Shutdown
- System.StartUp
- System.TCP Devices
- System.Trans. Proc.
- System.Very Large Systems
Category: MgtPortal
Platforms: All
DevKey: YSD2663
Summary: SMP - Fixed ProdLog #93037: Include Remote Namespaces in Switch Namespace dialog
Description:
This change will pass the "Remote" argument to the
query so that the Switch namespace dialog will include remote
namespaces.
Category: Migration.TSQL
Platforms: All
DevKey: DLP2858
Summary: TSQL - Add support to dynamic SQL for DROP INDEX for MSSQL/Sybase dialects
Description:
A defect that prevented DROP INDEX from working
properly in dynamic SQL and DDLImport when the dialect is either MS
SQL Server or Sybase is now fixed.
Category: Migration.UltiMumps
Platforms: All
DevKey: CDS2017
Summary: Compile default null string for U2 $PIECE fifth argument
Description:
This change implements the following behavior: if a
fifth argument is indicated but omitted for $PIECE in U2 mode, the
compiler will provide a default value of a null string.
Category: Networking.ECP
Platforms: All
DevKey: GK957
Summary: ECP recovery to ignore dismounted remote DBs
Description:
This change corrects a rarely-occurring
failure in ECP recovery or remote database dismount that manifests
itself as an access violation during ECP recovery.
Category: Networking.ECP
Platforms: All
DevKey: GK959
Summary: ECP recovery may drop some partially processed requests
Description:
In very rare cases, when the network and the host
service is very fast, ECP recovery may lose partially processed
requests during a connection outage. This is now corrected.
Category: Networking.ECP
Platforms: All
DevKey: GK960
Summary: ECP Rollback request may not include the correct len
Description:
In very rare cases, if an app-server with many ECP
active jobs, and one job with an open transaction is halted, the queued
asynchronous rollback request may not be valid and may not rollback the open
transaction.
In this instance. the following message would appear in the console
log:
TROLLBACK from client did not find matching transaction on ECP server.
This situation has now been corrected
Category: Object.C++
Platforms: All
DevKey: IYB744
Summary: C++ binding, fixed a bug in Unicode conversion code involving strings > 32k
Description:
This change corrects a problem that occurs in the C++ binding
for Unicode conversions involving strings larger than 32K.
Category: Object.C++
Platforms: All
DevKey: IYB753
Summary: C++ binding, bug fix in string conversions
Description:
If an attempt to convert a long (> 32K characters)
Unicode string required allocating a dynamic buffer, a subsequent
request to convert a string of less than 32K would re-use the dynamic
buffer. Now a smaller buffer is used.
Category: Object.Class Compiler
Platforms: All
DevKey: MAK3304
Summary: Remove incorrect usage of $$$com...Lvar macro where first and second argument are the same
Description:
Classes which used sqlcomputed code with a chained
list of properties, where one of the types of the properties in the
chain was a subclass of the class that added this property, could
generate bad propGet or propCompute method code. This regression in
2011.1 is now fixed.
Category: Object.Library
Platforms: All
DevKey: MAK3292
Summary: Allow global export to XML to handle null subscripts
Description:
This change corrects an error in exporting and
importing globals with null subscripts. Now globals with null
subscripts will be properly exported if null subscripts are allowed.
This change also corrects the import processing so that it does not
report an error on an attempt to import a global with a null
subscript and null subscripts are allowed.
Category: Security
Platforms: All
DevKey: RFD648
Summary: Fix error in %Save() when Task is Run
Description:
This change corrects an error in TaskManager where an attempt to
update the status of a task could fail because the next time scheduled
for the task had already passed.
Category: System
Platforms: All
DevKey: CDS2013
Summary: Fix accvio after <STORE> error
Description:
In some circumstances, attempting to report an error trap
for a <STORE> error could cause the process to generate an
access violation. This is now corrected.
Category: System
Platforms: All
DevKey: CDS2021
Summary: Fix access violation when large routine line lookup fails
Description:
This change corrects a situation
involving routines that are large and implement a user command or
function (%ZLANGxxx).
If the entry point that implements the user command or
function is not found in the routine, Caché could report an
access violation.
Category: System
Platforms: All
DevKey: JLC1527
Summary: Fix loading of U2 pattern match table
Description:
This fix affects only 2011.1 and later Unicode U2/M
builds using the Arabic locale (u2aw). It fixes a bug that prevented
the U2 Pattern Match table to be loaded.
Category: System
Platforms: Windows, Linux
DevKey: JLC1535
Summary: Fix detection of number of x86 chips
Description:
This change corrects a situation on Caché
for Windows or Linux x86-32/64 running on systems with a large number
of cores (e.g. more than 8). The algorithm that counts threads, cores
and chips could detect twice the number of cpus (sockets) actually
installed. This number is used for informational purposes only and the
incorrect value did not affect licensing.
Category: System
Platforms: All
DevKey: JO2472
Summary: Correct remote job command so new job does not get exception on remote references
Description:
This change corrects a defect in 2010.1 that could result
in a process started via the remote job command getting an exception
if the new job references a global over ECP.
Category: System
Platforms: All
DevKey: SAP1504
Summary: Eliminate msyslog from mailbox code
Description:
This change corrects a defect that could result in a
deadlock within Caché involving attempts to post messages
between threads.
Category: System
Platforms: All
DevKey: SAP1511
Summary: Fix infinite loop in global module while doing FileCompact
Description:
This change fixes a situation where an attempt
to compact a file causes the process to go
into an infinite loop consuming all of the cpu time.
Category: System
Platforms: All
DevKey: SML1377
Summary: Avoid netlog() called in mbx() for Windows
Description:
This change alters the reporting of a network error discovered in a
thread so that it does not make a call that would block the thread.
The error is queued and reported by the main thread.
Category: System.I/O
Platforms: UNIX
DevKey: SAP1507
Summary: Correct partial write logic for unix writes
Description:
This change fixes a situation involving writes to
disk on UNIX® systems. The underlying system could return an
indication of partial writes unnecessarily. In some cases where the
disk is nearly full, this could result in an improper status code being
returned for the write attempt.
Category: System.Journaling
Platforms: All
DevKey: HYY1683
Summary: Prevent database error from freezing system during journal recovery at startup
Description:
This change addresses an issue that could cause system to freeze
upon <DATABASE> errors during journal recovery at startup.
Category: System.Journaling
Platforms: All
DevKey: HYY1684
Summary: Eliminate an unnecessary error in scanning for open transactions in journal restore
Description:
This correction resolves an issue that could cause
journal restore to think mistakenly that an earlier file that might
contain open transactions did not exist.
Category: System.Licensing
Platforms: All
DevKey: RJW1939
Summary: CSP License will not be released with Web AddOn and %Session.Login()
Description:
This problem is corrected:
- If a user has a license with Web Add-On, and
- the application does a CSP connection using %session.Login(),
and
- does not call $SYSTEM.License.PublicWebAppUser() (because it only need
this as an UnknownUser),
two Licenses will be allocated. One has the Identifier
LicenseId@IPAddress and one has the SessionId. The LicenseId@IPAddress
will be released after the Timeout, but the one with the SessionId
will never be released.
The same problem exists with SOAP requests.
Category: System.Lock
Platforms: U2
DevKey: SML1387
Summary: Avoid wrong child job took locks from another child job
Description:
This change fixed a problem that when a parent job started one job
without lock passing followed by another job with lock passing, the
first job might take the locks intended to be passed to the second
job.
Category: System.Mirroring
Platforms: All
DevKey: JO2467
Summary: Allow JRNSWITCH to occur during mirror initializion in the transaction rollback phase
Description:
An error has been resolved where a user induced journal switch that
happens
- while a node is becoming the primary mirror member,
- but after the node has created a mirror journal file,
- and prior to the start of the ECP Recovery phase,
would cause the system to report a problem and fail to become the
primary at startup.
Category: System.Mirroring
Platforms: All
DevKey: JO2471
Summary: Allow "idle" failover mirror members to use ^MIRROR, Management options, Force This Node To Become Primary
Description:
Previously the ^MIRROR management option which tries
to force a node to become the primary refused to run if the node was
not currently a backup mirror member. This option is now allowed on
failover members regardless of whether they are connected as the backup
member or not connected at all (eg. idle).
Category: System.Monitoring
Platforms: All
DevKey: RFD625
Summary: Fix user MIB and Config list issues in Windows SNMP DLL
Description:
This change fixes two issues with the Windows SNMP
extension MIB DLL (iscsnmp.dll): one problem can cause a user-defined
MIB in Cache to not be registered correctly; The other can potentially
cause the DLL to crash.
Category: System.Monitoring
Platforms: All
DevKey: RFD626
Summary: Use %Monitor FreeSpace sample for SYS.History.Database
Description:
This change modifies the system data sampling
mechanism to manage its data storage needs the same way that SNMP
does.
Category: System.Shutdown
Platforms: All
DevKey: SAP1513
Summary: Fix cforce fails, reporting spurious pidtab corruption
Description:
This corrects an error where the cforce command
halted with the message:
Cforce failed!!! pid table corrupted: 0 & 0 not killed
The cforce program did not
detect any error, and deleted shared memory and cache.ids. Processes
were still running.
Category: System.StartUp
Platforms: All
DevKey: SAP1497
Summary: Fix emergency mode startup causing private webserver failure on Unix
Description:
This changes Emergency Mode to run as the owner - not
as root. It corrects a circumstance where Emergency Mode startup
fails to start the private webserver so the CSP portal is not
available to make any necessary config changes. In addition, all
subsequent restarts also fail to start the private webserver.
Category: System.TCP Devices
Platforms: All
DevKey: SML1388
Summary: Add ABSTIMEOUT option for TCP devive read timeout behave same as other type of devices
Description:
This change adds a new keyword option /ABSTIMEOUT
for TCP devices. It makes the read timeout behavior the same as other types of
Caché devices - it accepts whatever data arrived within the timeout
period. Without this option enabled, the timeout will be reset
to its original value when data arrives.
The default setting of /ABSTIMEOUT is zero (off). Applications need to specify
/ABSTIMEOUT or /ABSTIMEOUT=1 key word in the OPEN or USE command to
turn on this option.
Category: System.Trans. Proc.
Platforms: All
DevKey: HYY1686
Summary: Address a case of <STORE> error in transaction rollback
Description:
This change addresses an issue of transaction
rollback where rolling back open transactions involving a number of
global nodes updated via bit SETs could fail with a <STORE>
error.
Category: System.Very Large Systems
Platforms: All
DevKey: SJ2746
Summary: Change message if only block changes were detected to warning, instead of Global is NOT OK
Description:
This change affects INTEGRIT. It now does not
output a message
****** Global xxx is NOT OK ******
if any errors were resolved by retrying, and it
detected that the block(s) that initially were detected as having
errors changed during the integrity check.
© 2011, InterSystems Corporation. All rights reserved.