Feature #3649

Caches should be flushed on package version number changes

Added by Robert Lemke about 6 years ago. Updated almost 5 years ago.

Status:Resolved Start date:2009-06-12
Priority:Must have Due date:
Assigned To:Robert Lemke % Done:

100%

Category:Cache
Target version:TYPO3 Flow Base Distribution - 1.0 alpha 2
PHP Version: Complexity:
Has patch:

Description

Usually when upgrading from one FLOW3 version to another the user will experience a PHP fatal error because some interfaces (or other code parts) changed which are not compatible with cached code (eg. the AOP proxy classes). Therefore we need a new cache which stores information about all active packages - as a start that could be simply the version number or even a hash of all version numbers. On initializing the cache framework, this information should be compared with the actual values and if they don't match all caches should be flushed.


Related issues

related to TYPO3.Flow - Feature #3581: Site lock / code cache flushing mechanism Resolved 2009-06-05
related to TYPO3.Flow - Bug #3240: AOP cache is not emptied if class file is deleted Resolved 2009-05-07

Associated revisions

Revision 44ad6e9b
Added by Robert Lemke about 6 years ago

  • [+FEAT] FLOW3 (Utility): The Files::readDirectoryRecursively() function now supports an optional $suffix parameter which allows for filtering the list of files by a given extension.
  • [+FEAT] FLOW3 (Monitor): The File Monitor now supports monitoring of directories. Once a directory is monitored, any change of files or directories within the directory (recursively) will emit a respective signal. Resolves #3736
  • [FIX] FLOW3 (Monitor): Deleted and newly created files are now properly detected by the File Monitor after monitoring of whole directories has been introduced. Resolves #3240
  • [+FEAT] FLOW3 (Core): FLOW3 will now check and cache its own revision. If the revision changes (due to an upgrade or update from Subversion), all registered caches are flushed automatically. This prevents PHP errors due to non backwards compatible cache structures in newer versions of FLOW3. Resolves #3649

Revision 040ffa0c
Added by Robert Lemke about 6 years ago

  • [TASK] FLOW3 (Core): Further improved the automatic cache flushing mechanism. Instead of only the revision of the Bootstrap class additionally FLOW3's package version number is taken into account. Addresses #3649

History

#1 Updated by Robert Lemke about 6 years ago

  • Status changed from New to Accepted
  • Assigned To set to Robert Lemke

#2 Updated by Robert Lemke about 6 years ago

  • Status changed from Accepted to Resolved
  • % Done changed from 0 to 100

Applied in changeset r2645.

Also available in: Atom PDF