-
Notifications
You must be signed in to change notification settings - Fork 115
Description
Do you want to request a feature or report a bug?
Bug
What is the current behavior?
Synchronizing with the SyncSilent verb throws an exception when the Retryer tries to process items.
2452 12:52:18 ERROR ERROR: Some directories could not be loaded. (1 inner failures)
master:/sitecore/content/retry-item (Unicorn.DeserializationAggregateException)
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, Boolean runSyncStartPipeline, IItemData partialSyncRoot)
at Unicorn.SerializationHelper.SyncConfigurations(IConfiguration[] configurations, IProgressStatus progress, ILogger additionalLogger)
INNER EXCEPTION
master:/sitecore/content/retry-item (Rainbow.Storage.Sc.Deserialization.DeserializationException)
No stack trace available.
INNER EXCEPTION
Failed to paste item: /sitecore/content/retry-item (Rainbow.Storage.Sc.Deserialization.DeserializationException)
at Rainbow.Storage.Sc.Deserialization.DefaultDeserializer.Deserialize(IItemData serializedItemData, IFieldValueManipulator fieldValueManipulator)
at Rainbow.Storage.Sc.SitecoreDataStore.Save(IItemData item, IFieldValueManipulator fieldValueManipulator)
at Unicorn.Evaluators.SerializedAsMasterEvaluator.EvaluateUpdate(IItemData sourceItem, IItemData targetItem)
at Unicorn.Loader.SerializationLoader.DoLoadItem(IItemData serializedItemData, IConsistencyChecker consistencyChecker)
at Unicorn.Loader.DeserializeFailureRetryer.RetryAll(ISourceDataStore sourceDataStore, Action`1 retrySingleItemAction, Action`1 retryTreeAction)
INNER EXCEPTION
The current user does not have write access to this item. User: domain\Anonymous, Item: retry-item ({00000000-0000-0000-0000-000000000000}) (System.UnauthorizedAccessException)
at Sitecore.Data.Items.ItemEditing.BeginEdit()
at Rainbow.Storage.Sc.Deserialization.DefaultDeserializer.PasteSharedFields(IItemData serializedItemData, Item targetItem, Boolean newItemWasCreated, List`1 softErrors, IFieldValueManipulator fieldValueManipulator)
at Rainbow.Storage.Sc.Deserialization.DefaultDeserializer.Deserialize(IItemData serializedItemData, IFieldValueManipulator fieldValueManipulator)
SecurityDisabler is missing
When the exception occurs there is no SecurityDisabler active. The Sitecore.Context.Items["SecurityStateSwitcher_State"] is missing the Disabled state. The SyncSilent verb runs inside as a Task and the Sitecore.Context.Items values from the originating HttpContext are not available. The collection falls back on a new thread static object.
This only happens to the Retryer items. I guess that the Retryer is not running inside a UnicornOperationContext.
It doesn't always happen
The exception above does not happen constantly. Sometimes (2/10) it still has a security disabler active somehow and it returns the original non-fatal warning below. Not sure how this happens.
13852 13:10:51 ERROR ERROR: Non-fatal warnings occurred during loading. (1 inner failures)
The fields 00000000-0000-0000-0000-000000000001 (likely field-x), 00000000-0000-0000-0000-000000000002 (likely field-y) are not present in Sitecore on the TemplateName template. (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, Boolean runSyncStartPipeline, IItemData partialSyncRoot)
at Unicorn.SerializationHelper.SyncConfigurations(IConfiguration[] configurations, IProgressStatus progress, ILogger additionalLogger)
If the current behavior is a bug, please provide the steps to reproduce.
Use the SyncSilent verb. Make sure one configuration will at least add one (failed) item to retry.
Please mention your Sitecore version and Unicorn version.
- Sitecore 10.0
- Unicorn 4.1.3