This bug was introduced by #1278268: Trust APC for TTL and do not proceed to garbage using PHP code. On our environment, saving a node does not clear out the page_cache entry. Reverting to 2fa5179 fixed the issue.

Files: 

Comments

twistor’s picture

Issue summary:View changes
Status:Active» Postponed (maintainer needs more info)

Do you have a minimum cache lifetime set?

edgarsg’s picture

I also had this problem.
When using memcache as cache backend it worked fine - when I saved a node, the page cache was cleared and new version appeared for the anonymous user.
However when changing to apc in settings.php this was no longer happening - the old page was still being served.

drupal_apc_cache.inc:

<?php
function clear($cid = NULL, $wildcard = FALSE) {
?>

When $cid is NULL, the function actually does not clear anything.
But according to cache_clear_all() doc:

"$cid: If set, the cache ID or an array of cache IDs. Otherwise, all cache entries that can expire are deleted. "

I'm not that familiar with all this, therefore i am in doubt about 'that can expire' part..
When saving a node, cache_clear_all() is called for cache_block and cache_page bins with $cid=NULL.

However by adding this line to clear(), the page cache is now cleared on node save.:

<?php
if ($cid==NULL) $this->flush();
?>

Is this the correct way to handle this?

mukhsim’s picture

#2 attached as a patch file.

Heine’s picture

Status:Postponed (maintainer needs more info)» Needs review

  • R.Muilwijk committed 2f18294 on 7.x-1.x
    Issue #1993780 by mukhsim: Page cache not clearing on node save
    
R.Muilwijk’s picture

Status:Needs review» Fixed

Committed to dev.

Status:Fixed» Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.