When trying to restore content from Cloud to Local, I get the following error
An error occurred
The source environment has thrown a Umbraco.Deploy.Exceptions.RemoteApiException with message: The remote API has thrown an exception. It might have been caused by an inner System.ArgumentNullException with message: Value cannot be null. Parameter name: second
The technical details may contain more information.
Looking at the full error, it suggest it has something to do with variants.
EXCEPTION:
Umbraco.Deploy.Exceptions.RemoteApiException: The remote API has thrown an exception.
ved Umbraco.Deploy.Environments.RemoteUmbracoEnvironment.<SucceedOrThrow>d__16.MoveNext()
--- Afslutningen på staksporingen fra den tidligere placering, hvor undtagelsen blev udløst ---
ved System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
ved Umbraco.Deploy.Environments.RemoteUmbracoEnvironment.<WaitAction>d__17.MoveNext()
--- Afslutningen på staksporingen fra den tidligere placering, hvor undtagelsen blev udløst ---
ved System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
ved System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
ved Umbraco.Deploy.Environments.RemoteUmbracoEnvironment.<UpdateManifestAsync>d__51.MoveNext()
--- Afslutningen på staksporingen fra den tidligere placering, hvor undtagelsen blev udløst ---
ved System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
ved Umbraco.Deploy.Work.WorkItems.DeployRestoreWorkItemBase.<NegotiateManifest>d__19.MoveNext()
--- Afslutningen på staksporingen fra den tidligere placering, hvor undtagelsen blev udløst ---
ved System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
ved System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
ved Umbraco.Deploy.Work.WorkItems.TargetPartialRestoreWorkItem.<Proceed>d__16.MoveNext()
--- Afslutningen på staksporingen fra den tidligere placering, hvor undtagelsen blev udløst ---
ved System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
ved System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
ved Umbraco.Deploy.Work.WorkItems.TargetPartialRestoreWorkItem.<ExecuteAsyncSub>d__15.MoveNext()
--- Afslutningen på staksporingen fra den tidligere placering, hvor undtagelsen blev udløst ---
ved System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
ved Umbraco.Deploy.Work.WorkItems.TargetPartialRestoreWorkItem.<ExecuteAsyncSub>d__15.MoveNext()
--- Afslutningen på staksporingen fra den tidligere placering, hvor undtagelsen blev udløst ---
ved System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
ved System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
ved Umbraco.Deploy.Work.WorkItems.TargetPartialRestoreWorkItem.<ExecuteAsync>d__14.MoveNext()
REMOTE:
System.ArgumentNullException: Value cannot be null.
Parameter name: second
at System.Linq.Enumerable.Concat[TSource](IEnumerable`1 first, IEnumerable`1 second)
at Umbraco.Deploy.Contrib.Connectors.ValueConnectors.BlockEditorValueConnector.ToArtifact(Object value, PropertyType propertyType, ICollection`1 dependencies)
at Vendr.Deploy.Connectors.ValueConnectors.VendrVariantsEditorValueConnector.ToArtifact(Object value, PropertyType propertyType, ICollection`1 dependencies)
at Umbraco.Deploy.Connectors.ServiceConnectors.ContentConnector.ContentConnectorBase`2.SerializeNonVariantValue(ICollection`1 dependencies, IDictionary`2 propertyCollection, Property property, IValueConnector valueConnector)
at Umbraco.Deploy.Connectors.ServiceConnectors.ContentConnector.ContentConnectorBase`2.MapArtifactProperties(PropertyCollection properties, ICollection`1 dependencies, Boolean published)
at Umbraco.Deploy.Connectors.ServiceConnectors.ContentConnector.DocumentConnectorBase.MapVersion(IContent content, ICollection`1 dependencies, Boolean published)
at Umbraco.Deploy.Connectors.ServiceConnectors.ContentConnector.DocumentConnector.GetArtifact(GuidUdi udi, IContent content)
at Umbraco.Deploy.Connectors.ServiceConnectors.ContentConnector.DocumentConnector.GetArtifact(GuidUdi udi)
at Umbraco.Deploy.Connectors.ServiceConnectors.ServiceConnectorBase`3.Umbraco.Core.Deploy.IServiceConnector.GetArtifact(Udi udi)
at Umbraco.Deploy.Environments.CurrentEnvironment.GetDependencyArtifact(ArtifactDependency dep, DependentArtifactState& dependentArtifactState, String& dependencyName, String& dependencyErrorMessage)
at Umbraco.Deploy.Environments.CurrentEnvironment.AddEntries(Manifest manifest, List`1 sigs, HashSet`1 exclude, IWorkItem workItem, CancellationToken token)
at Umbraco.Deploy.Environments.CurrentEnvironment.UpdateManifest(Guid sessionId, Manifest manifest, IEnumerable`1 exclude)
at Umbraco.Deploy.Environments.EnvironmentController.<>c__DisplayClass32_0.<BeginUpdateManifest>b__0()
at Umbraco.Deploy.Work.WorkItems.SessionWorkItem.<>c__DisplayClass30_0.<ExecuteAction>b__0(CancellationToken token)
at Umbraco.Deploy.Work.WorkItems.SessionWorkItem.<ExecuteAsync>d__24.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Umbraco.Deploy.Work.WorkItems.SessionWorkItem.WaitIdle()
at Umbraco.Deploy.Environments.EnvironmentController.WaitIdle(SessionActionModel model)
at lambda_method(Closure , Object , Object[] )
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_2.<GetExecutor>b__2(Object instance, Object[] methodParameters)
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.AuthorizationFilterAttribute.<ExecuteAuthorizationFilterAsyncCore>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.AuthorizationFilterAttribute.<ExecuteAuthorizationFilterAsyncCore>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ExceptionFilterResult.<ExecuteAsync>d__6.MoveNext()
I should probably be more specific: I can restore content fine, as long as it's not a product, so the above error comes when trying to restore product nodes.
Ok, so I've created a pull request for the Umbraco.Deploy.Contrib project which null checks the block editors Settings value before attempting to concatenate the values together https://github.com/umbraco/Umbraco.Deploy.Contrib/pull/51
I'm not sure if you can pull the source for this PR and compile and test to make sure this resolves your issue.
Not entirely sure why this is an issue now as It's worked for others before, but hey 🤷♂️
Cannot restore content from Cloud to Local
When trying to restore content from Cloud to Local, I get the following error
Looking at the full error, it suggest it has something to do with variants.
Umbraco 8.17.0
Vendr 2.0.4
Vendr.Deploy 2.0.1
I should probably be more specific: I can restore content fine, as long as it's not a product, so the above error comes when trying to restore product nodes.
Hmm, looking at it, it seems to be coming from the
BlockEditorValueConnector
base class, and specifically aConcact
call which I'd assume is this one https://github.com/umbraco/Umbraco.Deploy.Contrib/blob/v4/dev/src/Umbraco.Deploy.Contrib.Connectors/ValueConnectors/BlockEditorValueConnector.cs#L151My guess is, because we aren't using a settings collection, the Vendr block editors value is
null
and so the call toConcat
doesn't like this.Might have to do a PR to the contrib project to null check settings before concatinating.
Matt
Ok, so I've created a pull request for the Umbraco.Deploy.Contrib project which null checks the block editors
Settings
value before attempting to concatenate the values together https://github.com/umbraco/Umbraco.Deploy.Contrib/pull/51I'm not sure if you can pull the source for this PR and compile and test to make sure this resolves your issue.
Not entirely sure why this is an issue now as It's worked for others before, but hey 🤷♂️
Matt
Ok so I downloaded the project and compiled it and replaced the dll, and pushed to Cloud.
That solved it, I can now restore content from Cloud to Local.
Thanks, much appreciated! 👍💪🥳
is working on a reply...