U4-9765 - When DistributedCall config is incorrectly setup and we return ServerRole.Unknown add some debug logging to alert people to this

Created by Marc Goodson 11 Apr 2017, 17:18:52 Updated by Claus Jensen 15 May 2017, 08:28:41

Tags: PR

Subtask of: U4-9609

Users may set distributedCall enable="true" in umbracoSettings in the belief that this will turn off flexible load balancing database inserts off (it does), but then if they are not setting up load balancing they will not list any servers within the <server section of DistributedCalls

This is incorrect config.

The first the user may discover is that Scheduled Publishing is not working on the site.

Why has it stopped working ?

Scheduled Publishing needs to know if it is a single server setup or the primary server amongst several load balanced slave servers...

The ConfigServerRegistrar seems to determine this:

https://github.com/umbraco/Umbraco-CMS/blob/dev-v7.6/src/Umbraco.Core/Sync/ConfigServerRegistrar.cs

The logic checks if distributed calls is turned off - in which case it's a single server all is good but if distributed calls is turned on, and there are no servers listed (eg an incorrect configuration scenario) then even though it's likely to be a single server setup, ServerRole.Unknown is returned and Scheduled Publishing will not work.

The code has the comment //config error, actually...

if (serversA.Length == 0) { _serverRole = ServerRole.Unknown; // config error, actually }

... but it would be much more useful to log this issue when it occurs so users troubleshooting Scheduled Publishing not working, could be made aware of the config problem via the logs.

(possibly one for the Health Check dashboard too)

Comments

Marc Goodson 11 Apr 2017, 19:41:24

https://github.com/umbraco/Umbraco-CMS/pull/1880


Priority: Normal

Type: Bug

State: Fixed

Assignee:

Difficulty: Normal

Category:

Backwards Compatible: True

Fix Submitted: Pull request

Affected versions: 7.5.13

Due in version: 7.5.14

Sprint:

Story Points:

Cycle: 1