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

Cached ESI can not be shared across pages/siteaccesses due to "pathinfo" property

    Details

      Description

      Currently, when trying to put an ESI block in cache, the block's resulting fragment URI will contain a "pathinfo" property with siteaccess-specific info, effectively preventing the cache to be shared across siteaccesses. This only happens when using the URIElement matcher, there are no problems when using a hostname matcher.

      Please provide a suitable solution to deal with this.

      Edit: also sharing across pages is imposssible

        Issue Links

          Activity

          Nuno Oliveira (Inactive) created issue -
          Nuno Oliveira (Inactive) made changes -
          Field Original Value New Value
          Status Open [ 1 ] Confirmed [ 10037 ]
          Nuno Oliveira (Inactive) made changes -
          Description Currently, when trying to put an ESI block in cache, the block's resulting fragment URI will contain a "pathinfo" property with a siteaccess-specific info, preventing the cache to be shared across siteaccesses. This only happens when using the URIElement matcher, there are no problems when using a hostname matcher.

          Please provide a suitable solution to deal with this.
          Currently, when trying to put an ESI block in cache, the block's resulting fragment URI will contain a "pathinfo" property with siteaccess-specific info, effectively preventing the cache to be shared across siteaccesses. This only happens when using the URIElement matcher, there are no problems when using a hostname matcher.

          Please provide a suitable solution to deal with this.
          Paul Borgermans (Inactive) made changes -
          Summary Cached ESI can not be shared across siteaccesses due to "pathinfo" property Cached ESI can not be shared across pages/siteaccesses due to "pathinfo" property
          Paul Borgermans (Inactive) made changes -
          Affects Version/s 5.3.3 [ 13484 ]
          Description Currently, when trying to put an ESI block in cache, the block's resulting fragment URI will contain a "pathinfo" property with siteaccess-specific info, effectively preventing the cache to be shared across siteaccesses. This only happens when using the URIElement matcher, there are no problems when using a hostname matcher.

          Please provide a suitable solution to deal with this.
          Currently, when trying to put an ESI block in cache, the block's resulting fragment URI will contain a "pathinfo" property with siteaccess-specific info, effectively preventing the cache to be shared across siteaccesses. This only happens when using the URIElement matcher, there are no problems when using a hostname matcher.

          Please provide a suitable solution to deal with this.

          Edit: also sharing across pages is imposssible
          Hide
          Nuno Oliveira (Inactive) added a comment - - edited

          @Paul:

          My tests on 5.3.3 reveal that you get different fragment URIs for different pages ONLY if you call the pages after you specify a siteaccess. So, if I call:

          http://53ezdemo.com/13011/page1/

          ...and:

          http://53ezdemo.com/13011/page2/

          I'll get the same fragment URI. However, if I call:

          http://53ezdemo.com/eng/13011/page1/

          ...and:

          http://53ezdemo.com/eng/13011/page2/

          I'll get different fragment URIs. So, this could be considered an extension of what was reported originally here, and therefore treated as an enhancement, or as a new bug altogether, pretty much like EZP-21695. What do you think?

          Show
          Nuno Oliveira (Inactive) added a comment - - edited @Paul: My tests on 5.3.3 reveal that you get different fragment URIs for different pages ONLY if you call the pages after you specify a siteaccess. So, if I call: http://53ezdemo.com/13011/page1/ ...and: http://53ezdemo.com/13011/page2/ I'll get the same fragment URI. However, if I call: http://53ezdemo.com/eng/13011/page1/ ...and: http://53ezdemo.com/eng/13011/page2/ I'll get different fragment URIs. So, this could be considered an extension of what was reported originally here, and therefore treated as an enhancement, or as a new bug altogether, pretty much like EZP-21695 . What do you think?
          Joao Inacio (Inactive) made changes -
          Link This issue relates to EZP-21695 [ EZP-21695 ]
          Paulo Lopes (Inactive) made changes -
          Issue Type Improvement [ 4 ] Bug [ 1 ]
          Paulo Lopes (Inactive) made changes -
          Status Confirmed [ 10037 ] InputQ [ 10001 ]
          Hide
          Paulo Lopes (Inactive) added a comment - - edited

          Might be related to EZP-23834 also?

          Show
          Paulo Lopes (Inactive) added a comment - - edited Might be related to EZP-23834 also?
          Paulo Lopes (Inactive) made changes -
          Link This issue relates to EZP-23834 [ EZP-23834 ]
          Paulo Lopes (Inactive) made changes -
          Link This issue relates to EZP-23834 [ EZP-23834 ]
          Jérôme Vieilledent (Inactive) made changes -
          Link This issue relates to EZP-23834 [ EZP-23834 ]
          Hide
          Jérôme Vieilledent (Inactive) added a comment -

          Hi

          Using URIElement, pathinfo property is mandatory to be able to build correct links within ESI calls. This is inherent to URI siteaccess matching.

          Show
          Jérôme Vieilledent (Inactive) added a comment - Hi Using URIElement, pathinfo property is mandatory to be able to build correct links within ESI calls. This is inherent to URI siteaccess matching.
          Hide
          Jérôme Vieilledent (Inactive) added a comment -

          Hi

          Sharing ESIs across siteaccesses is not possible by design since HTTP cache always rely on URI for a given host. When rendering an ESI tag, the current SiteAccess must be serialized with its matcher, in order to be able to recompute links within this ESI call. Matchers indeed contain too much information, like pathinfo which prevents ESIs to be shared among different pages (within the same SiteAccess).
          If you use siteaccesses, you more than likely have different settings (e.g. languages), which makes it share completely unpredictable. Moreover, sharing ESIs across different siteaccesses would be a nightmare when it comes to cache invalidation.

          In short, I admit that there is an issue with ESI sharing across pages and inside the same SiteAccess (see EZP-23834 to follow this issue), but not with sharing across different SiteAccesses for the reasons explained above.

          Thanks.

          Show
          Jérôme Vieilledent (Inactive) added a comment - Hi Sharing ESIs across siteaccesses is not possible by design since HTTP cache always rely on URI for a given host. When rendering an ESI tag, the current SiteAccess must be serialized with its matcher, in order to be able to recompute links within this ESI call. Matchers indeed contain too much information, like pathinfo which prevents ESIs to be shared among different pages (within the same SiteAccess). If you use siteaccesses, you more than likely have different settings (e.g. languages), which makes it share completely unpredictable. Moreover, sharing ESIs across different siteaccesses would be a nightmare when it comes to cache invalidation. In short, I admit that there is an issue with ESI sharing across pages and inside the same SiteAccess (see EZP-23834 to follow this issue), but not with sharing across different SiteAccesses for the reasons explained above. Thanks.
          Jérôme Vieilledent (Inactive) made changes -
          Status InputQ [ 10001 ] Development [ 3 ]
          Assignee Jérôme Vieilledent [ jerome.vieilledent@ez.no ]
          Hide
          Jérôme Vieilledent (Inactive) added a comment -

          Doc issue: limitation described above needs to be documented.

          Show
          Jérôme Vieilledent (Inactive) added a comment - Doc issue: limitation described above needs to be documented.
          Jérôme Vieilledent (Inactive) made changes -
          Status Development [ 3 ] Development Acceptance Done [ 10030 ]
          Yannick Roger (Inactive) made changes -
          Component/s Documentation [ 10793 ]
          Yannick Roger (Inactive) made changes -
          Assignee Jérôme Vieilledent [ jerome.vieilledent@ez.no ] Sarah Haïm-Lubczanski [ sarah.haim-lubczanski@ez.no ]
          Sarah Haïm-Lubczanski (Inactive) made changes -
          Status Development Acceptance Done [ 10030 ] Documentation [ 10010 ]
          Sarah Haïm-Lubczanski (Inactive) logged work - 19/Jan/15 4:37 PM
          • Time Spent:
            30 minutes
             
            <No comment>
          Sarah Haïm-Lubczanski (Inactive) made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 14707 ]
          Show
          Sarah Haïm-Lubczanski (Inactive) added a comment - Added a note on the page : https://doc.ez.no/display/EZP/Context+aware+HTTP+cache#ContextawareHTTPcache-Feature
          Sarah Haïm-Lubczanski (Inactive) made changes -
          Remaining Estimate 0 minutes [ 0 ]
          Time Spent 30 minutes [ 1800 ]
          Worklog Id 52679 [ 52679 ]
          Sarah Haïm-Lubczanski (Inactive) made changes -
          Status Documentation [ 10010 ] Documentation done [ 10011 ]
          Paulo Silva (Inactive) made changes -
          Status Documentation done [ 10011 ] QA [ 10008 ]
          Assignee Sarah Haïm-Lubczanski [ sarah.haim-lubczanski@ez.no ] Paulo Silva [ paulo.silva@ez.no ]
          Hide
          Paulo Silva (Inactive) added a comment -

          QA Approved

          Show
          Paulo Silva (Inactive) added a comment - QA Approved
          Paulo Silva (Inactive) made changes -
          Assignee Paulo Silva [ paulo.silva@ez.no ]
          Status QA [ 10008 ] Closed [ 6 ]
          Resolution Fixed [ 1 ]
          André Rømcke made changes -
          Workflow eZ Engineering Scrumban Workflow [ 62501 ] EZ* Development Workflow [ 84875 ]
          Maik Seyring made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15650 ]
          Maik Seyring made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15650 ] This issue links to "Page (eZ Documentation)" [ 15650 ]
          Maik Seyring made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15689 ]
          Maik Seyring made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15689 ] This issue links to "Page (eZ Documentation)" [ 15689 ]
          André Rømcke made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 14707 ] This issue links to "Page (eZ Documentation)" [ 14707 ]
          André Rømcke made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 14707 ] This issue links to "Page (eZ Documentation)" [ 14707 ]
          André Rømcke made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 14707 ] This issue links to "Page (eZ Documentation)" [ 14707 ]
          André Rømcke made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 14707 ] This issue links to "Page (eZ Documentation)" [ 14707 ]
          Jérôme Vieilledent (Inactive) made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 14707 ] This issue links to "Page (eZ Documentation)" [ 14707 ]
          Maik Seyring made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15937 ]
          Maik Seyring made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15937 ] This issue links to "Page (eZ Documentation)" [ 15937 ]
          André Rømcke made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15937 ] This issue links to "Page (eZ Documentation)" [ 15937 ]
          André Rømcke made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15937 ] This issue links to "Page (eZ Documentation)" [ 15937 ]
          André Rømcke made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15937 ] This issue links to "Page (eZ Documentation)" [ 15937 ]
          André Rømcke made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15937 ] This issue links to "Page (eZ Documentation)" [ 15937 ]
          André Rømcke made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15937 ] This issue links to "Page (eZ Documentation)" [ 15937 ]
          André Rømcke made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15937 ] This issue links to "Page (eZ Documentation)" [ 15937 ]
          André Rømcke made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15937 ] This issue links to "Page (eZ Documentation)" [ 15937 ]
          André Rømcke made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15937 ] This issue links to "Page (eZ Documentation)" [ 15937 ]
          André Rømcke made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15937 ] This issue links to "Page (eZ Documentation)" [ 15937 ]
          André Rømcke made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15937 ] This issue links to "Page (eZ Documentation)" [ 15937 ]
          André Rømcke made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15937 ] This issue links to "Page (eZ Documentation)" [ 15937 ]
          André Rømcke made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15937 ] This issue links to "Page (eZ Documentation)" [ 15937 ]
          André Rømcke made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15937 ] This issue links to "Page (eZ Documentation)" [ 15937 ]
          André Rømcke made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15937 ] This issue links to "Page (eZ Documentation)" [ 15937 ]
          André Rømcke made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15937 ] This issue links to "Page (eZ Documentation)" [ 15937 ]
          Dominika Kurek made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15937 ] This issue links to "Page (eZ Documentation)" [ 15937 ]
          André Rømcke made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15937 ] This issue links to "Page (eZ Documentation)" [ 15937 ]
          Dominika Kurek made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 15937 ] This issue links to "Page (eZ Documentation)" [ 15937 ]
          Dominika Kurek made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 16414 ]
          Dominika Kurek made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 16414 ] This issue links to "Page (eZ Documentation)" [ 16414 ]
          Sarah Haïm-Lubczanski (Inactive) made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 16414 ] This issue links to "Page (eZ Documentation)" [ 16414 ]
          Sarah Haïm-Lubczanski (Inactive) made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 16414 ] This issue links to "Page (eZ Documentation)" [ 16414 ]
          Sarah Haïm-Lubczanski (Inactive) made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 16414 ] This issue links to "Page (eZ Documentation)" [ 16414 ]
          Sarah Haïm-Lubczanski (Inactive) made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 16515 ]
          Dominika Kurek made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 16515 ] This issue links to "Page (eZ Documentation)" [ 16515 ]
          Dominika Kurek made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 16515 ] This issue links to "Page (eZ Documentation)" [ 16515 ]
          Dominika Kurek made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 16515 ] This issue links to "Page (eZ Documentation)" [ 16515 ]
          Dominika Kurek made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 16515 ] This issue links to "Page (eZ Documentation)" [ 16515 ]
          Dominika Kurek made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 16515 ] This issue links to "Page (eZ Documentation)" [ 16515 ]
          Dominika Kurek made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 16515 ] This issue links to "Page (eZ Documentation)" [ 16515 ]
          Dominika Kurek made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 16515 ] This issue links to "Page (eZ Documentation)" [ 16515 ]
          Dominika Kurek made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 14707 ] This issue links to "Page (eZ Documentation)" [ 14707 ]
          Dominika Kurek made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 14707 ] This issue links to "Page (eZ Documentation)" [ 14707 ]
          Dominika Kurek made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 16515 ] This issue links to "Page (eZ Documentation)" [ 16515 ]
          Dominika Kurek made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 14707 ] This issue links to "Page (eZ Documentation)" [ 14707 ]
          Dominika Kurek made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 16515 ] This issue links to "Page (eZ Documentation)" [ 16515 ]
          André Rømcke made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 16515 ] This issue links to "Page (eZ Documentation)" [ 16515 ]
          André Rømcke made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 16515 ] This issue links to "Page (eZ Documentation)" [ 16515 ]
          André Rømcke made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 16515 ] This issue links to "Page (eZ Documentation)" [ 16515 ]
          Dominika Kurek made changes -
          Remote Link This issue links to "Page (eZ Documentation)" [ 16515 ] This issue links to "Page (eZ Documentation)" [ 16515 ]
          Alex Schuster made changes -
          Workflow EZ* Development Workflow [ 84875 ] EZEE Development Workflow [ 123581 ]
          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open Confirmed Confirmed
          9s 1 nuno.oliveira@ez.no 27/Mar/14 7:19 PM
          Confirmed Confirmed InputQ InputQ
          287d 16h 56m 1 Paulo Lopes (Inactive) 09/Jan/15 12:15 PM
          InputQ InputQ Development Development
          6d 2h 26m 1 jerome.vieilledent@ez.no 15/Jan/15 2:42 PM
          Development Development Removed Status Removed Status
          34s 1 jerome.vieilledent@ez.no 15/Jan/15 2:42 PM
          Removed Status Removed Status Documentation Documentation
          3d 20h 29m 1 sarah.haim-lubczanski@ez.no 19/Jan/15 11:12 AM
          Documentation Documentation Documentation Review done Documentation Review done
          5h 25m 1 sarah.haim-lubczanski@ez.no 19/Jan/15 4:37 PM
          Documentation Review done Documentation Review done QA QA
          1d 29m 1 paulo.silva@ez.no 20/Jan/15 5:07 PM
          QA QA Closed Closed
          1d 19h 6m 1 paulo.silva@ez.no 22/Jan/15 12:13 PM

            People

            • Assignee:
              Unassigned
              Reporter:
              Nuno Oliveira (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 30 minutes
                30m