JSON token issue causing Tables to break internal indexing in Umb 13.4.1 #39
Labels
release/13.0.2
Issues and tasks related to version 13.0.1.
type/bug
Task is a bug. Fix it please!
umbraco/v13
Issues and tasks related to Umbraco 13.
I am currently on Umbraco 13.4.1 but this has been an issue for most of the year so I don't kniow which Umbraco 13 version it started in as I just now found the root cause. This seems to only affect the internal index. When building the index a token serialzation error is thrown and indexing stops. The error in the logs is:
Index populating failed for populator "Umbraco.Cms.Infrastructure.Examine.ContentIndexPopulator"
System.InvalidCastException: Cannot cast Newtonsoft.Json.Linq.JObject to Newtonsoft.Json.Linq.JToken.
at Newtonsoft.Json.Linq.Extensions.Convert[T,U](T token)
at Newtonsoft.Json.Linq.JToken.Value[T](Object key)
at Limbo.Umbraco.Tables.PropertyEditors.TablePropertyIndexValueFactory.ProcessRow(JArray row)+MoveNext()
at System.Linq.Enumerable.SelectManySingleSelectorIterator
2.MoveNext() at Umbraco.Cms.Core.PropertyEditors.NestedPropertyIndexValueFactoryBase
2.GetResumeFromAllContent(List1 indexedContent) at Umbraco.Cms.Core.PropertyEditors.NestedPropertyIndexValueFactoryBase
2.HandleResume(List1 indexedContent, IProperty property, String culture, String segment, Boolean published)+MoveNext() at Umbraco.Cms.Infrastructure.Examine.BaseValueSetBuilder
1.AddPropertyValue(IProperty property, String culture, String segment, IDictionary2 values, IEnumerable
1 availableCultures, IDictionary2 contentTypeDictionary) at Umbraco.Cms.Infrastructure.Examine.ContentValueSetBuilder.GetValueSetsEnumerable(IContent[] content, Dictionary
2 creatorIds, Dictionary2 writerIds)+MoveNext() at System.Collections.Generic.LargeArrayBuilder
1.AddRange(IEnumerable1 items) at System.Collections.Generic.EnumerableHelpers.ToArray[T](IEnumerable
1 source)at System.Linq.Enumerable.ToArray[TSource](IEnumerable
1 source) at Umbraco.Cms.Infrastructure.Examine.ContentIndexPopulator.IndexAllContent(Int32 contentParentId, Int32 pageIndex, Int32 pageSize, IReadOnlyList
1 indexes)at Umbraco.Cms.Infrastructure.Examine.ContentIndexPopulator.PopulateIndexes(IReadOnlyList`1 indexes)
at Umbraco.Cms.Infrastructure.Examine.IndexPopulator.Populate(IIndex[] indexes)
at Umbraco.Cms.Infrastructure.Examine.ExamineIndexRebuilder.RebuildIndexes(Boolean onlyEmptyIndexes, TimeSpan delay, CancellationToken cancellationToken)
The only way to get this error to show in my logs was to shut down the website, delete the indexes and log file, then start the site up again. After waiting a few minutes for the indexing to run I will see this error in the log. The funny thing is that if I manually hit the "rebuild index" button the error is not thrown in the log but the index will fail to build and populate at all. This does not seem to affect the external index though.
The text was updated successfully, but these errors were encountered: