Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Patrick Heine 4 posts 85 karma points
    Apr 19, 2023 @ 11:31
    Patrick Heine
    0

    Examine index problem after updating multi-language site from 10.4.0 to 10.5.0

    I am currently working on a multi language site (german and english) in the LTS branch.

    After reading up on examine in 10.x I discovered the block grid indexing problem and the released "fix" in 10.5.0, so I updated the site yesterday in order to start working on the search.

    Language setup:

    1. german (de-DE), default language, mandatory language, no fallback language
    2. english (en-US), not default, not mandatory, no fallback language

    Since upgrading and re-generating the models the examine indexer keeps failing with the following two error messages:

    System.NotSupportedException: Variation "de-de,<null>" is not supported by the property type. at Umbraco.Cms.Core.Models.Property.SetValue(Object value, String culture, String segment) at Umbraco.Cms.Core.PropertyEditors.NestedPropertyIndexValueFactoryBase'2.GetNestedResults(String keyPrefix, String culture, String segment, Boolean published, IDictionary'2 propertyTypeDictionary, TItem nestedContentRowValue)+MoveNext() at System.Collections.Generic.List'1.InsertRange(Int32 index, IEnumerable'1 collection) at System.Collections.Generic.List'1.AddRange(IEnumerable'1 collection) at Umbraco.Cms.Core.PropertyEditors.NestedPropertyIndexValueFactoryBase'2.Handle(TSerialized deserializedPropertyValue, IProperty property, String culture, String segment, Boolean published) at Umbraco.Cms.Core.PropertyEditors.JsonPropertyIndexValueFactoryBase'1.GetIndexValues(IProperty property, String culture, String segment, Boolean published) at Umbraco.Cms.Infrastructure.Examine.BaseValueSetBuilder'1.AddPropertyValue(IProperty property, String culture, String segment, IDictionary'2 values) at Umbraco.Cms.Infrastructure.Examine.ContentValueSetBuilder.GetValueSetsEnumerable(IContent[] content, Dictionary'2 creatorIds, Dictionary'2 writerIds)+MoveNext() at System.Collections.Generic.LargeArrayBuilder'1.AddRange(IEnumerable'1 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.IndexPublishedContent(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.RebuildIndex(String indexName, TimeSpan delay, CancellationToken cancellationToken) at Umbraco.Cms.Infrastructure.Examine.ExamineIndexRebuilder.<>cDisplayClass91.<RebuildIndex>b1() at System.Threading.Tasks.Task.InnerInvoke() at System.Threading.Tasks.Task.<>c.<.cctor>b2720(Object obj) at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) --- End of stack trace from previous location --- at Umbraco.Cms.Infrastructure.HostedServices.QueuedHostedService.BackgroundProcessing(CancellationToken stoppingToken)

    and

    System.NotSupportedException: Variation "de-de,<null>" is not supported by the property type. at Umbraco.Cms.Core.Models.Property.SetValue(Object value, String culture, String segment) at Umbraco.Cms.Core.PropertyEditors.NestedPropertyIndexValueFactoryBase'2.GetNestedResults(String keyPrefix, String culture, String segment, Boolean published, IDictionary'2 propertyTypeDictionary, TItem nestedContentRowValue)+MoveNext() at System.Collections.Generic.List'1.InsertRange(Int32 index, IEnumerable'1 collection) at System.Collections.Generic.List'1.AddRange(IEnumerable'1 collection) at Umbraco.Cms.Core.PropertyEditors.NestedPropertyIndexValueFactoryBase'2.Handle(TSerialized deserializedPropertyValue, IProperty property, String culture, String segment, Boolean published) at Umbraco.Cms.Core.PropertyEditors.JsonPropertyIndexValueFactoryBase'1.GetIndexValues(IProperty property, String culture, String segment, Boolean published) at Umbraco.Cms.Infrastructure.Examine.BaseValueSetBuilder'1.AddPropertyValue(IProperty property, String culture, String segment, IDictionary'2 values) at Umbraco.Cms.Infrastructure.Examine.ContentValueSetBuilder.GetValueSetsEnumerable(IContent[] content, Dictionary'2 creatorIds, Dictionary'2 writerIds)+MoveNext() at System.Collections.Generic.LargeArrayBuilder'1.AddRange(IEnumerable'1 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.IndexPublishedContent(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)

    I already checked umbracoPropertyData for any pages without a proper languageId, but I'm currently slightly confused by the error.

    As the setup I do have the block grid editor itself to vary by language, the editors within the block grid are not vary by language obviously.

    For me this seems to either confuse the indexing service because it tries to vary the content blocks by language or the indexing service just can't index already published nodes in one language, while the other language is either not yet created or has not been published?

    Any thoughs on this would be very helpful.

  • mc2 13 posts 73 karma points
    Apr 20, 2023 @ 12:10
    mc2
    0

    Hi, I just experienced same thing with examine failing to index after upgrading to 11.3. To fix this I made every block grid and block list item culture varied that is used in culture varied properties/pages.

  • Patrick Heine 4 posts 85 karma points
    Apr 21, 2023 @ 09:50
    Patrick Heine
    0

    I only have one grid (vary by culture enabled) that is used as a composition in all pages (all pages have vary by culture enabled as well). That was already the case when I did the upgrade...

    Like - all pages have the composition included with the block grid as the alias "contents".

    Now the "old" examine index would have just created a 'contents_de-de' (and if available 'contents_en-us') with all the json from the grid in it. The new one should populate the json fields...

    And even if I enable vary by culture on every content block, layout and content item and even in some of the editors in those ... I do still get the same error...

  • mc2 13 posts 73 karma points
    Apr 21, 2023 @ 10:00
    mc2
    0

    It took a while but I made every property culture varied as well for content block/layout/item. Also don't forget about block list properties (even those that aren't used within the block grid, but elsewhere), I had a couple of those as well that needed to enable vary by culture setting.

  • Patrick Heine 4 posts 85 karma points
    Apr 21, 2023 @ 10:17
    Patrick Heine
    1

    Just confirmed this is a working option but I'll save myself the headache in the future when I forget I have to enable vary by culture on every single editor without the need to do so (it has no function)... because I probably will do so ;)

  • Marc Love (uSkinned.net) 432 posts 1691 karma points
    Apr 21, 2023 @ 10:04
    Marc Love (uSkinned.net)
    102

    This is an issue with latest versions of 10 and 11. They have a workaround until its fixed:

    https://github.com/umbraco/Umbraco-CMS/issues/14096

  • Patrick Heine 4 posts 85 karma points
    Apr 21, 2023 @ 10:16
    Patrick Heine
    0

    Thank you for the link, I must have completely missed this when I scanned through the github issues ... just confirmed the option to enable vary by culture is also working but I'll go with the quick fix for now and do hope this gets resolved without using vary by culture on every editor even if it can't vary ...

  • Thomas 315 posts 602 karma points c-trib
    Apr 24, 2023 @ 21:35
    Thomas
    0

    Thank you!

Please Sign in or register to post replies

Write your reply to:

Draft