On 26/10/12 07:48, Niklas Laxström wrote:
It tries to acquire the lock until MGS_WAIT_TIMEOUT has passed, which is 10 seconds. The lock is there to prevent multiple threads building the cache concurrently. For reasons unknown to me, there is another lock inside ->lock() ->unlock() which again fails and disables message cache.
-Niklas
However, XCache must be working for it to wait the WAIT_TIMEOUT. If there wasn't a key, the mMemc->add would have been successful (XCacheBagOStuff::set always returns true).
Maybe Johannes has XCache installed and working, but it doesn't have enough space to store the message cache, so it is always a miss, and his threads are constantly racing to rebuild it.