Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 1.7.4
-
Fix Version/s: 1.9.2
-
Component/s: Zend_Cache
-
Labels:None
-
Fix Version Priority:Should Have
Description
The following lines stop the cleaning process as soon as just one remove() call fails:
foreach ($ids as $id) {
$res = $res && $this->_slowBackend->remove($id) && $this->_fastBackend->remove($id);
}
Personally I've experienced this as Zend_Cache_Backend_Apc::remove() has failed for some reason.
The problem concerns modes CLEANING_MODE_MATCHING_TAG, CLEANING_MODE_NOT_MATCHING_TAG, and CLEANING_MODE_MATCHING_ANY_TAG.
A possible fix:
foreach ($ids as $id) {
$res = $this->remove($id) && $res;
}
By the way, currently the return value isn't consistent with Zend_Cache_Backend_TwoLevels::remove(), where only the slow backend return value is used.
it seems to be a good idea
I will implement it in the next week
thanks