Magento – Magento Full Page Cahe expire after catalog modification

ee-1.13enterprise-1.13full-page-cachemagento-enterprise

After using EE 1.12 for a while I migrate to EE 1.13.1, using the default new backend Mage_Cache_Backend_File.

After a new order or a catalog modification, the whole FPC expire completely (all categories and products).

I understand that after an order or catalog modification the related product and categories's cache should be refresh or invalidated, but not the entire FPC.

Any idea what i'm doing wrong?

Thanks

UPDATE

Looking in Enterprise/PageCache/etc/config.xml

The adminhtml event "catalogrule_after_apply" trigger "cleanCache()" which delete my FPC. By removing this event my FPC is not deleted after I update a product from the admin. Only the corresponding cache are correctly deleted.

Still have the issue, for new order that invalidate my whole FPC.

Best Answer

I assume the clearing happens when an order is placed because the inventroy is updated.

If you look at the config.xml for enterprise_pagecache you will see the following.

<cataloginventory_stock_full_reindex>
    <observers>
        <enterprise_pagecache>
            <class>enterprise_pagecache/observer_index</class>
            <method>invalidateCacheAfterFullReindex</method>
        </enterprise_pagecache>
    </observers>
</cataloginventory_stock_full_reindex>

It would appear that when the stock is updated after an order the the over ridding of the indexer for enterprise takes over.

<index>
    <indexer>
        <cataloginventory_stock>
            <model>enterprise_cataloginventory/index_dummy</model>
            <action_model>
                <changelog>enterprise_cataloginventory/index_action_refresh_changelog</changelog>
                <all>enterprise_cataloginventory/index_action_refresh</all>
            </action_model>
            <index_table>cataloginventory_stock_status</index_table>
            <sort_order>30</sort_order>
        </cataloginventory_stock>
    </indexer>
</index>

It looks like the event and method that actually call the reindex processes and this the cache clearing is sales_model_service_quote_submit_success -> reindexQuoteInventory

Related Topic