Copied to clipboard

Flag this post as spam?

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


  • nick timmer 6 posts 87 karma points
    Dec 13, 2018 @ 20:01
    nick timmer
    0

    Occasionally Making a Content Change causes Umbraco to Shutdown

    Umbraco version 7.5.3 assembly: 1.0.6092.24019

    So Usually when I do a Simple Change in the Content Section, then reload the page, it comes up right away. Occasionally though the site takes a few minutes to come back up.

    Here is what the UmbracoTraceLogs look like when there is no downtime after a Content Change (in this case Content 'CA' with Id '7994' is made 3 times: enter image description here

    Here is what the UmbracoTraceLogs look like when there IS downtime after a Content Change (Same exact file getting changed and saved):

    enter image description here enter image description here

    There is literally 4000+ lines of 'CONFIG change

    enter image description here

  • Marcio Goularte 374 posts 1346 karma points
    Dec 14, 2018 @ 02:07
    Marcio Goularte
    0

    What do you do in this implementation?

    Naf.Marketing.Business.Implementations.UnPublishedBlogService
    

    uses ContentService ??

  • nick timmer 6 posts 87 karma points
    Dec 14, 2018 @ 17:36
    nick timmer
    0

    Below are the details around the UnPublishedBlogService Error... But 1st lets talk about why the Application shutdown Details state 'MaxRecompilationsReached' -- Recompilation limit of 15 reached because I think that is the real issue here...

    So on Stack Overflow I read this post: https://stackoverflow.com/questions/39050231/asp-net-mvc-recompilation-limit-of-15-reached-hostingenvironment-initiated-shutd

    I am not understanding why doing a Content change is causing a whole website recompile? is that normal?

    enter image description here

    So the rest of this post is just regarding UnPublishedBlogService Error, Here is the Code Flow:

    1. ApplicationEvents.cs :: PublishingStrategy_Published() -->

    2. BlogHelper.cs :: DeleteUnpublishBlogs() -->

    3. UnPublishedBlogService.cs :: Delete() -->

    4. BaseService.cs :: Delete() -->

    5. Umbraco.Core :: Delete()

    enter image description here

    enter image description here

    Hi Marcio Goularte, this is what is in the UnPublishedBlogService... I am frontend Developer so I never work on this code. The content I am modifying is not a blog, and has nothing to do with blogs, so I'm not even sure why this UnPublishedBlogService is getting called in the 1st place.

    I did a search for all References of UnPublishedBlogService to find all places where the Delete() method is called... It is only being called in BlogHelper.cs DeleteUnpublishBlogs, so I set a break point there and it is null... which is causing the exception to happen in the Delete method... I am not sure if this is causing any additional issues(besides getting caught in the Try/Catch block and spitting out an error message), or if there is something else going on causing issue.

    enter image description here

    Here is the values of publishedEntities and upblog in the Immediate Window:

    enter image description here

  • Marc Goodson 2141 posts 14324 karma points MVP 8x c-trib
    Dec 14, 2018 @ 19:40
    Marc Goodson
    2

    Hi Nick

    What do you have for FCN Mode in your web.config httpruntime?

     <httpRuntime requestValidationMode="2.0" enableVersionHeader="false" targetFramework="4.5" maxRequestLength="51200" fcnMode="Single" />
    

    Can you temporarily disable fcnMode eg change the above to

     <httpRuntime requestValidationMode="2.0" enableVersionHeader="false" targetFramework="4.5" maxRequestLength="51200" fcnMode="Disabled" />
    

    to see if this provides some respite to the issue!

    (more info here on FCN Mode - https://shazwazza.com/post/all-about-aspnet-file-change-notification-fcn/)

    regards

    marc

  • nick timmer 6 posts 87 karma points
    Dec 14, 2018 @ 19:44
    nick timmer
    0

    Yes it is set to fncMode="Single"

    <httpRuntime requestValidationMode="2.0" enableVersionHeader="false" targetFramework="4.5.2" maxRequestLength="2097152" fcnMode="Single" />
    
  • Marc Goodson 2141 posts 14324 karma points MVP 8x c-trib
    Dec 14, 2018 @ 20:16
    Marc Goodson
    101

    Can you temporarily change it to 'Disabled', and see if this provides stability to your publishing?

    Essentially when files change in the application, eg during a publish or (Image Processor caching images) or change of document type (if modelsbuilder is in use), specifically in 7.4/7.5 this can trigger too many notifications and the app pool recycles, shutting down the site, There are fixes in later versions of Umbraco, but be interesting to see if this setting change brings you some stability whilst you investigate the other issue with the unpublish error.

  • nick timmer 6 posts 87 karma points
    Dec 14, 2018 @ 21:46
    nick timmer
    0

    Hi Marc,

    This looks promising... I am trying to get approval to make the 1 web.config change you have provided. Will post again when I have tried it out.

    Thank you!

  • nick timmer 6 posts 87 karma points
    Dec 15, 2018 @ 00:13
    nick timmer
    1

    Thaaaank you Marc!

    I tried this out in our QA environment 42 tests (21 content changes with fcnMode="Single" in web.config) (then 21 content changes with fcnMode="Disabled" in web.config)

    I saw Umbraco restart 7 times when fncMode="Single" and Umbraco never restarted when fncMode="Disabled" And I also was reloading the website between tests a few times to make sure it working. so having fncMode="Disabled" seems to be working!!! We are going to make the change to Production during our next deployment. Marc Is there anything else you suggest I try / test?

    21 tests with fncMode="Single" , then web.config change which caused restart, then 21 tests with fncMode="Disabled":**

    1) 2:46 LanderForm Published 2018-12-14 14:44:57,698 [P13520/D5/T24] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LanderForm' with Id '7695' has been published. 2018-12-14 14:45:33,901 [P13520/D5/T27] INFO Umbraco.Core.UmbracoApplicationBase - Application shutdown. Details: ConfigurationChange

    2) 2:48 LFA Published 2018-12-14 14:47:23,917 [P13520/D6/T24] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA' with Id '7741' has been published.

    3) 2:50 LF ARM Published 2018-12-14 14:49:22,120 [P13520/D6/T20] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LF ARM' with Id '7746' has been published.

    4) 2:51 LFA-FHA Published 2018-12-14 14:50:18,730 [P13520/D6/T22] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-FHA' with Id '7756' has been published. 2018-12-14 14:50:54,761 [P13520/D6/T22] INFO Umbraco.Core.UmbracoApplicationBase - Application shutdown. Details: HostingEnvironment

    5) 3:05 LFA-NERDWALLET Published 2018-12-14 15:03:49,934 [P13520/D8/T24] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-NERDWALLET' with Id '7769' has been

    6) 3:06 LFA-CashoutRefi Published 2018-12-14 15:04:44,043 [P13520/D8/T13] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-CashoutRefi' with Id '7776' has been published.

    7) 3:07 LFA-ARMRefi Published 2018-12-14 15:06:06,997 [P13520/D8/T32] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-ARMRefi' with Id '7780' has been published.

    8) 3:08 LF Purchase Published 2018-12-14 15:07:21,966 [P13520/D8/T8] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LF Purchase' with Id '7791' has been published.

    9) 3:09 LFA-Quinstreet Published 2018-12-14 15:08:16,013 [P13520/D8/T32] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-Quinstreet' with Id '7798' has been published.

    10) 3:10 LFA-CRT Published 2018-12-14 15:09:02,028 [P13520/D8/T41] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-CRT' with Id '7800' has been published.

    11) 3:11 LFA-MA Published 2018-12-14 15:10:22,528 [P13520/D8/T15] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-MA' with Id '7883' has been published.

    12) 3:12 LFA-FLB Published 2018-12-14 15:11:36,872 [P13520/D8/T16] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-FLB' with Id '7904' has been published.

    13) 3:13 LFA-YELP Published 2018-12-14 15:12:27,013 [P13520/D8/T25] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-YELP' with Id '7919' has been

    14) 3:14 LFA-VP Published 2018-12-14 15:13:14,701 [P13520/D8/T8] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-VP' with Id '7920' has been published.

    15) 3:15 LFA-Newamericanfunding-Brand Published 2018-12-14 15:14:30,138 [P13520/D8/T46] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-Newamricanfunding-Brand' with Id '7929' has been published. 2018-12-14 15:15:06,154 [P13520/D8/T20] INFO Umbraco.Core.UmbracoApplicationBase - Application shutdown. Details: ConfigurationChange

    16) 3:18 LFA-NT Published 2018-12-14 15:16:29,013 [P13520/D9/T20] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-NT' with Id '7981' has been published. 2018-12-14 15:17:05,482 [P13520/D9/T18] INFO Umbraco.Core.UmbracoApplicationBase - Application shutdown. Details: HostingEnvironment 2018-12-14 15:17:33,795 [P13520/D10/T25] INFO Umbraco.Core.UmbracoApplicationBase - Application shutdown. Details: MaxRecompilationsReached

    17) 3:22 LFA Refi Published 2018-12-14 15:20:32,404 [P13520/D11/T19] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA Refi' with Id '7986' has been published.

    18) 3:27 ForSale Published 2018-12-14 15:26:13,853 [P13520/D11/T7] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'ForSale' with Id '6611' has been published. 2018-12-14 15:26:50,198 [P13520/D11/T19] INFO Umbraco.Core.UmbracoApplicationBase - Application shutdown. Details: ConfigurationChange

    19) 3:29 videosubmitform Published 2018-12-14 15:28:46,935 [P13520/D12/T9] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'videosubmitform' with Id '6923' has been published. 2018-12-14 15:29:23,248 [P13520/D12/T17] INFO Umbraco.Core.UmbracoApplicationBase - Application shutdown. Details: HostingEnvironment

    20) 3:33 videosubmitform (2nd time) Published 2018-12-14 15:31:42,892 [P13520/D13/T24] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'videosubmitform' with Id '6923' has been published.

    21) 3:33 sellerfinancing Published 2018-12-14 15:31:54,033 [P13520/D13/T10] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'sellerfinancing' with Id '7111' has been published.

    +++++++++++++++++++++++++++++++++++++++++++++++++++ web.config Change from fncMode="Single" to fcnMode="Disabled" +++++++++++++++++++++++++++++++++++++++++++++++++++ 2018-12-14 15:36:32,081 [P13520/D13/T13] INFO Umbraco.Core.UmbracoApplicationBase - Application shutdown. Details: ConfigurationChange +++++++++++++++++++++++++++++++++++++++++++++++++++

    1) 3:41 LanderForm Published 2018-12-14 15:40:06,142 [P13520/D14/T27] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LanderForm' with Id '7695' has been published.

    2) 3:43 LFA Published 2018-12-14 15:42:36,796 [P13520/D14/T42] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA' with Id '7741' has been published.

    3) 3:44 LF ARM Published 2018-12-14 15:43:26,593 [P13520/D14/T11] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LF ARM' with Id '7746' has been published.

    4) 3:45 LFA-FHA Published 2018-12-14 15:44:27,468 [P13520/D14/T45] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-FHA' with Id '7756' has been published.

    5) 3:46 LFA-NERDWALLET 2018-12-14 15:46:21,123 [P13520/D14/T17] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-NERDWALLET' with Id '7769' has been published.

    6) 3:49 LFA-CashoutRefi 2018-12-14 15:47:42,810 [P13520/D14/T11] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-CashoutRefi' with Id '7776' has been published.

    7) 3:50 LFA-ARMRefi 2018-12-14 15:48:38,466 [P13520/D14/T23] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-ARMRefi' with Id '7780' has been published.

    8) 3:51 LF Purchase 2018-12-14 15:50:32,919 [P13520/D14/T23] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LF Purchase' with Id '7791' has been published.

    9) 3:53 LFA-Quinstreet 2018-12-14 15:51:49,717 [P13520/D14/T36] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-Quinstreet' with Id '7798' has been published.

    10) 3:54 LFA-CRT 2018-12-14 15:52:41,998 [P13520/D14/T42] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-CRT' with Id '7800' has been published.

    11) 3:55 LFA-MA 2018-12-14 15:53:24,045 [P13520/D14/T46] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-MA' with Id '7883' has been published.

    12) 3:56 LFA-FLB 2018-12-14 15:53:51,873 [P13520/D14/T41] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-FLB' with Id '7904' has been published.

    13) 3:56 LFA-YELP 2018-12-14 15:55:07,264 [P13520/D14/T36] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-YELP' with Id '7919' has been published.

    14) 3:57 LFA-VP 2018-12-14 15:55:54,874 [P13520/D14/T20] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-VP' with Id '7920' has been published.

    15) 3:59 LFA-Newamricanfunding-Brand 2018-12-14 15:57:40,842 [P13520/D14/T7] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-Newamricanfunding-Brand' with Id '7929' has been published.

    16) 3:59 LFA-NT 2018-12-14 15:58:18,685 [P13520/D14/T20] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA-NT' with Id '7981' has been published.

    17) 4:00 LFA Refi 2018-12-14 15:58:55,325 [P13520/D14/T42] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'LFA Refi' with Id '7986' has been published.

    18) 4:01 ForSale 2018-12-14 15:59:44,513 [P13520/D14/T14] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'ForSale' with Id '6611' has been published.

    19) 4:02 videosubmitform 2018-12-14 16:00:26,481 [P13520/D14/T46] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'videosubmitform' with Id '6923' has been published.

    20) 4:03 sellerfinancing 2018-12-14 16:00:59,153 [P13520/D14/T10] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'sellerfinancing' with Id '7111' has been published.

    21) 4:03 Mortgage Calculator 2018-12-14 16:01:51,153 [P13520/D14/T38] INFO Umbraco.Core.Publishing.PublishingStrategy - Content 'Mortgage Calculator' with Id '1513' has been published.

  • Marc Goodson 2141 posts 14324 karma points MVP 8x c-trib
    Dec 15, 2018 @ 01:42
    Marc Goodson
    1

    Hi Nick

    We have 2 or 3 sites I think in production at the moment on Umbraco 7.4/7.5 with FCNMode disabled, I'm not sure if a windows update has heightened the problem... and it doesn't seem to be an issue in later versions of Umbraco - having Single is fine in these circumstances.

    Essentially it's not a problem to keep FCNMode disabled, unless you are using the backoffice to update templates, partial views etc, changing these files won't be immediately recognised by the application. (eg there will be no file change notifications!) Triggering an application pool recycle will then refresh the site, so it can be a pain if you are using the backoffice to change templates - there is a package called GodMode you can install that adds a button to recycle the app pool from the back office if that is the case)

    But as you seem to indicate you have some sort of notion of environments, I suspect your changes would be deployed automatically, and therefore trigger an app pool recycle anyway.

    Long term, it's worth looking at putting some time into an upgrade to the latest version (there are lots of bug fixes and performance gains - https://our.umbraco.com/download/releases/compare?from=7.5.3&to=7.12.4) it will make a difference to this kind of issue.

    If an upgrade is not something you can look at quickly, then you can do some trial and error investigation into the underlying cause: temporarily turning on Single mode, and changing configuration:

    In previous sites of this vintage I've found Modelsbuilder has triggered the issue, and turning off Modelsbuilder explicitly (or upgrading to a later version) has reduced the problem:

    <add key="Umbraco.ModelsBuilder.Enable" value="false" />
    <add key="Umbraco.ModelsBuilder.ModelsMode" value="Nothing" />
    

    And similarly, ImageProcessor generating cache files in app_data/cache folder, can be configured to store the cached images in a folder outside of the application folders. (again this isn't an issue in later Umbraco versions).

    Any events that target 'publish' events are worth reviewing, (search for ApplicationEventHandler in your implementation code to find any custom events - eg your UnPublishedBlogService, find out what it's doing...

    If it's specifically an issue with publishing, you can configure the /app_data/umbraco.config cache file to also be managed outside of the application folders...

    ... but usually I leave it disabled until I can schedule a convenient time to upgrade.

    regards

    Marc

  • nick timmer 6 posts 87 karma points
    Dec 17, 2018 @ 18:48
    nick timmer
    0

    Thank you so much Marc,

    We are going to deploy (+ web.config change) to production today.

    I do like the flexibility of making changes directly to Templates, Partial Views in Production (without doing a full deployment) for fixes that need to go out immediately, so not being able to do that is inconvenient, but the stability of Content Changes not causing downtime is top priority!

    I need to learn more about 'Triggering an application pool recycle' do you have any more info on that? Such as how it could be done without the GodMode package? and does it cause any noticeable downtime/unresponsiveness when a application pool recycle is performed?

    Yes I don't know when we will update to 7.12.., my team members tried before and ran into issues, and there is constantly new priorities...

    In the meantime investigating ModelsBuilder sounds like a easier task to take on... Currently we have

    <add key="Umbraco.ModelsBuilder.Enable" value="true" />
    <add key="Umbraco.ModelsBuilder.ModelsMode" value="PureLive" />
    
Please Sign in or register to post replies

Write your reply to:

Draft