1

I am using Unicorn v3 and have warnings on a number of items (field no longer exist) but have items without warnings in the same sync/project as well.

ERROR: Non-fatal warnings occurred during loading. (11 inner failures)

The field a42b18d0-f5dd-4e5d-81a0-84a98647905d (likely Formatted value) is not present in Sitecore on the Price Catalog Field template.

... 10 more warnings of the same type

(Unicorn.DeserializationSoftFailureAggregateException)
at Unicorn.Loader.DeserializeFailureRetryer.RetryAll(ISourceDataStore sourceDataStore, Action`1 retrySingleItemAction, Action`1 retryTreeAction)
   at Unicorn.Loader.SerializationLoader.LoadAll(IItemData[] rootItemsData, IDeserializeFailureRetryer retryer, IConsistencyChecker consistencyChecker, Action`1 rootLoadedCallback)
   at Unicorn.SerializationHelper.SyncTree(IConfiguration configuration, Action`1 rootLoadedCallback, IItemData[] roots)
   at Unicorn.ControlPanel.Pipelines.UnicornControlPanelRequest.SyncVerb.Process(IProgressStatus progress, ILogger additionalLogger)

Unicorn completes but does not seem to update the other items that do not have warnings.

Is this expected behavior or configuration?

  • More information is needed here, what are the warnings, are there any errors in the logs? What have you looked into to so far? – Richard Seal Feb 27 '19 at 15:14
  • Added the stacktrace. Actually I am not sure where to dig deeper at the moment. – Joost Feb 27 '19 at 15:23
  • Might be worth taking this to the #unicorn channel on sitecorechat.slack.com ? – Richard Seal Feb 27 '19 at 15:24
  • Unicorn 3? :O And what version of Sitecore? That said, the non-fatal warnings logged have no direct connection to the Exception happening later. – Mark Cassidy Feb 27 '19 at 16:53
1

Hopefully you have solved the problem already but I will post my solution for others who might pop onto this page while searching for a solution (The "problem" still exists in Unicorn v4).

This warning occurs when you delete a field from a template but forget to serialize standard values that provide value for this field.

Example

Let's assume you have a template which has fields A, B and C. This template have standard values set for all your fields. Now when you remove field A, your standard values yml file will still hold value for this field. And Unicorn will be trying to set this field even though it is not there.

Solution:

You have to serialize standard values while removing fields. Also you have to consider template inheritance - ie. when the base template field has been removed and standard values are set in inheriting template.

As a workaround I am considering two options:

  1. Programmatically trigger serialization of standard values upon removing any field (this gets tricky when we consider template inheritance).
  2. Change this warning to an error thus forcing people to have their work rejected and serialize standard values on a regular basis

Hope this helps someone.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.