The class does multiple cache sets with array('field_info' => TRUE), but that should just be array('field_info'). Somehow this causes those cache entries to never be valid, so there are no cache hits and the information is rebuild every time it is requested.
Discovered in #1810178: field_info_extra_fields() is not language-aware, may return wrong values.
We have written multiple tests already recently that use a new memory counter backend to check the set/get calls within a test. We could do the same here. See #1969814: system_list() does a cache call on every function call, for example. Although I'm not sure if the memory backend behaves the same way as the database... but that would be a bug there, in either of those backends.
| Comment | File | Size | Author |
|---|---|---|---|
| #3 | 1971418-3.patch | 2.75 KB | swentel |
Comments
Comment #1
swentel commentedTagging - will have a look at this evening - unless someone beats me to it.
Comment #2
swentel commentedWill look at it this evening, unless someone beats me to it.
Comment #3
swentel commentedChanges only in the class, the thing is, I don't see any differences - looking at devel query log now on /node - not exactly sure what I miss. Need to work now, will check again this evening.
Comment #4
swentel commentedUnassinging for now
Comment #5
berdirLooks like was bogus, it's actually working as designed as the page always clears the cache.