[BUGFIX] Ensure correct page-section cache identifier calculation
Way back until early stage of v11 development the page section cache entry included only the rootline of the default language for the page. This changed with #23736, when language loading has been moved more forward to allow language based matching in TypoScript. However, the used identifier for the section cache did not include the language in any kind. Thus making the rootLine flipping in the cache, and getting eventually a cache entry with the wrong rootLine set. This also leads to a flipping identifier for the page content cache identifier `newHash`. This leads to the reported behaviour of regulary ignoring the cache and rebuilding the page, also it should not have been necessary. This change extend the page-section cache identifier with the language id. This means, that we now have one cache entry per language, instead of a generic one as in the good old days. Back than, one entry was enough as it has always included only the default language rootline. Better having dedicated cache entries per language than a on-going rebuild of the cache which can take complete down in a really bad way. To avoid changing method signatures, the already existing context is used in TemplateService to properly calculate the cache identifier with the language id included. Resolves: #98126 Related: #23736 Releases: 11.5 Change-Id: Ice4b3b77bd5dd4acc3bdb054dcd05e1a065a2b2a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/76302 Tested-by:Meelis Karulin <mkarulin@icloud.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Sybille Peters <sypets@gmx.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Joey Bouten <joey.bouten@beech.it>
Please register or sign in to comment