Magento – Why is the full page cache disabling block cache

block-cachecachefull-page-cachemagento-enterprise

I have a static part which is included on every page (navigation), but takes long to generate. That is why I have set a cache lifetime and a static cache key.

Works fine, until FPC is enabled. Then the block is still generated again for a newly called page and not served from the block cache.

There is this line in Enterprise_PageCache_Model_Observer:

Mage::app()
    ->getCacheInstance()
    ->banUse(Mage_Core_Block_Abstract::CACHE_GROUP); // disable blocks cache

What is the reason for this? It makes sense to me to still cache certain blocks, even if FPC is on – because otherwise generation of pages which are not fully served from the cache are slowed down.

  1. What is the design decission behind that?
  2. What is a good solution around that?
  3. Would it be harmful if I just remove this block cache banning?

Best Answer

This bug has been fixed in Magento 1.14.2.0. (ref http://merch.docs.magento.com/ee/user_guide/magento/release-notes-ee-1.14.2.html under Known Issues)