Services
& Support

June 26, 2017 – Alert: Data Corruption with Mixed Endian Mirror Shadowing

InterSystems has corrected a defect that may result in corruption of Unicode data on a shadow system whose source is an async mirror member.

This defect affects all currently released Caché, Ensemble, and HealthShare distributions beginning with version 2012.2.0.  All platforms and operating systems are affected.

In order to be exposed to the risk the configuration must include mirror primary and async members, and a shadow of the async member.  Additionally, the async member must be of different endian than both the primary mirror member and the shadow.

Primary (endian X) -> Async (endian Y) -> Shadow (endian X)

In the above configuration, some Unicode strings greater than 255 characters on the shadow member may be corrupt for databases that are shadowed from the async.

If you are unsure of the endianness of your systems, see the InterSystems Supported Platform (ISP) document.

At the time the data is applied to the shadow member there is no indication of a problem.  Depending on the corruption there may also be no error triggered when the corrupt data is accessed.  The only definitive way to detect the corruption is by comparing the data value between the async member and the shadow.

The correction for this defect is identified as HYY2192. It will be included in all future releases of Caché, Ensemble, and HealthShare, including the just released 2016.1.4.  The correction is also available via Ad Hoc distribution from InterSystems Worldwide Response Center (WRC). If you have any questions regarding this alert, please contact the Worldwide Response Center.