Copied to clipboard

Flag this post as spam?

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


  • Trey 14 posts 108 karma points
    Feb 03, 2017 @ 22:00
    Trey
    0

    Published Changes only display on app restart Flexible Load Balancing

    We have a flexible load balancing set up hosted on azure. After a release (with upgrade from 7.5.3 to 7.5.4) we have begun to have issues with publishing changes from the master server's backoffice not showing up on the frontend server.

    We have noticed that the changes show up after the frontend server is restarted.

    Looking into the umbracoServer table, the backoffice has the master designation and is active and the frontend is registered as active.

    We have a staging environment with the same split that does not have this issue.

    The largest change that was included with this change is the addition of Simple Injection framework for DI. We have had other issues with simple injection throwing errors for certain umbraco core controllers etc not being registered. However, with it continuing to work on our staging environment we are thinking of ruling this out.

    Has anyone run into a similar issue of updates only propagating on app restart (master server not clearing cache of frontend?) or with including simple injection framework into their project?

  • Dave Woestenborghs 3504 posts 12134 karma points MVP 9x admin c-trib
    Feb 04, 2017 @ 09:17
    Dave Woestenborghs
    100

    Hi Trey,

    Some things you can check is the following.

    When you publish on your master environment go in to the database table umbracoCacheInstructions and find the id of the latest record. Now make a request to your front end server. After that go to your front end server and go in to the folder /App_Data/TEMP/DistCache/{machinename}/ folder and open the *-last-synced.txt file. This should contain the same id as the last id of the database. If that is the case we know Umbraco on the front end server has the latest content.

    You can also check your log files of the front end server to see if it contains a entry on the time you made the request that looks like this :

    2017-02-03 16:40:55,137 [P27112/D6/T32] DEBUG Umbraco.Core.Sync.DatabaseServerMessenger - Syncing from database...
     2017-02-03 16:40:55,485 [P27112/D6/T32] DEBUG Umbraco.Core.Sync.DatabaseServerMessenger - Complete (took 348ms)
    

    If all above is the case we can assume that the load balancing is working correctly.

    The next question is do you have some kind of outputcaching in place on your frontend server ?

    Dave

  • Trey 14 posts 108 karma points
    Feb 04, 2017 @ 19:19
    Trey
    0

    Hey Dave,

    Excellent response!

    This morning I ran through your suggestions: made change on master server, verified new entry in DB umbracoCacheInstructions, hit the page on frontend server, and then checked the distCache file contents.

    The results of that sequence:

    The new row in cacheInstructions:

    id: 
        3290521
    utcStamp: 
        2017-02-04 19:07:47.803
    jsonInstruction:
        [{"RefreshType":3,"RefresherId":"55698352-dfc5-4dbe-96bd-a4a0f6f77145","GuidId":"00000000-0000-0000-0000-000000000000","IntId":0,"JsonIds":"[1271]","JsonPayload":null},{"RefreshType":3,"RefresherId":"27ab3022-3dfa-47b6-9119-5945bc88fd66","GuidId":"00000000-0000-0000-0000-000000000000","IntId":0,"JsonIds":"[1271]","JsonPayload":null}]
    originated:
         RD00155D67F907//LM/W3SVC/28544709/ROOT [P10692/D2] D4BC9B725D5A4FA597A89E8B8E6E8E04
    

    Can you confirm that the presence of nulls and 0000 GUIDS is standard behavior? Just about all recent entries have similar values.

    Next I looked at the distCache values for master and frontend:

    Frontend: 3290185

    Master: 3290520

    And as before the change was visible on master server, but missing on the frontend.

    In regards to your second question, we do have various caching (leblender on a per-grid-element level and on certain non-grid partials like menu etc) but the changes that we were making have fairly short cache duration of 5 minutes.

    Thanks again for your help with this!

  • Dave Woestenborghs 3504 posts 12134 karma points MVP 9x admin c-trib
    Feb 06, 2017 @ 06:54
    Dave Woestenborghs
    0

    Hi Trey,

    I would not mind the "empty" guids. I think they are there for future versions of Umbraco. In V8 umbraco will change from integer id to guid.

    What me strikes most is the difference between the distCache id between front end server and master server:

    Frontend: 3290185

    Master: 3290520

    This seems to me that the frontend server is not processing the cache instructions. Have you checked your log files for the line I mentioned in the earlier post ?

    Dave

  • Trey 14 posts 108 karma points
    Feb 06, 2017 @ 15:26
    Trey
    0

    Hey Dave,

    We did see those errors in our log. We ended up finding the bug in the issue trackers and saw that it was fixed in 7.5.5. We upgraded to 7.5.8 which resolved the issue!

    Thanks for your help with this.

Please Sign in or register to post replies

Write your reply to:

Draft