Stable: 2.5.2
Development: 2.6-alpha3
User tomaszg and I have put some time into investigating the supposed tags cache corruption problem for which the accepted wisdom has been to delete the MOC tags cache. It has actually turned out to be a problem with stale database locks left over after a previous server crash, and I have today committed a patch (r2492) which I believe fixes it.
The Symptoms
Verification
The Cause
Recovery Action
(Note that step 2 will create a 10MB log file. Step 3 deletes it, but you will still need to have sufficient space in your filesystem.)
The Solution
MOC no longer uses files (~/.moc/cache/__db.*) to back the memory in which locks are held. So when the MOC server crashes, any locks it is holding disappear along with the process's memory. This works because MOC uses single-process (though multi-threaded) access to the database holding the tags cache and it appears that losing the file-backed memory does not endanger the database's structural integrity.
Also See
node/825 (this is a textbook example of this problem)
node/599 (here the segfault is the triggering event)
jcf
Fri, 2013-09-27 02:50
Permalink
One Year On...
It seems my belief in the patch (r2492) has been validated. In the year since it was committed there has not been a single reported occurrence of the "Corrupt Tags Cache" problem, so I think we can say it's now well and truely behind us.