When editing pages and content in the backend on a Sitefinity website deployed on Windows Azure, I would occasionally get nasty looking errors that read something like this in one of Sitefinity’s popup boxes:
“Row not found: GenericOID@r2j33174 SecurityRoot id=950d7b35-46je-4p56-75f5-7cd23e164bjj
UPDATE [sf_blogs] SET [last_modified]=?, [voa_version]=? WHERE [id] = ? AND [voa_version]=?
(set event logging to all to see parameter values)
Or a full page exception screen like this:
These would prevent me opening and saving content I was editing.
I found that this problem is caused by the OpenAccess level 2 cache. This is a cache that stores data that is retrieved from the database to speed up database queries. Unfortunately this sits between IIS and the database on the server that is running Sitefinity, which means in a load balanced environment like Windows Azure using more than 1 instance the instance the client is using can change at any time, leaving it referencing data that does not exist in the cache on the instance its now using.
This behavior can be turned off by going into the advanced settings section in the Sitefinity backend, then setting the “Enable data caching” textfield to False.
After recycling the Application pool used by Sitefinity this error should stop hampering you for good!
Image from http://www.sitefinity.com/devnet/forums/sitefinity-4-x/bugs-issues/publish-edit-error.aspx