Skip Menu |

This queue is for tickets about the Cache-Cache CPAN distribution.

Report information
The Basics
Id: 27071
Status: rejected
Priority: 0/
Queue: Cache-Cache

People
Owner: dewitt [...] unto.net
Requestors: kazuhooku [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 1.05
Fixed in: (no value)



Subject: Race condition in Cache::SizeAwareFileCache
Not only the setter but also the getter method of Cache::SizeAwareFileCache updates the stored information. The getter does so by first reading the cache data, update its access time, and then overwriting it, without any locks. This causes loss of updates. Data written from another process, during the execution of the get method will be overwritten by the getter with an older value.
I agree this is important, but fixes that introduce locks are non trivial at best, and difficult to implement efficiently and cross-platform. Please consider investigating the CHI project, which offers new cache backends.
Cache::Cache is no longer being maintained. It has been replaced with CHI.