boost_cache_expire_router() if the page ID was not set in the database, (due to old versions of the database) the entire cache can get nuked.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

mikeytown2’s picture

Status: Active » Needs review
FileSize
1.69 KB

Problem that I encountered can be traced to boost_cache_expire_by_db() function. It assumes that the correct data in the database will be there; this just bit me due to an old version (1.0beta2) being upgraded to 1.14 and pressing the flush page button on a node. All nodes of that type got flushed. I should probably create a lookup function to get the ID of nodes and taxonomy based on the old version and place it in the boost_update_6103() function. Add in the base path as well.

Anyway this patch fixes the root cause; it makes sure all 3 fields in the database is set before doing a search and destroy on it.

mikeytown2’s picture

To go along with the if have an else that kills the file directly since it should be expired. That way the original request for that page to be flushed is done even if it can't find the related pages due to incomplete info in the database.

mikeytown2’s picture

FileSize
1.97 KB
mikeytown2’s picture

FileSize
2.24 KB

More reworking for boost to be able to flush when its an old version of the database or even no database.

mikeytown2’s picture

FileSize
10.09 KB

Decided to clean up else where as well

mikeytown2’s picture

Status: Needs review » Fixed

committed with some changes in comparison to the above patch

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.