View Issue Details

IDProjectCategoryView StatusLast Update
0006349OXID eShop (all versions)4.08. Cachepublic2024-03-06 14:02
Reporterkeywan.ghadami Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version4.9.7 / 5.2.7 
Fixed in Version6.0.0-beta.1 
Summary0006349: Shop may flag output as cachable even if controller detected errors during rendering
DescriptionCurrent situation is that cache headers are send before view is rendered.
But in some situation the controller will only be able to tell if content is cacheable(and how long) after the content was generated. So Cache headers , and cachekeys (e.g. oxenvkey cookie) must be evaluated after rendering.
Steps To Reproduce- enable reverse proxy caching with an valid licence key with high performance option
- debug and set breakpoints in a controller in methods
 - render
 - isCacheable
 - getCacheLifeTime
- manipulate headers send by your browser to fake varnish ESI support
- open the browser and trigger that controller by using the cl parameter

you will see isCacheable getCacheLifeTime are called before the render method was executed
Additional InformationI am going to patch the core file in the current affected project and will provide pull requests.
TagsPerformance and Caching Rework
ThemeNot defined
BrowserNot defined
PHP VersionNot defined
Database VersionNot defined

Activities

SvenBrunk

2024-03-06 14:02

administrator   ~0016376

This was merged to 6.0.0.beta.1

For the future, we plan to add some kind of header manager to make it easier to control what headers are sent.