- Issue created by @bbrala
- π¦πΊAustralia larowlan π¦πΊπ.au GMT+10
bbrala β credited larowlan β .
- π³π±Netherlands bbrala Netherlands
Adding credits to people who investigated this, casey as colleague and people from π ResourceObjectNormalizer::getNormalization can result in max-age drift when different sets of fields are requested Active .
- π³π±Netherlands casey
Quick patch that synchronizes the max age of cached date with the current time if the cached item has an expire set.
- Merge request !8111Issue #3439909 by SolimanHarkas, vensires: Fix Taxonomy tests that rely on... β (Open) created by bbrala
- π³π±Netherlands bbrala Netherlands
Opened a MR against 11.x with the patch.
- π³π±Netherlands bbrala Netherlands
Adjusted logic to max-age properly, jsonapi tests are now green again.
The unittest failure makes sense since we need to return a
RefinableCalculatedPermissions
in some cases to adjust max-age. Need to zoom into that if we need it, or when this could happen.core/tests/Drupal/FunctionalTests/Installer/InstallerTranslationExistingFileTest.php
That one is a little weird. Why is 403's, dunno. Could be related to the changes in the AccessPolicy. - ππΊHungary mxr576 Hungary
Yey, another caching issue where we can collaborate @bbrala! ;)
I guess the patch is irrelevant anymore, the latest state in the MR.
- π³π±Netherlands bbrala Netherlands
If you could review the child for jsonapi that would be awesome, then we can 0erhaps start with precedence.
This issue will get blocked on the same stuff as https://www.drupal.org/project/drupal/issues/2352009 π [pp-3] Bubbling of elements' max-age to the page's headers and the page cache Postponed i think. Some parts of core do not use max age properly which would mean Lots of breakage in cacheability and that will break sites as catch mentions in that issue.
Even though caching is broken sometimes right now :x
- ππΊHungary mxr576 Hungary
If you could review the child for jsonapi that would be awesome,
JSONAPI tests... again... noooo :) on it
- π³π±Netherlands bbrala Netherlands
- π§πͺBelgium wim leers Ghent π§πͺπͺπΊ
Wow! Found this thanks to π ResourceObjectNormalizer::getNormalization can result in max-age drift when different sets of fields are requested Active .
Looks like the entire "D8 cacheability" effort back in 2013β2015 overlooked this general problem! π¬
- π³π±Netherlands bbrala Netherlands
Hehe yeah, let's make exceptional caching into super exceptional caching haha
- πΊπΈUnited States clayfreeman Paragould, AR
We are running into this issue, specifically with the render cache causing an incorrect max age to be bubbled in the following scenario:
- The Dynamic Page Cache is enabled.
- A node page is loaded which has a max age set so that it expires in, e.g., 1 hour.
- The response in the Dynamic Page Cache is evicted/expired/invalidated while the render cache for the node is still valid.
- The node page is loaded again, and the render cache is used, causing the cache item's original max age to be bubbled up to DPC.
- The DPC now serves a stale version of the node page for some time after the render cache item's intended expiration.
Adjusting the max age of the render cache item as done in the MR seems to resolve the issue, allowing the DPC to cache responses for the appropriate amount of time.
- πΊπΈUnited States clayfreeman Paragould, AR
It may be worthwhile discussing whether to split the access policy processor fix into its own issue; it doesn't necessarily meet the requirements for a "Major" issue in my opinion, so it probably shouldn't hold up progress on the other fixes in this issue.