It appears that cache_clear_all is ignoring the "expire" column, as cache_get only inspects the $cache->created field. This means that system_cron would also be "clearing" cache_form (along with cache, cache_block, cache_filter, cache_page, and cache_menu), regardless of the 'expire' column. Is this expected behavior?

I only saw this behavior with v1.7. I used to be running v1.5 and did not notice this issue (a side effect was that multi-step forms were failing whenever system_cron was run). I tried digging around in the v1.5 code and didn't find any mention of $cache->expired either, so I'm not sure what code was introduced in 1.7 (or 1.6) that causes this behavior.

Comments

bleen’s picture

SUBSCRIBING LOUDLY ....

This could certainly explain the issue I have been having: #962578: If cron runs while a form with an imagefield is open, error: "... This form was missing from the server cache..." on img upload

If the cron runs while one of my users is using the node edit form then it is likely that they would see this error.

bleen’s picture

geerlingguy’s picture

Subscribe.

catch’s picture

Status: Active » Closed (duplicate)

There's a patch for this at #958930: Performance of 6.x-1.7 still degraded compared to 6.x-1.5, while that issue is broader, marking this as duplicate to focus efforts in one place.