#24189 closed defect (bug) (fixed)
{$taxonomy}_relationships cache can easily become stale when a term is updated.
Reported by: | westi | Owned by: | |
---|---|---|---|
Milestone: | 3.9 | Priority: | normal |
Severity: | major | Version: | 3.6 |
Component: | Taxonomy | Keywords: | has-patch 3.7-early |
Focuses: | Cc: |
Description
The {$taxonomy}_relationships
cache stores the information about the terms associated with an object for a particular taxonomy.
If you update the term then we don't invalidate the cache and therefore a call to something like: get_the_terms()
will return invalid data.
An example set of steps to reproduce (needs some form of persistent caching like memcache):
1) Create a new tag and assign it to a post
2) Use get_the_terms()
3) Edit the tag to change the description
4) Use get_the_terms() and find the old description is returned.
Very easy to reproduce in a unit-test.
Re-constituting the relationships cache for every object that is related to the term is probably going to be very expensive.
Maybe we should just switch to only caching IDs and then populating the term data from a different cache?
Added a test in [1272/tests]