U4-9438 - Some properties are not resolved correctly after optimizations done in 7.5.8

Created by Sebastiaan Janssen 26 Jan 2017, 10:44:50 Updated by Shannon Deminick 31 Jan 2017, 02:44:38

Tags: Unscheduled Regression

Is duplicated by: U4-9447

This results in missing data in some caches.

Note: the bug does not cause any data corruption in the database it's only the cache population that has problems.


Stephan 26 Jan 2017, 10:51:53

Tracing through code... it turns out that some IContent items retrieved by the repository had some properties with ID == 0 (ie new property data, which usually means that there was no corresponding record in the database) even though there ''is'' a corresponding record in the database.

Traced it to VersionableRepositoryBase.GetPropertyCollection no getting the proper property collection. Turns out there's a broken enumeration of property data DTOs in there, which would skip properties here and there.

Fixed, PR:https://github.com/umbraco/Umbraco-CMS/pull/1707

Considered kinda major. Not sure if it can cause data corruption or not, depends on what's done with the retrieved data.

Sebastiaan Janssen 26 Jan 2017, 16:47:30

Functionally this all seems to be working now, 3 problematic sites are fixed with these changes in place, publish works and the correct data appears in the cache.

Shannon Deminick 27 Jan 2017, 05:52:50

I've added a unit test that tests this logic which passes. I also confirmed that it didn't pass with the previous logic. I've merged this in.

Priority: Major

Type: Bug

State: Fixed


Difficulty: Normal


Backwards Compatible: True

Fix Submitted:

Affected versions: 7.5.8

Due in version: 7.5.9

Sprint: Sprint 51

Story Points: