InterSystems 已修复一个缺陷,该缺陷导致在使用特定 $LIST 语法时引入无效的数据库和日志记录。 遇到这种缺陷的可能性很低,但对运营的影响可能很大。
受影响的产品
- InterSystems IRIS® Data Platform: Versions 2023.3, 2024.1.0, 2024.1.1, 2024.1.2, 2024.2, 2024.3
- InterSystems IRIS® for Health: Versions 2023.3, 2024.1.0, 2024.1.1, 2024.1.2, 2024.2, 2024.3
- HealthShare® Health Connect: Versions 2023.3.0, 2024.1, 2024.1.1, 2024.1.2, 2024.2, 2024.3
- HealthShare® Unified Care Record and Suite: Version 2024.2
- 基于上述产品的所有产品
该问题仅影响 Unicode 安装。
使用以下语法在global中的列表中追加新元素时会出现该问题
SET $LIST(, *+1) = value
当该调用产生的列表超过最大字符串长度时,正确的行为是返回 <MAXSTRING> 错误。这是发生在InterSystems IRIS、InterSystems IRIS for Health以及Health Connect 2023.3版本之前的情况。 在 2023.3 及其后续版本中,无效值被保存到数据库中,而不是产生 <MAXSTRING> 错误。
任何后续的引用全局节点的尝试都会导致 <MAXSTRING> 错误。
global更新还会产生日志记录(假设对该全局的更新通常有日志记录)。任何尝试应用所产生的日志记录的操作(包括启动时的恢复、日志还原和镜像操作)都会因 <MAXSTRING> 错误而失败,并停止对日志文件的进一步处理。
如果您受到此缺陷的影响,请联系 全球响应中心(WRC) 寻求帮助。
此缺陷的纠正措施为DP-437169。 它 将被包含在从 InterSystems IRIS、InterSystems IRIS for Health 和 Health Connect 2024.1.3 和 2025.1.0 开始所有未来版本中。 该修复也可以通过Ad-hoc分发。 该更正将在HealthShare Unified Care Record 2025.1 版和产品套件发布时包含在内,但不会包含在以前版本的维护版本中。 如果您对本警报有任何疑问,请联系 全球响应中心。