Feature #3649

Caches should be flushed on package version number changes

Added by Robert Lemke over 10 years ago. Updated almost 9 years ago.

Status:
Resolved
Priority:
Must have
Assignee:
Category:
Cache
Start date:
2009-06-12
Due date:
% Done:

100%

PHP Version:
Has patch:
Complexity:

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 (diff)
Added by Robert Lemke about 10 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 (diff)
Added by Robert Lemke about 10 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 over 10 years ago

  • Status changed from New to Accepted
  • Assignee set to Robert Lemke

#2 Updated by Robert Lemke about 10 years ago

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

Applied in changeset r2645.

Also available in: Atom PDF