intersystems / intersystems/ipm
issues with install and the lock table
- Dominant language
- ObjectScript
- Stars
- 41
- Forks
- 29
- Avg merge
- 23h 54m
- Merged PRs (30d)
- 4
Description
The great thing about using the install command is that all of it appears to be wrapped around a TSTART, so if an error occurs it's TROLLBACK'ed.
However, the delivery of the module includes compiling the classes and associated routines for a class. All of this introduces database locks via Lock +. For really large modules this can cause an issue if locksiz is not adequately large. When this occurs ZPM reports an error about not being able to acquire a lock. It's not that something else has a lock, but rather the lock table has exhausted the locksiz.
It seems like this might be better managed if ##class(%SYSTEM.OBJ).Load or ##class(%SYSTEM.OBJ).Compile manage the transaction and specifically better manage the number of locks being added.
I also note that because of the lock table filling up when this occurs, before the trollback is done, I cannot access the system management portal.
Contributor guide
Assessment
This issue has not been assessed yet.