Page MenuHomePhabricator

Make sure GrowthExperiments task suggester cache does not store outdated configuration
Open, Needs TriagePublic

Description

CacheDecorator caches the whole TaskSet, which includes TaskType objects, up to a week. Changing task configuration should update all TaskType objects everywhere in the system.

Two possible approaches to fix that:

  • have ConfigurationLoader provide a config version (e.g. the page revision ID, or just a hash) which is included in the cache key
  • hydrate/dehydrate Task objects when caching, and instead of storing their TaskType objects fetch them from the live configuration

The latter is marginally more effort but seems like a nicer approach.