Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Andrew B 22 posts 142 karma points
    Aug 10, 2018 @ 11:30
    Andrew B
    0

    Distributed calls failing to propagate in load balanced environment

    I am encountering an issue with a load-balanced Umbraco v7.6.5 site using distributed calls. When an item is published or unpublished, this change is not propagated to the other web server - it is only visible on the server where the event took place. The environment is configured as two web servers running behind a load balancer, each with an Umbraco installation connecting to the same database.

    The content of the distributedCall/servers section in the umbracoSettings.config file for both servers is set as follows:

    <server forceProtocol="https" serverName="web1">client-mainsite1.domain-live.com</server>
    <server forceProtocol="https" serverName="web2">client-mainsite2.domain-live.com</server>
    

    Having enabled Debug-level logging in log4net.config, I have noticed that when publishing or unpublishing from one of the servers in the load-balanced environment, that it only makes a cache refresh call to that same server - i.e. publishing on web1 will make a call to instigate a cache refresh on web1 but not web2, and vice-versa. This log sample is taken from web2:

    2018-08-10 11:21:13,405 [P6692/D6/T44] INFO  Umbraco.Core.Sync.WebServiceServerMessenger - Submitting calls to distributed servers
    2018-08-10 11:21:13,407 [P6692/D6/T72] DEBUG Umbraco.Web.UmbracoModule - Begin request: https://client-mainsite2.domain-live.com/umbraco/webservices/cacheRefresher.asmx.
    2018-08-10 11:21:13,415 [P6692/D6/T72] DEBUG umbraco.presentation.webservices.CacheRefresher - Ignoring self-message. (server: EC2AMAZ-TSP0Q27, appId: /LM/W3SVC/3/ROOT, hash: fffffff62e614a8c)
    2018-08-10 11:21:13,417 [P6692/D6/T44] DEBUG Umbraco.Core.Sync.WebServiceServerMessenger - Distributed server push completed with no nodes reporting an error
    

    And this one is taken from web1:

    2018-08-10 10:49:30,444 [P1060/D8/T3] INFO  Umbraco.Core.Sync.WebServiceServerMessenger - Submitting calls to distributed servers
    2018-08-10 10:49:30,453 [P1060/D8/T31] DEBUG Umbraco.Web.UmbracoModule - Begin request: https://client-mainsite1.domain-live.com/umbraco/webservices/cacheRefresher.asmx.
    2018-08-10 10:49:30,544 [P1060/D8/T31] DEBUG umbraco.presentation.webservices.CacheRefresher - Ignoring self-message. (server: EC2AMAZ-TSP0Q27, appId: /LM/W3SVC/3/ROOT, hash: fffffff62e614a8c)
    2018-08-10 10:49:30,563 [P1060/D8/T3] DEBUG Umbraco.Core.Sync.WebServiceServerMessenger - Distributed server push completed with no nodes reporting an error
    

    Is anybody able to offer any insights as to why this would be occuring, and any potential resolutions?

    Thanks,

    Andrew

  • Harrison 42 posts 254 karma points
    Aug 10, 2018 @ 13:04
    Harrison
    100

    You should only be handling publish events on one of the servers i.e. all publishing/editing should be handled on web1 and then distribute it to web2.

    A common setup is

    admin.site.com web1.site.com

    These two both point to the same web server, and admin.site.com is used to access Umbraco.

    web2.site.com is then used for the second server with no content publishing/editing happening on there.

    Looking at your config too, it also looks like you're on the traditional load balancing setup. Since 7.3 Umbraco, the recommended load balanced setup is the flexible setup: https://our.umbraco.com/documentation/getting-started/setup/server-setup/load-balancing/flexible

  • Andrew B 22 posts 142 karma points
    Aug 15, 2018 @ 10:15
    Andrew B
    1

    Hi Harrison,

    Thanks for your response. It turns out that the fix for me was to disable Distributed Calls - after I did this, the content was propagated correctly.

    Thanks,

    Andrew

  • Romeo Cadaoas 33 posts 110 karma points
    Oct 02, 2018 @ 08:10
    Romeo Cadaoas
    0

    Hi Andrew, I'm encountering the same issue with distributed calls right now. How did you resolve this issue? and what do you mean by disable Distributed Calls?

    My Umbraco version 7.11.1

    -Romeo

  • Andrew B 22 posts 142 karma points
    Oct 02, 2018 @ 08:14
    Andrew B
    0

    Hi Romeo,

    By "disable Distributed Calls", I mean that I opened up the site's umbracoSettings.config file and set the enable attribute of the distributedCall element to false, like below:

    <distributedCall enable="false">

    If your issue is similar to mine, this should fix it!

    Best wishes,

    Andrew

  • Romeo Cadaoas 33 posts 110 karma points
    Oct 02, 2018 @ 08:18
    Romeo Cadaoas
    0

    Thanks for the reply Andrew, did you disable it only on server 2 or both servers?

    -Romeo

  • Andrew B 22 posts 142 karma points
    Oct 02, 2018 @ 08:19
    Andrew B
    0

    Hi Romeo,

    It was disabled on all servers in the load-balanced environment.

    - A

  • Romeo Cadaoas 33 posts 110 karma points
    Oct 02, 2018 @ 09:11
    Romeo Cadaoas
    0

    Thanks for the help Andew. Disabling distributedCall for all the servers works for me too.

    Any idea how Umbraco refreshes the cache on all the servers now?

    -R

Please Sign in or register to post replies

Write your reply to:

Draft