Bug #6290

Dirty checking fails due to order of object reconstitution

Added by Karsten Dambekalns over 5 years ago. Updated almost 5 years ago.

Status:Resolved Start date:2010-01-30
Priority:Must have Due date:
Assigned To:Karsten Dambekalns % Done:

100%

Category:Persistence
Target version:TYPO3 Flow Base Distribution - 1.0 alpha 8
PHP Version: Complexity:
Has patch: Affected Flow version:

Description

Here is how it breaks (for the sake of simplicity in a blog with one post):
  1. A blog post shall be shown
  2. The active Blog is queried and reconstituted
  3. During property thawing the posts inside the blog are reconstituted
  4. During that the posts clean state is memorized - but the Blog contained in the Post at that moment is not yet complete, it's posts property is still NULL.
  5. The Blog in the Post is cloned in this incomplete state
  6. Only after that the Blog receives it's Posts

Now, upon persisting the Post is checked for being dirty, and since the current Blog and the cloned Blog differ (the clone has NULL as posts), the whole shebang is persisted again. Which, obviously, is an utter waste of resources.

Now, go on and fix it. :)


Related issues

related to TYPO3.Flow - Major Feature #6267: Speed up persistence Resolved 2010-01-18

History

#1 Updated by Karsten Dambekalns over 5 years ago

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

Fixed as of r3830 (forgot to tag the commit message accordingly).

#2 Updated by Robert Lemke over 5 years ago

  • Start date changed from 2010-01-30 to 2010-01-02

#3 Updated by Robert Lemke over 5 years ago

  • Start date changed from 2010-01-02 to 2010-01-30

Also available in: Atom PDF