When a system favorites edit is started in the ArcFM System Favorites Manager in ArcCatalog, or in the Features or CU tab in ArcMap, the following message is displayed:
There are two possible causes for this message:
- Another user is actually editing system favorites and has a lock set on the object in MM_SYSTEM_PERSIST_INFO.
- ArcCatalog or ArcMap crashed or its process was killed while system favorite editing was in progress. This prevented the normal release of the lock.
Three rows exist in the MM_SYSTEM_PERSIST_INFO table that provide locking to warn of simultaneous editing. Each contains a TreeName for the type of system favorite being edited:
CUFavorite_Lock: Created when the Compatible Units tab is selected, and a command is selected from the right-click menu of the Compatible Units category.
CUSysFavorite_Lock: Created when the Compatible Units tab is selected, and a command is selected from the right-click menu of the System Favorites category.
FeatSysFavorite_Lock: Created when the Features tab is selected, and a command is selected from the right-click menu of the System Favorites category.
When editing is initiated, these rows are created if they don't exist yet, and are never deleted once created. Each row contains six attributes in a BLOB in the Data column. Here are the attributes of the CUSysFavorite_Lock:
In the image on the left, editing is in progress and the State attribute is set to Locked. In the image on the right, editing is no longer in progress and State has been set back to Unlocked. When ArcCatalog or ArcMap crashes or its process is killed, State is left at Locked. The next time favorites editing starts this attribute is checked, and the Favorites Locking message is displayed if the Locked state is detected.
Clicking Yes in the Favorites Locking dialog does not change the State to Unlocked, nor does clicking OK or Apply. Once it is in this Locked state due to a crash, the steps in the Solution section must be followed to remove the lock.
First ensure that another user is not currently editing system favorites. If no other users are editing, follow these steps to delete the lock rows in the MM_SYSTEM_PERSIST_INFO table:
1. In a SQL tool appropriate for the Oracle or SQL Server database, run this select query to identify the rows to be deleted:
select * from MM_SYSTEM_PERSIST_INFO where TreeName in ('CUFavorite_Lock', 'CUSysFavorite_Lock', 'FeatSysFavorite_Lock')
2. Back up the MM_SYSTEM_PERSIST_INFO table.
3. Once identified, run this query to delete them:
delete from MM_SYSTEM_PERSIST_INFO where TreeName in ('CUFavorite_Lock', 'CUSysFavorite_Lock', 'FeatSysFavorite_Lock')
The next time system favorites are edited, the three rows will be created again. Now the Favorites Locking warning will actually be correct: another user is currently editing, and it is asking if you want to continue and overwrite their edits.