Iris is frozen - discover why
The question I have is if I run an External backup this library rotuine is called:
##Class(Backup.General).ExternalFreeze()
Is there a command I can run that shows me the Iris system is frozen due to the call to ##Class(Backup.General).ExternalFreeze()?
If the system is frozen I cannot sign into Iris terminal session.
I backup the IRIS server using Veeam. Veeam calls the "freeze" script, snapshots the server in VMWare, then calls the "thaw" script.
Veeam then backs up the VMWare snapshot.
I have had cases where Iris was frozen and I'm guessing this could be caused by a call to ##Class(Backup.General).ExternalFreeze() where no "thaw" command was called.
Comments
Hi Phillip,
if IRIS is frozen/hung only way to see is via messages.log
The freeze and thaw is recorded there.
Hi Philip,
Another way is to use the ##class(Backup.General).IsWDSuspendedExt() routine.
According to the documentation:
"When called in an external script, exit status is set to 5 if WD is suspended or 3 otherwise."
Example:
irisowner:~$ iris terminal IRIS -U%SYS "##class(Backup.General).ExternalFreeze()"
irisowner:~$ iris terminal IRIS -U%SYS "##class(Backup.General).IsWDSuspendedExt()"
irisowner:~$ echo $?
5
irisowner:~$ iris terminal IRIS -U%SYS "##class(Backup.General).ExternalThaw()"
irisowner:~$ iris terminal IRIS -U%SYS "##class(Backup.General).IsWDSuspendedExt()"
irisowner:~$ echo $?
3
As noted in the documentation the ExternalFreeze() can not last longer then 10 minutes or however long it takes you to run out of global buffers.
You could use irisstat :
iris stat [INSTNACE] | grep WDSUSPD # this will show you if the write daemon are suspended.
iris stat [INSTNACE] -W #this will resume them.
As a guess you are running out of buffers and the options are to move the snapshot to a less busy time on the system and/or increase the number of global buffers.
Look at using mgstat to find a better time to do the backup.
Thanks for everyone's suggestions.
Veeam after calling the 'freeze' script was doing some unnecessary processing so delaying the VMWare snapshot and the subsequent call to 'thaw' script.