Bug #6290

Dirty checking fails due to order of object reconstitution

Added by Karsten Dambekalns over 11 years ago. Updated about 11 years ago.

Status:
Resolved
Priority:
Must have
Category:
Persistence
Start date:
2010-01-30
Due date:
% Done:

100%

Estimated time:
PHP Version:
Has patch:
Complexity:

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 persistenceResolvedKarsten Dambekalns2010-01-18

Actions
#1

Updated by Karsten Dambekalns over 11 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 11 years ago

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

Updated by Robert Lemke over 11 years ago

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

Also available in: Atom PDF