Uploaded image for project: 'eZ Publish / Platform'
  1. eZ Publish / Platform
  2. EZP-25696

HTTP cache multi-tagging



    • HttpCache multi-tagging


      Goal: Make it safe to have long TTL on Http Cache responses for higher performance, and allow grace handling for more stable performance.

      This epic aims to solve that by getting rid of some of the limitations of current HttpCache implementation:

      • No response cache multi tagging to be able to clear reliably on exact info ("content-type-5", content within tree of "path-44", "section-3"), making us forced to have short TTL currently too avoid to much of edge cases issues to surface.
      • Usage of BAN disallows grace use in Varnish, leading to cache stamped effect and lowered performance

      Technically this has an effect on several connected systems, incomplete list:

      • Change Http Cache:
        • Change to LocationAwareCacheStore to allow multi tagging when using Symfony builtin HttpCache proxy
        • Change to allow use of Varnsh mod xkey which allows soft purge on tag
        • Change to use a header that support multiple tags: Could use xkey by default
      • Change to Smart Cache Clearing system to not have to load content on cache clear:
        • On cache header generation we can have event to generate tags. this can optionally load content/*
        • On cache clear event will need to generate tags to clear based on info provided (gotten from signals)
      • Change signal slots:
        • Expand Signals to contain info we need, for instance locations of a content on content delete, so we know which trees are affected




            Unassigned Unassigned
            bertrand.dunogier@ibexa.co Bertrand Dunogier
            1 Vote for this issue
            5 Start watching this issue