This was first raised in a critical issue.

#1965074: Add cache wrapper to the UrlGenerator

When a module in uninstalled cache entries with a no expiry date become junk.

I would like there to be a backstop "Grim Reapear" mechanism that eventually comes along and ensures this stale data is removed.

The simplest way is a mandated fallback to a long but finite TTL for all entries.

Here are Catch's initial thoughts :-
https://www.drupal.org/node/1965074#comment-9391333

For this I think we should move away from a permanent cache entry and instead use a long TTL - could default to one month and make it configurable (either by service override or in settings). Just means that backends like the database that never evict can eventually clear out old items.

Comments

Crell’s picture

Moving to a "long but non-permanent" time for cache entries sounds like the best solution to me, too. It's very simple to implement and has the desired effect.

There may be a few system-level caches that we still want for-reals permanent, but we can sort that out case by case. Any module-based cache bin/item should be able to rebuild occasionally without taking the site down. :-)

berdir’s picture

I'm confused by this issue, we already changed ModuleInstaller::uninstall() to loop over all cache bins and delete everything.

martin107’s picture

Status: Active » Closed (works as designed)

Ah Thanks, for the information.... this is a non issue then