I had an issue that the EventQueue table in the Core database which was being flooded with events, which in turn was responsible for causing bad performance.
This was caused by the fact that each time the Lucene indexes are updated Sitecore raises the database:propertychanged event.
The default implementation subscribes to the event and adds it to the EventQueue table in the core database. I set the “Days To Keep” events to 1 day – but it still inserts over 100000 events a day 😦
Sitecore have registered this as a bug, but as yet there is no fix for 7.5 or 8.
Solution
This is not very nice at all, but it was the best we could do as a workaround for this issue. The credit for this solution must go to my colleague Peter Wind (@peterwind) who is created the hack!
Use reflector to get the code for the default Sitecore.Eventing.Remote.RemoteEventMap class (defined in Sitecore.Kernel.dll), and create your own class, see below.
Modify the SetupGlobalEventSubscribers function, so you subscribe to the database:propertychanged event – but do not add the event to the EventQueue, see below.
The last step is to update the configuration in the web.config to use your new and improved class.
note: I have the support case number in the namespace & DLL name – so when the bug is fixed, I can remove this code and in addition any other developer at Pentia can see the history related to this support issue and why I have done such a nasty fix.
Anyway I hope this helps somebody out there 🙂
Hi Alan,
Is there a public issue number for this? I’m trying to find the root cause of a huge increase in recycle time since a 7.2 update 2 -> 7.2 update 4 and am trying to find out if this is something we’ve introduced.
I’m on holiday but last time I checked there was no fix, when I get back I will find the public issue number 🙂
Pingback: Sitecore client and logon is very slow (properties table AGAIN) | Alan Coates – Sitecore/.NET blog