Question
· Jan 21

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.

Discussion (4)2
Log in or sign up to continue

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.