October 26, 2021 – Alert: Missing Locks after ECP Database Server Restart or Failover
InterSystems has corrected a defect that can violate application locking guarantees in a distributed cache cluster (ECP configuration), which can lead to application integrity issues. This defect affects:
- All major releases and maintenance versions of InterSystems IRIS and InterSystems IRIS for Health, starting with 2020.1.0
The defect can only occur when an application server successfully performs ECP recovery after a restart or failover of the data server, as follows:
- If processes running on the application server hold more than 255 total locks on databases hosted on the data server at the time of the restart or failover, some of these locks may not be recorded in the data server’s lock table.
- Because the data server manages the distribution of locks across the cluster, this makes it possible for a process on another application server or the data server itself to concurrently acquire a lock that conflicts with one of the locks held by the application server, which can lead to application integrity issues.
For more information on locking and concurrency, see Locking and Concurrency Control.
The correction for this defect is identified as SML2930 and will be included in all future product releases, including InterSystems IRIS and InterSystems IRIS for Health 2020.1.2 and 2021.1.1. It is also available via Ad hoc distribution from the InterSystems Worldwide Response Center (WRC).
Note to HealthShare Customers
Although the HealthShare family of products does not make direct use of distributed cache clusters, HealthShare does support using them to access data on a separate instance of HealthShare. Customers making use of this feature will need to review their configurations to determine whether they could be impacted by this defect.
If you have any questions regarding this alert, please contact the Worldwide Response Center.