I am unable to use Courier to move an entire site into a new clean Umbraco instance. I believe this may be due to nodes getting broken due to a bug that was in Umbraco 4.10.
I've looked through the stack traces and tried to trace the ID's through, but I've struggled to find these in the database. Fingers crossed there is some manual way of removing these broken documents and then Courier will run.
Is there something I can run on the database to find orphaned nodes?
Umbraco.Courier.Core.Exceptions.PackageException: Unable to load item with id '92190bf8-fd93-48ee-93d6-4f3ad8a5a875' from provider 'Documents' ---> Umbraco.Courier.Core.Exceptions.RetrieveException: Error retrieving item [92190bf8-fd93-48ee-93d6-4f3ad8a5a875] from provider [d8e6ad83-e73a-11df-9492-0800200c9a66]. ---> System.NullReferenceException: Object reference not set to an instance of an object. at Umbraco.Courier.Persistence.V4.NHibernate.Persisters.DocumentItem.RetrieveItem[T](ItemIdentifier itemId) in c:\Program Files (x86)\teamcity\buildAgent\work\650bafc4b83aa858\Core\Umbraco.Courier.Persistence.NHibernate\Persisters\Document.cs:line 146 at Umbraco.Courier.Core.ItemCrudProvider.RetrieveItem[T](ItemIdentifier itemId) --- End of inner exception stack trace --- at Umbraco.Courier.Core.ItemCrudProvider.RetrieveItem[T](ItemIdentifier itemId) at Umbraco.Courier.ItemProviders.DocumentItemProvider.HandlePack(ItemIdentifier id) at Umbraco.Courier.Core.ItemProvider.Package(ItemIdentifier id) at Umbraco.Courier.RepositoryProviders.Local.Package(ItemIdentifier itemId) at Umbraco.Courier.Core.Packaging.RevisionPackaging.PackageItem(ItemIdentifier itemId, ItemProvider provider, QueuedItemIdentifier itemInQueue) --- End of inner exception stack trace --- at Umbraco.Courier.Core.Packaging.RevisionPackaging.PackageItem(ItemIdentifier itemId, ItemProvider provider, QueuedItemIdentifier itemInQueue) at Umbraco.Courier.Core.Packaging.RevisionPackaging.PackageBatch() at Umbraco.Courier.Core.Packaging.RevisionPackaging.Package() at Umbraco.Courier.Core.Tasks.PackagingTask.Run() at Umbraco.Courier.Core.TaskManager.manageTask(IRevisionTask value) 28/05/2013 16:16:03
29/05/2013 10:08:24; Umbraco.Courier.Core.Exceptions.PackageException: Unable to load item with id '92190bf8-fd93-48ee-93d6-4f3ad8a5a875' from provider 'Documents' ---> Umbraco.Courier.Core.Exceptions.RetrieveException: Error retrieving item [92190bf8-fd93-48ee-93d6-4f3ad8a5a875] from provider [d8e6ad83-e73a-11df-9492-0800200c9a66]. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at Umbraco.Courier.Persistence.V4.NHibernate.Persisters.DocumentItem.RetrieveItem[T](ItemIdentifier itemId) in c:\Program Files (x86)\teamcity\buildAgent\work\650bafc4b83aa858\Core\Umbraco.Courier.Persistence.NHibernate\Persisters\Document.cs:line 143
at Umbraco.Courier.Core.ItemCrudProvider.RetrieveItem[T](ItemIdentifier itemId)
--- End of inner exception stack trace ---
at Umbraco.Courier.Core.ItemCrudProvider.RetrieveItem[T](ItemIdentifier itemId) at Umbraco.Courier.ItemProviders.DocumentItemProvider.HandlePack(ItemIdentifier id) at Umbraco.Courier.Core.ItemProvider.Package(ItemIdentifier id) at Umbraco.Courier.RepositoryProviders.Local.Package(ItemIdentifier itemId) at Umbraco.Courier.Core.Packaging.RevisionPackaging.PackageItem(ItemIdentifier itemId, ItemProvider provider, QueuedItemIdentifier itemInQueue)
--- End of inner exception stack trace --- at Umbraco.Courier.Core.Packaging.RevisionPackaging.PackageItem(ItemIdentifier itemId, ItemProvider provider, QueuedItemIdentifier itemInQueue) at Umbraco.Courier.Core.Packaging.RevisionPackaging.PackageBatch() at Umbraco.Courier.Core.Packaging.RevisionPackaging.Package() at Umbraco.Courier.Core.Tasks.PackagingTask.Run() at Umbraco.Courier.Core.TaskManager.manageTask(IRevisionTask value)
Revision Log
29/05/2013 10:08:23; [Error];92190bf8-fd93-48ee-93d6-4f3ad8a5a875;Umbraco.Courier.Persistence.V4.NHibernate.NHibernateProvider;PersistenceManager;Could not retrieve item:
System.NullReferenceException: Object reference not set to an instance of an object.
at Umbraco.Courier.Persistence.V4.NHibernate.Persisters.DocumentItem.RetrieveItem[T](ItemIdentifier itemId) in c:\Program Files (x86)\teamcity\buildAgent\work\650bafc4b83aa858\Core\Umbraco.Courier.Persistence.NHibernate\Persisters\Document.cs:line 143
at Umbraco.Courier.Core.ItemCrudProvider.RetrieveItem[T](ItemIdentifier itemId);
29/05/2013 10:08:23; [Error];92190bf8-fd93-48ee-93d6-4f3ad8a5a875;Umbraco.Courier.Persistence.V4.NHibernate.NHibernateProvider;PersistenceManager;Could not retrieve item:
System.NullReferenceException: Object reference not set to an instance of an object.
at Umbraco.Courier.Persistence.V4.NHibernate.Persisters.DocumentItem.RetrieveItem[T](ItemIdentifier itemId) in c:\Program Files (x86)\teamcity\buildAgent\work\650bafc4b83aa858\Core\Umbraco.Courier.Persistence.NHibernate\Persisters\Document.cs:line 143
at Umbraco.Courier.Core.ItemCrudProvider.RetrieveItem[T](ItemIdentifier itemId)
Hi Per, thanks for the tip! This has resolved some of the unexplainables, but it's still struggling.
To try and pin down exact errors, I've transferred over things by type. So for example Stylesheets - a okay, but Media throws this error.
System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: There was an exception running the extensions specified in the config file. ---> System.Web.HttpException: Maximum request length exceeded. at System.Web.HttpRequest.GetEntireRawContent() at System.Web.HttpRequest.get_InputStream() at System.Web.Services.Protocols.SoapServerProtocol.Initialize() --- End of inner exception stack trace --- at System.Web.Services.Protocols.SoapServerProtocol.Initialize() at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing) at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at Umbraco.Courier.RepositoryProviders.WebServiceProvider.RepositoryWebservice.CommitResourceitem(String revision, ResourceItem resourceItem, String username, String password) at Umbraco.Courier.RepositoryProviders.CourierWebserviceRepositoryProvider.CommitRevision(Revision revision) at Umbraco.Courier.Core.Transfer.RevisionTransfer.Transfer() at Umbraco.Courier.Core.Tasks.TransferTask.Run() at Umbraco.Courier.Core.TaskManager.manageTask(IRevisionTask value) 29/05/2013 13:16:11
It looks like this is linked to some form of SQL maxiumum request length parameter?
Mine was maxRequestLength="20480"will increase to executionTimeout="9000"maxRequestLength="500000"
Fingers crossed and thank you for the pointer,
Lau
** edit ** still falls over, I'll try setting to the maximum and seeing what happens. Hail Cesar, brute force version!! Hail, Hail Cesar!!!
So, transfering everything is dead certain to fail, so I'm transfering groups of things and then finding the things with the things that fail. A process of trianglulation.
Stylesheets, Media Types, Macro's, Macro Properties, Templates will transfer across to a new vanilla install of Umbraco.
Courier announcess success! Items transfered. And I can see lots of network activity for each item via an API Courier uses.
However upon visiting the other Umbraco installation, it is still empty and has no content, document types or even stylesheets to keep it company.
Poor little lonely Umbraco instance!
Help! Lau
p.s This is an error I'm getting on a group of media
System.NullReferenceException: Object reference not set to an instance of an object. at Umbraco.Courier.Core.Collections.Manifests.Item.ToXml() at Umbraco.Courier.Core.Collections.Manifests.Provider.ToXml() at Umbraco.Courier.Core.Collections.Manifests.RevisionManifest.ToXml() at Umbraco.Courier.Core.Packaging.RevisionPackaging.completeQueue() at Umbraco.Courier.Core.Packaging.RevisionPackaging.Package() at Umbraco.Courier.Core.Tasks.PackagingTask.Run() at Umbraco.Courier.Core.TaskManager.manageTask(IRevisionTask value) 29/05/2013 15:30:08
A new day and it seems the error has changed now too:
error:System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> The given key was not present in the dictionary. at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at Umbraco.Courier.RepositoryProviders.CourierWebserviceRepositoryProvider.OpenSession(String sessionKey) at Umbraco.Courier.Core.Packaging.RevisionPackaging.Package() at Umbraco.Courier.Core.TaskManager.manageTask(IRevisionTask value) 05/06/2013 14:35:02
Broken Documents (4.10) and Courier
Hello,
I am unable to use Courier to move an entire site into a new clean Umbraco instance. I believe this may be due to nodes getting broken due to a bug that was in Umbraco 4.10.
I've looked through the stack traces and tried to trace the ID's through, but I've struggled to find these in the database. Fingers crossed there is some manual way of removing these broken documents and then Courier will run.
Is there something I can run on the database to find orphaned nodes?
Umbraco.Courier.Core.Exceptions.PackageException: Unable to load item with id '92190bf8-fd93-48ee-93d6-4f3ad8a5a875' from provider 'Documents' ---> Umbraco.Courier.Core.Exceptions.RetrieveException: Error retrieving item [92190bf8-fd93-48ee-93d6-4f3ad8a5a875] from provider [d8e6ad83-e73a-11df-9492-0800200c9a66]. ---> System.NullReferenceException: Object reference not set to an instance of an object. at Umbraco.Courier.Persistence.V4.NHibernate.Persisters.DocumentItem.RetrieveItem[T](ItemIdentifier itemId) in c:\Program Files (x86)\teamcity\buildAgent\work\650bafc4b83aa858\Core\Umbraco.Courier.Persistence.NHibernate\Persisters\Document.cs:line 146 at Umbraco.Courier.Core.ItemCrudProvider.RetrieveItem[T](ItemIdentifier itemId) --- End of inner exception stack trace --- at Umbraco.Courier.Core.ItemCrudProvider.RetrieveItem[T](ItemIdentifier itemId) at Umbraco.Courier.ItemProviders.DocumentItemProvider.HandlePack(ItemIdentifier id) at Umbraco.Courier.Core.ItemProvider.Package(ItemIdentifier id) at Umbraco.Courier.RepositoryProviders.Local.Package(ItemIdentifier itemId) at Umbraco.Courier.Core.Packaging.RevisionPackaging.PackageItem(ItemIdentifier itemId, ItemProvider provider, QueuedItemIdentifier itemInQueue) --- End of inner exception stack trace --- at Umbraco.Courier.Core.Packaging.RevisionPackaging.PackageItem(ItemIdentifier itemId, ItemProvider provider, QueuedItemIdentifier itemInQueue) at Umbraco.Courier.Core.Packaging.RevisionPackaging.PackageBatch() at Umbraco.Courier.Core.Packaging.RevisionPackaging.Package() at Umbraco.Courier.Core.Tasks.PackagingTask.Run() at Umbraco.Courier.Core.TaskManager.manageTask(IRevisionTask value) 28/05/2013 16:16:03
Any hjælp or advice gratefully welcomed, Laurence
Umbraco 4.11.8, Courier (latest)
So I've tracked down the imaginery documents inside Courier, but I can't find them anywhere in the Content tree.
With debugging turned on, this is the log data:
Revision Log
Hi Laurence
Tried clearing the /app_data/courier/cache folder to ensure that, its not the cache thats out of sync?
/per
Hi Per, thanks for the tip! This has resolved some of the unexplainables, but it's still struggling.
To try and pin down exact errors, I've transferred over things by type. So for example Stylesheets - a okay, but Media throws this error.
System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: There was an exception running the extensions specified in the config file. ---> System.Web.HttpException: Maximum request length exceeded. at System.Web.HttpRequest.GetEntireRawContent() at System.Web.HttpRequest.get_InputStream() at System.Web.Services.Protocols.SoapServerProtocol.Initialize() --- End of inner exception stack trace --- at System.Web.Services.Protocols.SoapServerProtocol.Initialize() at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing) at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at Umbraco.Courier.RepositoryProviders.WebServiceProvider.RepositoryWebservice.CommitResourceitem(String revision, ResourceItem resourceItem, String username, String password) at Umbraco.Courier.RepositoryProviders.CourierWebserviceRepositoryProvider.CommitRevision(Revision revision) at Umbraco.Courier.Core.Transfer.RevisionTransfer.Transfer() at Umbraco.Courier.Core.Tasks.TransferTask.Run() at Umbraco.Courier.Core.TaskManager.manageTask(IRevisionTask value) 29/05/2013 13:16:11
It looks like this is linked to some form of SQL maxiumum request length parameter?
Mine was maxRequestLength="20480" will increase to executionTimeout="9000" maxRequestLength="500000"
Fingers crossed and thank you for the pointer,
Lau
** edit ** still falls over, I'll try setting to the maximum and seeing what happens. Hail Cesar, brute force version!! Hail, Hail Cesar!!!
Hola!
So, transfering everything is dead certain to fail, so I'm transfering groups of things and then finding the things with the things that fail. A process of trianglulation.
Stylesheets, Media Types, Macro's, Macro Properties, Templates will transfer across to a new vanilla install of Umbraco.
Courier announcess success! Items transfered. And I can see lots of network activity for each item via an API Courier uses.
However upon visiting the other Umbraco installation, it is still empty and has no content, document types or even stylesheets to keep it company.
Poor little lonely Umbraco instance!
Help! Lau
p.s This is an error I'm getting on a group of media
System.NullReferenceException: Object reference not set to an instance of an object. at Umbraco.Courier.Core.Collections.Manifests.Item.ToXml() at Umbraco.Courier.Core.Collections.Manifests.Provider.ToXml() at Umbraco.Courier.Core.Collections.Manifests.RevisionManifest.ToXml() at Umbraco.Courier.Core.Packaging.RevisionPackaging.completeQueue() at Umbraco.Courier.Core.Packaging.RevisionPackaging.Package() at Umbraco.Courier.Core.Tasks.PackagingTask.Run() at Umbraco.Courier.Core.TaskManager.manageTask(IRevisionTask value) 29/05/2013 15:30:08
On further investigation, transfering an item by going 'right click' Courier -e.g. stylesheet-A.css -> works.
However, this does not work the Courier section.
Most perculiar! Lau
Bumpty bump, Lau
A new day and it seems the error has changed now too:
error:System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> The given key was not present in the dictionary. at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at Umbraco.Courier.RepositoryProviders.CourierWebserviceRepositoryProvider.OpenSession(String sessionKey) at Umbraco.Courier.Core.Packaging.RevisionPackaging.Package() at Umbraco.Courier.Core.TaskManager.manageTask(IRevisionTask value) 05/06/2013 14:35:02
I have the exact same issue with Courier.
Does anybody have an idea what the resolution could be?
I cannot find what key is missing, or why it is lost in the first place...
Kind regards,
Peter Rombouts
Hi Laurence
What exact version of Courier are you running?
Martin.
(Sneaking my version in here)
I have the exact same problem, and my version is Courier_2.7.5.1.90.v6.zip
Kind regards,
Peter Rombouts
The missing key is most likely because of a missing or locked assembly which contains the datalayer, described here: https://github.com/umbraco/Courier/blob/master/Documentation/CommonIssues.md#key-not-found-exception
Hi Per,
Thanks for the update.
I've taken the nightly build Courier_2.7.5.89.hotfix.v6.zip which solves the 'key not found' exception.
Thanks!
is working on a reply...