U4-1982 - Relations cache is not refreshed properly in a load balanced environment

Created by Shannon Deminick 21 Mar 2013, 20:10:36 Updated by Shannon Deminick 09 Sep 2013, 00:56:02

When updating/deleting relations the cache is not updated properly on all server nodes in a load balanced environment, only the local server.


Shannon Deminick 21 Mar 2013, 20:47:18

To fix this would mean actually implementing a proper API for relations, currently there's SQL all over the place to manage relations and it is not contained in the business logic classes.

Shannon Deminick 21 Mar 2013, 20:49:10

I'm just going to remove the caching all together for Relation Types. Looking up a relation type is just single SQL statement, not like the rest of the objects based on CMSNode that require a ton of lookups. Also, the Relation object isn't cached anyways.

Morten Christensen 21 Mar 2013, 20:50:44

There is already repositories for relations and relation types, and I was planning to create a RelationsService to provide a better api. Just need to find the time ;)

Shannon Deminick 21 Mar 2013, 20:52:49

Ok no worries. Well the legacy Relation object doesn't have any caching but the legacy RelationType does have caching but is impossible to ensure it is refreshed because the sql to manage them is all over the codebase. So to ensure that all servers are in sync I'll just remove this cache in the RelationType object which isn't going to save on much performance anyways.

Shannon Deminick 21 Mar 2013, 20:55:16

Fixed in 780b3cac4312

Priority: Normal

Type: Bug

State: Fixed

Assignee: Shannon Deminick

Difficulty: Normal


Backwards Compatible: True

Fix Submitted:

Affected versions: 4.8.0, 4.9.0, 4.10.0, 4.11.0, 6.0.0, 4.9.1, 4.11.1, 4.11.2, 4.11.3, 4.11.4, 6.0.1, 4.11.5, 6.0.2

Due in version: 6.1.0


Story Points: