Failed to acquire exclusive lock error
Hi all,
I have a class that has been working so far :(
The class extends the EnsLib.RecordMap.Service.FTPService class and add some information for each rows.
Now, when it saves the object it is raising the following error
ERROR #5803: Failed to acquire exclusive lock error
I've seen the other question in the community and I've tried to unlock
do ##class(my.class).%UnlockExtent(0,1)
but it doesn't work
Any idea?
Best regards
check Locktable in the management portal to find if some other process has locked the table.
by do ##class(my.class).%UnlockExtent(0,1) you just can release yourr own LOCKs
I second Robert's recommendation to check the lock table. It is probably best to understand what else is holding the lock than to just try and release the lock - the lock might be there for a reason, and if not you should look into what is taking it out and why.
Oliver's suggestion to verify that the lock table isn't full is also a good one.
I've checked the locktable and it displays a lot of them :s
is possible to unlock all of them at the same time? I have to do one on one...
#1) I'd suggest to increase the size of your LockTab as suggested by @Vic Sun
#2) There is a class in %SYS . ^SYS.Lock that could be useful for multiple Lock deletes.
and as I just learned to adjust LockTab size (SetMaxLockTableSize)
https://cedocs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls?PAGE=CLASS&LIBRARY=%25SYS&CLASSNAME=SYS.Lock
#3) ^LOCKTAB from terminal command line in %SYS also shows the Locktab
Good morning,
I encountered this error when I had to save a lot of data. It happened to me, because either the lock table was full (check console log) or I exceeded the lock threshold so a process would try to lock the entire table which failed because there were other processes also inserting data into the same tables.
Hope to help.
Oliver