U4-2812 - Ensure unpublished content & media indexes are synced on all server nodes

Created by Shannon Deminick 09 Sep 2013, 00:29:25 Updated by Dan Booth 13 May 2014, 08:00:51

Relates to: U4-4871

Subtask of: U4-1431

Previous to the load balancing fixes with the new ICacheRefreshers it wasn't really nicely possible to ensure that media and unpublished content indexes were synced to all server nodes in an LB environment but now that we have the ICacheRefreshers in place it should be relatively straight forward. However we will have to consider what to do with LB scenarios that are runnning from a centralized SAN location as this will ultimately cause file locking issues


Dan Booth 12 May 2014, 14:41:43

Has this ever been resolved? Because I've just updated a site from 6.1.6 to 6.2.0 where I thought the media load-balancing issues had been resolved, but they seem to be worse. The main issue I'm seeing is this:

When I add a new image on the master server then it is not available via Umbraco.TypeMedia(id) on the load-balanced servers. The physical file is being copied (using GoodSync) the correct directory, but the error occurs when it is accessed. I get the exception: "Cannot resolve a Url for a media item when there is no 'umbracoFile' property defined"

Looking into it, it appears that on the 3 load-balanced servers the newly added image doesn't have any of the custom Image properties, such as "umbracoFile", "umbracoBytes", "umbracoWidth" etc. This means that TypeMedia(id) returns an object, but the object doesn't have a Url value. This then causes the exception.

This is obviously a major show-stopper. Is there anything can be done, because I've got a very unhappy client on my hands?

Dan Booth 12 May 2014, 15:48:40

NB. Rolled back the site to 6.1.6 and this particular issue went away. However, there still seems to be intermittent image sync issues in 6.1.6.

Shannon Deminick 12 May 2014, 22:55:02

Dan, will need some more information from you.

Are you load balancing in a traditional way with replicated files or a shared SAN/fileshare environment?

Assuming you have logging setup correctly for each server so that you can monitor the log output of each individual instance, do you have anything in your logs relating to this?

Shannon Deminick 12 May 2014, 23:52:00

Never mind, i can replicate this. This is correct for some odd reason, it is syncing the indexes but is not adding the media properties to the index. Need to create a separate issue.

Dan Booth 13 May 2014, 08:00:51

Hi Shannon,

Glad you can replicate this. But just FYI the setup is using replicated files across four servers, with one of these designated as the "master" server. If you need any more info, let me know.

Priority: Normal

Type: Bug

State: Fixed

Assignee: Shannon Deminick

Difficulty: Normal


Backwards Compatible: True

Fix Submitted:

Affected versions:

Due in version: 7.0.0, 6.2.0


Story Points: