From 2642d744502e6ff9888fab8ccd820c4f6b3bbcda Mon Sep 17 00:00:00 2001 From: Shannon Deminick Date: Fri, 12 Apr 2013 04:06:24 +0600 Subject: [PATCH] adds some logging and fixes sequence of events for distributed cache sending --- src/Umbraco.Core/Models/ServerRegistration.cs | 5 +++++ src/Umbraco.Core/Sync/ConfigServerAddress.cs | 5 +++++ .../Sync/DefaultServerMessenger.cs | 18 ++++++++++++++++-- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Core/Models/ServerRegistration.cs b/src/Umbraco.Core/Models/ServerRegistration.cs index 062589a294..dd352c2c86 100644 --- a/src/Umbraco.Core/Models/ServerRegistration.cs +++ b/src/Umbraco.Core/Models/ServerRegistration.cs @@ -94,5 +94,10 @@ namespace Umbraco.Core.Models }, _isActive, IsActiveSelector); } } + + public override string ToString() + { + return "(" + ServerAddress + ", " + ComputerName + ", IsActive = " + IsActive + ")"; + } } } \ No newline at end of file diff --git a/src/Umbraco.Core/Sync/ConfigServerAddress.cs b/src/Umbraco.Core/Sync/ConfigServerAddress.cs index e7e0063525..71b6d8a43b 100644 --- a/src/Umbraco.Core/Sync/ConfigServerAddress.cs +++ b/src/Umbraco.Core/Sync/ConfigServerAddress.cs @@ -24,6 +24,11 @@ namespace Umbraco.Core.Sync } public string ServerAddress { get; private set; } + + public override string ToString() + { + return ServerAddress; + } } } \ No newline at end of file diff --git a/src/Umbraco.Core/Sync/DefaultServerMessenger.cs b/src/Umbraco.Core/Sync/DefaultServerMessenger.cs index 89bc75e3a0..abfd76d09a 100644 --- a/src/Umbraco.Core/Sync/DefaultServerMessenger.cs +++ b/src/Umbraco.Core/Sync/DefaultServerMessenger.cs @@ -138,6 +138,10 @@ namespace Umbraco.Core.Sync { if (refresher == null) throw new ArgumentNullException("refresher"); + LogHelper.Debug("Invoking refresher {0} on single server instance, message type {1}", + () => refresher.GetType(), + () => dispatchType); + var stronglyTypedRefresher = refresher as ICacheRefresher; foreach (var instance in instances) @@ -290,6 +294,8 @@ namespace Umbraco.Core.Sync if (servers == null) throw new ArgumentNullException("servers"); if (refresher == null) throw new ArgumentNullException("refresher"); + EnsureLazyUsernamePasswordDelegateResolved(); + //Now, check if we are using Distrubuted calls. If there are no servers in the list then we // can definitely not distribute. if (!_useDistributedCalls || !servers.Any()) @@ -318,7 +324,9 @@ namespace Umbraco.Core.Sync { throw new ArgumentException("The id must be either an int or a Guid"); } - + + EnsureLazyUsernamePasswordDelegateResolved(); + //Now, check if we are using Distrubuted calls. If there are no servers in the list then we // can definitely not distribute. if (!_useDistributedCalls || !servers.Any()) @@ -328,7 +336,13 @@ namespace Umbraco.Core.Sync return; } - EnsureLazyUsernamePasswordDelegateResolved(); + LogHelper.Debug( + "Performing distributed call for refresher {0}, message type: {1}, servers: {2}, ids: {3}, json: {4}", + refresher.GetType, + () => dispatchType, + () => string.Join(";", servers.Select(x => x.ToString())), + () => ids == null ? "" : string.Join(";", ids.Select(x => x.ToString())), + () => jsonPayload ?? ""); PerformDistributedCall(servers, refresher, dispatchType, ids, arrayType, jsonPayload); }