Project

General

Profile

Actions

Bug #54728

closed

Task #49162: Rewrite install tool

Fake cache entry is never removed from cache array in CacheManager

Added by Stefano Kowalke almost 11 years ago. Updated almost 10 years ago.

Status:
Rejected
Priority:
Should have
Assignee:
-
Category:
Caching
Target version:
Start date:
2014-01-03
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
6.2
PHP Version:
5.4
Tags:
Complexity:
Is Regression:
No
Sprint Focus:

Description

In

typo3/sysext/install/Classes/Service/SqlExpectedSchemaService.php the method getCachingFrameworkRequiredDatabaseSchema()
creates a fake cache identifier and add it to the cache array in of the cacheManager. This leads to a cache entry like cf_extbase_object52c595582cc57. Later same method replaces this entry with the actual tables and pass this new cache settings to the setCacheConfigurations() of the CacheManager.

Unfortunately this doesn't remove the fake entry from the cache arrays ($caches and $cacheConfigurations) of the CacheManager. At the end TYPO3 holds a fake cache in memory which it tries to delete when typo3/sysext/extensionmanager/Classes/Utility/InstallUtility.php flushes the caches in method install().

In fact it tries to truncate the db table cf_extbase_object52c595582cc57 which doesn't exists. The error didn't raised an error because the mysqli query function just returns a "FALSE" which is not evaluated in typo3/sysext/core/Classes/Cache/Backend/Typo3DatabaseBackend.php within flush().

I came across the error while I create a ext:dbal like extension but using Doctrine. Doctrine throws an exception due the missing table.

I discussed this topic with Ernesto and we committed to introduce a removeCache() function into the CacheManager.

Actions #1

Updated by Gerrit Code Review almost 11 years ago

  • Status changed from New to Under Review

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/26627

Actions #2

Updated by Ernesto Baschny almost 11 years ago

Note that this solution is just a remedy fix until no better solution is found to circumnvent the need to create this extbase_object fake caching configuration to start with.

Actions #3

Updated by Christian Kuhn almost 11 years ago

  • Parent task set to #49162
Actions #4

Updated by Christian Kuhn almost 10 years ago

  • Status changed from Under Review to Rejected

Fix is to get this hack in install tool right, not to add an API method to CacheManager. The patch of this issue was rejected and this issue will be closed for now.

Actions

Also available in: Atom PDF