[TYPO3-core] RFC: Fix bug #5152: "Duplicate entry" in cache_pagesection when using frames

Michael Stucki michael at typo3.org
Sun Feb 3 17:26:06 CET 2008


This is a SVN patch request.

Problem:
There's a famous "duplicate error" which appears under various
circumstances. See bug reference for details.

Solution:
Actually has been an attempt to cleanup the cache access and also make it
easier to understand. The solution is of the problem above was just a
side-effect of it.

Still, it is theoretically possible that the problem still occurs if two
similar requests are too short after each other, but I think chances are
very rare for this to happen...

Branches:
Trunk only

Bugtracker reference:
http://bugs.typo3.org/view.php?id=5152

Comments:
$TSFE->all: This array is stored in cache_pagesection. It consists of 4
elements:
- all (array with all sections/conditions in this template)
- match (all conditions that matched the current client)
- rootLine ($TSFE->rootLine)
- rowSum (list of all templates for this page)

More notes:
- Since "match" is always dynamic, it must never be cached (except for
  cache_hash, which contains the parsed setup that matches these conditions)
- "rootLine" and "rowSum" are both used to detect if this record is still
  valid, or if it needs to be rebuilt/updated.
- It is important that the array is always sorted by its keys, therefore
  ksort() is called after every write operation.


I look forward to get this into Trunk today, so it can be tested in Beta
and, if it doesn't work well, be optimized later.

- michael
-- 
Use a newsreader! Check out
http://typo3.org/community/mailing-lists/use-a-news-reader/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bug_5152_v5.diff
Type: text/x-diff
Size: 8782 bytes
Desc: not available
Url : http://lists.netfielders.de/pipermail/typo3-team-core/attachments/20080203/3ff71185/attachment.diff 


More information about the TYPO3-team-core mailing list