[BUGFIX] getTreeList inserts duplicate keys in cache_treelist 27/59127/6
authorAlexander Schnitzler <git@alexanderschnitzler.de>
Wed, 12 Dec 2018 21:53:07 +0000 (22:53 +0100)
committerBenni Mack <benni@typo3.org>
Thu, 13 Dec 2018 17:55:06 +0000 (18:55 +0100)
commit190654d81ed56fdfdc2795ed6d0a73c58eebc91d
tree5668176bad0d35cf6752c693470086b07be7ceef
parentce16a8de9000308ff0c8f3a5eefe5d77d31d178b
[BUGFIX] getTreeList inserts duplicate keys in cache_treelist

Unfortunately https://review.typo3.org/58951/ did not actually
solve issues #86028 and #86491 for good.

There are two issues concerning the former approach:

1) The expiration time of all created caches was 0, which resulted
   in a permanent creation and deletion of cache entries. This
   behaviour cannot be called caching.

2) Number 1) increases the chance for race conditions where several
   parallel requests tried to create the same cache entry.

To fix this, the check for an existing cache entry will be reverted
to behave like before the regression, i.e. cache entries with an
expiration timestamp of 0 are considered valid again.

Also, new caches are created within a transaction, which prevents
duplicate key errors.

Releases: master, 8.7
Resolves: #87139
Change-Id: If9470f6e0f875c0ec4fe3c092c9bd0dfc059de2d
Reviewed-on: https://review.typo3.org/59127
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Benni Mack <benni@typo3.org>
typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php