Copied to clipboard

Flag this post as spam?

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


  • Martin Griffiths 826 posts 1269 karma points c-trib
    Aug 03, 2022 @ 11:43
    Martin Griffiths
    0

    Umbraco 7 scheduled publishing problems in Azure App Service

    Hello Wonderful Umbraco community!

    We have an Umbraco 7.15.7 project that we are attempting to put onto an Azure app service as it has about 1 year of life left, before we rebuild on version 10 or possibly 11 :-)!

    So far, setting up the infrastructure in DevOps has gone well. We have a pipeline/CI working and the site has tested all the way through with little trouble. We've even managed to plug-in Azure AD SSO successfully.

    As part of our QA and integration test cycles we've settled on a single instance of P3V3. We may scale up/down, but we have no plans to scale out. So this isn't a load balanced set-up.

    Examine sync services and blob storage/image processor are working fine.

    The site runs a few plug-ins worth a mention that may cause issue on Azure. Namely:

    God Mode Unversion Nexu ModelsBuilder (built-in) Diplo.LinkChecker

    The only bump in the road we're now experiencing is Scheduled Publishing seems to be very unstable. On a first scheduled publish, it works fine. On the second subsequent scheduled publish (same page) the back office becomes unstable (nobody can publish any pages, we just get an endless spinning circle) , the second scheduled change doesn't show up on the website, but the back office UI suggests it has. The only way to clear the problem is to reset the app pool.

    Warns & Errors in the log consist of a single consistent error we get with Nexu, which happens on our current production box anyway.

    ERROR Our.Umbraco.Nexu.Core.BootStrapper - An unhandled exception occurred while parsing content
    

    System.NullReferenceException: Object reference not set to an instance of an object.

    With these Warns & Errors only happening on the Azure app service. They don't always consistently appear though every time.

    2022-08-02 17:15:10,636 [P1508/D35/T509] WARN  Umbraco.Core.Scoping.ScopeProvider - Missed ScopeContext Object 05f96a5a
    

    2022-08-02 17:15:10,683 [P1508/D35/T383] WARN Umbraco.Core.Scoping.ScopeProvider - Missed ScopeContext Object 05f96a5a 2022-08-02 17:15:10,683 [P1508/D35/T383] WARN Umbraco.Core.Scoping.ScopeProvider - Missed ScopeContext Object 05f96a5a

    2022-08-02 16:53:57,440 [P1508/D32/T205] ERROR Umbraco.Web.Scheduling.ScheduledPublishing - Failed (see exception).
    

    System.NullReferenceException: Object reference not set to an instance of an object. at Umbraco.Core.Scoping.Scope.<>cDisplayClass700.2() at Umbraco.Core.Scoping.Scope.TryFinally(Int32 index, Action[] actions) at Umbraco.Core.Scoping.Scope.TryFinally(Int32 index, Action[] actions) at Umbraco.Core.Scoping.Scope.TryFinally(Int32 index, Action[] actions) at Umbraco.Core.Scoping.Scope.RobustExit(Boolean completed, Boolean onException) at Umbraco.Core.Scoping.Scope.Dispose() at Umbraco.Core.Persistence.UnitOfWork.ScopeUnitOfWork.DisposeResources() at Umbraco.Core.DisposableObjectSlim.Dispose(Boolean disposing) at Umbraco.Core.DisposableObjectSlim.Dispose() at Umbraco.Core.Services.UserService.GetUserById(Int32 id) at umbraco.BusinessLogic.User.GetUser(Int32 id) at umbraco.cms.businesslogic.web.Document.SetupNode(IContent content) at Umbraco.Web.Cache.PageCacheRefresher.Refresh(IContent instance) at Umbraco.Core.Sync.ServerMessengerBase.DeliverLocal[T](ICacheRefresher refresher, MessageType messageType, Func2 getId, IEnumerable1 instances) at Umbraco.Core.Sync.ServerMessengerBase.Deliver[T](IEnumerable1 servers, ICacheRefresher refresher, MessageType messageType, Func2 getId, IEnumerable1 instances) at Umbraco.Web.Cache.DistributedCache.Refresh[T](Guid factoryGuid, Func2 getNumericId, T[] instances) at Umbraco.Web.Cache.DistributedCacheExtensions.RefreshPageCache(DistributedCache dc, IContent[] content) at Umbraco.Web.Cache.CacheRefresherEventHandler.ContentServicePublished(IPublishingStrategy sender, PublishEventArgs1 e) at Umbraco.Core.Events.TypedEventHandler2.Invoke(TSender sender, TEventArgs e) at Umbraco.Core.Events.EventDefinition`2.RaiseEvent() at Umbraco.Core.Events.ScopeEventDispatcher.ScopeExitCompleted() at Umbraco.Core.Events.ScopeEventDispatcherBase.ScopeExit(Boolean completed) at Umbraco.Core.Scoping.Scope.<>cDisplayClass70_0.1() at Umbraco.Core.Scoping.Scope.TryFinally(Int32 index, Action[] actions) at Umbraco.Core.Scoping.Scope.TryFinally(Int32 index, Action[] actions) at Umbraco.Core.Scoping.Scope.RobustExit(Boolean completed, Boolean onException) at Umbraco.Core.Scoping.Scope.Dispose() at Umbraco.Core.Persistence.UnitOfWork.ScopeUnitOfWork.DisposeResources() at Umbraco.Core.DisposableObjectSlim.Dispose(Boolean disposing) at Umbraco.Core.DisposableObjectSlim.Dispose() at Umbraco.Core.Services.ContentService.SaveAndPublishDo(IContent content, Int32 userId, Boolean raiseEvents) at Umbraco.Core.Publishing.ScheduledPublisher.CheckPendingAndProcess() at Umbraco.Web.Scheduling.ScheduledPublishing.PerformRun()

    2022-08-02 16:53:57,408 [P1508/D32/T205] ERROR Umbraco.Core.Publishing.ScheduledPublisher - Error publishing node 14367
    

    System.NullReferenceException: Object reference not set to an instance of an object. at Umbraco.Core.Scoping.Scope.<>cDisplayClass700.2() at Umbraco.Core.Scoping.Scope.TryFinally(Int32 index, Action[] actions) at Umbraco.Core.Scoping.Scope.TryFinally(Int32 index, Action[] actions) at Umbraco.Core.Scoping.Scope.TryFinally(Int32 index, Action[] actions) at Umbraco.Core.Scoping.Scope.RobustExit(Boolean completed, Boolean onException) at Umbraco.Core.Scoping.Scope.Dispose() at Umbraco.Core.Persistence.UnitOfWork.ScopeUnitOfWork.DisposeResources() at Umbraco.Core.DisposableObjectSlim.Dispose(Boolean disposing) at Umbraco.Core.DisposableObjectSlim.Dispose() at Umbraco.Core.Services.UserService.GetUserById(Int32 id) at umbraco.BusinessLogic.User.GetUser(Int32 id) at umbraco.cms.businesslogic.web.Document.SetupNode(IContent content) at Umbraco.Web.Cache.PageCacheRefresher.Refresh(IContent instance) at Umbraco.Core.Sync.ServerMessengerBase.DeliverLocal[T](ICacheRefresher refresher, MessageType messageType, Func2 getId, IEnumerable1 instances) at Umbraco.Core.Sync.ServerMessengerBase.Deliver[T](IEnumerable1 servers, ICacheRefresher refresher, MessageType messageType, Func2 getId, IEnumerable1 instances) at Umbraco.Web.Cache.DistributedCache.Refresh[T](Guid factoryGuid, Func2 getNumericId, T[] instances) at Umbraco.Web.Cache.DistributedCacheExtensions.RefreshPageCache(DistributedCache dc, IContent[] content) at Umbraco.Web.Cache.CacheRefresherEventHandler.ContentServicePublished(IPublishingStrategy sender, PublishEventArgs1 e) at Umbraco.Core.Events.TypedEventHandler2.Invoke(TSender sender, TEventArgs e) at Umbraco.Core.Events.EventDefinition`2.RaiseEvent() at Umbraco.Core.Events.ScopeEventDispatcher.ScopeExitCompleted() at Umbraco.Core.Events.ScopeEventDispatcherBase.ScopeExit(Boolean completed) at Umbraco.Core.Scoping.Scope.<>cDisplayClass70_0.1() at Umbraco.Core.Scoping.Scope.TryFinally(Int32 index, Action[] actions) at Umbraco.Core.Scoping.Scope.TryFinally(Int32 index, Action[] actions) at Umbraco.Core.Scoping.Scope.RobustExit(Boolean completed, Boolean onException) at Umbraco.Core.Scoping.Scope.Dispose() at Umbraco.Core.Persistence.UnitOfWork.ScopeUnitOfWork.DisposeResources() at Umbraco.Core.DisposableObjectSlim.Dispose(Boolean disposing) at Umbraco.Core.DisposableObjectSlim.Dispose() at Umbraco.Core.Services.ContentService.SaveAndPublishDo(IContent content, Int32 userId, Boolean raiseEvents) at Umbraco.Core.Publishing.ScheduledPublisher.CheckPendingAndProcess()

Please Sign in or register to post replies

Write your reply to:

Draft