Synchronization errors in load balanced environments Options
met67
Posted: Thursday, January 31, 2008 2:51:28 PM

Rank: Devotee

Joined: 9/4/2007
Posts: 36
Location: Rome
As I stated in http://forum.umbraco.org/19251#post-19466 I have synchronization
errors in XML cache of different nodes in a load balanced environment
with distributedCall.

I made some test to sort out these errors and found that one problem is
related to moving documents around.

The following steps lead to a misalignment between servers:

1. Create a folder named "Test Folder"
2. Save&Publish the folder
3. At the same level of "Test Folder", create a document named "Test Page"
4. Save&Publish the document
5. Move "Test Page" inside "Test Folder"

From now on the server nodes are misaligned: the front end
residing on the node you hit with the Move operation correctly
shows "Test Page" inside "Test Folder", while the front end on
the other nodes still show "Test Page" as a sibling of "Test Folder".
If you click on "Test Page" on the misaligned nodes, umbraco gives
a node not found error.

In order to realign the nodes you have to stop the application pool,
delete umbraco.config and then restart the application pool.

Does anybody have the same behaviour?

Regards,

Marco Lusini
seb
Posted: Monday, February 04, 2008 1:00:00 PM

Rank: Devotee

Joined: 1/10/2008
Posts: 75
Location: London
Right, I've tried to replicate your problem, but been stoped at the last step as I get an error when clicking on "Move";

It's a "Object reference not set to an instance of an object." error:

[NullReferenceException: Object reference not set to an instance of an object.]
umbraco.dialogs.moveOrCopy.Page_Load(Object sender, EventArgs e) +738
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +34
System.Web.UI.Control.OnLoad(EventArgs e) +99
umbraco.BasePages.BasePage.OnLoad(EventArgs e) +51
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061



The "Move" feature works absolutely fine for me on other installs, so it might be the build I've done (in order to correct the DistributedCall bug) that has a problem.

I found another problem thought: after this test I have deleted the 2 pages newly created. They were displayed on my main menu before that.
After the deletion, I have re-published the entire content but only one server get the menu correctly refreshed. I changed and published another page and it displayed fine on both servers, but not the menu..:hrm:
I finally had to manually empty the app cache to get the menu ok on both servers.
I checked the umbraco.config file before that and it was exactly the same on both servers.


Seb

http://www.be-k.net
met67
Posted: Monday, February 04, 2008 1:20:58 PM

Rank: Devotee

Joined: 9/4/2007
Posts: 36
Location: Rome
Sebastien Bicais wrote:

I found another problem thought: after this test I have deleted the 2 pages newly created. They were displayed on my main menu before that.
After the deletion, I have re-published the entire content but only one server get the menu correctly refreshed. I changed and published another page and it displayed fine on both servers, but not the menu..:hrm:


I have also seen this :(
Next time try to empty the trashcan, it worked in my installation... :hmm:

Marco
seb
Posted: Monday, February 04, 2008 2:53:31 PM

Rank: Devotee

Joined: 1/10/2008
Posts: 75
Location: London
I tried that but it didnt' work. Well I had one of the 2 pages correctly deleted from the menu.

Have you reported the problem yet on Codeplex ? I will need to get this sorted at some point.



http://www.be-k.net
met67
Posted: Monday, February 04, 2008 3:34:11 PM

Rank: Devotee

Joined: 9/4/2007
Posts: 36
Location: Rome
Quote:

I tried that but it didnt' work. Well I had one of the 2 pages correctly deleted from the menu.

Have you reported the problem yet on Codeplex ? I will need to get this sorted at some point.


Well, looks like it was a lucky strike, it has not worked for me anymore :(

Now, when I delete a published document on a cluster node, it is not deleted from the other nodes until I reset the XML cache.

After a quickly look at the source I think that both problems (moving and deleting documents) are related, since umbraco.contentItemTasks.Delete() uses umbraco.cms.businesslogic.CMSNode.Move() to move the deleted node in the trashcan.
In umbraco.cms.businesslogic.CMSNode.Move() there is a "nasty hack" of some kind.

As for CodePlex, I reported the Save&Publish bug long time ago, with no luck...

Niels, any hope to see these fixed in 3.0.5?

Marco
Users browsing this topic
Guest


You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.