Courier Transfer Fails When Parent Node Does Not Exist On Destination
I have a staging and production site which content regularly gets Couriered to and from.
After upgrading to Umbraco 7.6.1 and Courier 3.1.0 the following exception occurs when transferring a new node with sub nodes.
2017-05-30 13:01:15,590 [16] ERROR Umbraco.Courier.Core.BackgroundTaskRunner - [Thread 16] An error occurred consuming task
System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.ApplicationException: Error extracting item, ID: 2d2b49e4-a0a3-4ec4-afe2-f51685136ac4_d8e6ad83-e73a-11df-9492-0800200c9a66, Name: Test1, Type: Umbraco.Courier.ItemProviders.Document ---> System.InvalidOperationException: Could not find parent node bcb531e9-bdb8-40a7-9cca-7622d218f6c6, this node's path/level will be in a corrupted state
at Umbraco.Courier.Persistence.V6.NHibernate.Helpers.CmsNodeHelper.TryUpdateParentNode(UmbracoNode node, Guid parentUniqueId, ISession session)
at Umbraco.Courier.Persistence.V6.NHibernate.Helpers.ContentHelperBase1.Create(ContentBase content, ISession session)
at Umbraco.Courier.Persistence.V6.NHibernate.Helpers.ContentHelperBase1.Create(ContentBase content, CmsContent existingContent, ISession session)
at Umbraco.Courier.Persistence.V6.NHibernate.Helpers.DocumentHelper.Create(Document doc, CmsContent existingContent, ISession session)
at Umbraco.Courier.Persistence.V6.NHibernate.Persisters.DocumentItem.PersistItem(Document item)
at Umbraco.Courier.Core.ItemCrud1.PersistItem[T1](T1 item)
at Umbraco.Courier.Core.ItemCrudProvider.PersistItem[T](T item)
at Umbraco.Courier.ItemProviders.DocumentItemProvider.HandleItemExtract(Document item)
at Umbraco.Courier.Core.GenericItemProvider1.HandleExtract(Item item)
at Umbraco.Courier.Core.ItemProvider.Extract(Item item)
--- End of inner exception stack trace ---
at Umbraco.Courier.Core.ItemProvider.Extract(Item item)
at Umbraco.Courier.RepositoryProviders.Local.ExtractItem(Item item, Boolean overwrite)
at Umbraco.Courier.RepositoryProviders.Webservices.Repository.ExtractItems(String sessionKey, SerializedItemWrapper[] items, Boolean overWrite)
--- End of inner exception stack trace ---
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.EndInvoke(IAsyncResult asyncResult)
at Umbraco.Courier.RepositoryProviders.WebServiceProvider.RepositoryWebservice.EndExtractItems(IAsyncResult asyncResult)
at Umbraco.Courier.RepositoryProviders.CourierWebserviceRepositoryProvider.ExtractItems(Item[] items, Boolean overWrite)
at Umbraco.Courier.Core.Extraction.RevisionExtraction.ExtractItems(List1 nodes)
at Umbraco.Courier.Core.Extraction.RevisionExtraction.ExtractReadyRevisionBatch()
at Umbraco.Courier.Core.Extraction.RevisionExtraction.Extract()
at Umbraco.Courier.Core.Tasks.ExtractionTask.Run()
at Umbraco.Courier.Core.BackgroundTaskRunner1.ConsumeTaskInternal(T task)
Courier Transfer Fails When Parent Node Does Not Exist On Destination
I have a staging and production site which content regularly gets Couriered to and from.
After upgrading to Umbraco 7.6.1 and Courier 3.1.0 the following exception occurs when transferring a new node with sub nodes.
2017-05-30 13:01:15,590 [16] ERROR Umbraco.Courier.Core.BackgroundTaskRunner - [Thread 16] An error occurred consuming task System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.ApplicationException: Error extracting item, ID: 2d2b49e4-a0a3-4ec4-afe2-f51685136ac4_d8e6ad83-e73a-11df-9492-0800200c9a66, Name: Test1, Type: Umbraco.Courier.ItemProviders.Document ---> System.InvalidOperationException: Could not find parent node bcb531e9-bdb8-40a7-9cca-7622d218f6c6, this node's path/level will be in a corrupted state at Umbraco.Courier.Persistence.V6.NHibernate.Helpers.CmsNodeHelper.TryUpdateParentNode(UmbracoNode node, Guid parentUniqueId, ISession session) at Umbraco.Courier.Persistence.V6.NHibernate.Helpers.ContentHelperBase
1.Create(ContentBase content, ISession session) at Umbraco.Courier.Persistence.V6.NHibernate.Helpers.ContentHelperBase
1.Create(ContentBase content, CmsContent existingContent, ISession session) at Umbraco.Courier.Persistence.V6.NHibernate.Helpers.DocumentHelper.Create(Document doc, CmsContent existingContent, ISession session) at Umbraco.Courier.Persistence.V6.NHibernate.Persisters.DocumentItem.PersistItem(Document item) at Umbraco.Courier.Core.ItemCrud1.PersistItem[T1](T1 item) at Umbraco.Courier.Core.ItemCrudProvider.PersistItem[T](T item) at Umbraco.Courier.ItemProviders.DocumentItemProvider.HandleItemExtract(Document item) at Umbraco.Courier.Core.GenericItemProvider
1.HandleExtract(Item item) at Umbraco.Courier.Core.ItemProvider.Extract(Item item) --- End of inner exception stack trace --- at Umbraco.Courier.Core.ItemProvider.Extract(Item item) at Umbraco.Courier.RepositoryProviders.Local.ExtractItem(Item item, Boolean overwrite) at Umbraco.Courier.RepositoryProviders.Webservices.Repository.ExtractItems(String sessionKey, SerializedItemWrapper[] items, Boolean overWrite) --- End of inner exception stack trace --- at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.EndInvoke(IAsyncResult asyncResult) at Umbraco.Courier.RepositoryProviders.WebServiceProvider.RepositoryWebservice.EndExtractItems(IAsyncResult asyncResult) at Umbraco.Courier.RepositoryProviders.CourierWebserviceRepositoryProvider.ExtractItems(Item[] items, Boolean overWrite) at Umbraco.Courier.Core.Extraction.RevisionExtraction.ExtractItems(List1 nodes) at Umbraco.Courier.Core.Extraction.RevisionExtraction.ExtractReadyRevisionBatch() at Umbraco.Courier.Core.Extraction.RevisionExtraction.Extract() at Umbraco.Courier.Core.Tasks.ExtractionTask.Run() at Umbraco.Courier.Core.BackgroundTaskRunner
1.ConsumeTaskInternal(T task)Thank you in advance.
is working on a reply...