4

As the question title suggests, I am looking for proper troubleshooting techniques in order to solve an error currently being experienced in a Sitecore 9.0.2 XP1 Topology Processing Role Server.

The error message is:

Message: No known predicate type could be determined from 'Sitecore.Analytics.OmniChannel.Conditions.Channel.CurrentInteractionIsOnChannelCondition,Sitecore.Analytics.OmniChannel' specified in the definition item (Id = '2f421912-f1b3-49d8-82b8-50a64c80e4e3', db = 'master') : Could not load type 'Sitecore.Analytics.OmniChannel.Conditions.Channel.CurrentInteractionIsOnChannelCondition' from assembly 'Sitecore.Analytics.OmniChannel'.
Source: Sitecore.Marketing.Segmentation.xMgmt
   at Sitecore.Marketing.Segmentation.ExpressionBuilder.ContentTreePredicateDescriptorLocator.GetDescriptor(Guid id)
   at Sitecore.Marketing.Segmentation.RuleXmlConverter.ConditionXmlNodeConverter.LookupType(Guid descriptorId)
   at Sitecore.Marketing.Segmentation.RuleXmlConverter.ConditionXmlNodeConverter.ConvertNodeInternal(INodeConversionContext`2 context, XElement element)
   at Sitecore.Marketing.Segmentation.RuleXmlConverter.BaseXmlRuleNodeConverter`1.Convert(INodeConversionContext`2 context, XElement node)
   at Sitecore.XConnect.Segmentation.ExpressionBuilder.TreeConverter.TreeConverter`2.Convert(TFromNode treeRoot)
   at Sitecore.Marketing.Segmentation.RuleXmlConverter.RuleXmlConverter.CreateRule(XElement ruleElement)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at Sitecore.ExperienceAnalytics.Aggregation.Rules.RulesBuilder.BuildRules(String rulesXml)
   at Sitecore.ExperienceAnalytics.Aggregation.Rules.RulesValidator.ValidateRule(Contact contact, Interaction interaction, String rulesXml)
   at Sitecore.ExperienceAnalytics.Aggregation.Pipeline.SegmentProcessor.ProcessSegments(IInteractionAggregationContext context, IEnumerable`1 segments)

I have found the Stack Exchange Question (No known predicate type could be determined from Sitecore.Analytics.OmniChannel Error while creating a Goal item) that has the EXACT error message that I am struggling with, however, the answers provided do not apply to my situation, and neither the answer or subsequent Sitecore documentation page provided offer enough clarity around understanding how to trouble shoot this error.

There is a GUID in the error that relates to an OOTB Channel Rule Element: enter image description here

There are no references to this rule, or so it would seem through the Link Database.

I also do not have any filters created:

enter image description here

Current Environment

  • I am currently running the xDB Migration from an 8.2 site to a Sitecore 9.0.2 site.
  • This IS an upgraded Sitecore 8.2 -> 9.0.2 Master Database. However, I don't see (or can't tell) what would need to be changed.
  • I have deployed and redeployed all of the Marketing Definitions, which completed without error.
  • This single error message is generating GB's of log files on the Processing Role Server.

enter image description here

Am I missing anything from a troubleshooting perspective that would be helpful in arriving at a solution here?

1
  • Were you able to find out what causes this issue ? I'm also facing the same problem and its generating lot of error messages on processing server. Commented Nov 6, 2019 at 15:58

2 Answers 2

1

Then I did the following steps and after the last step the error went away.

Step 1: Delete all the Map definitions from "TreeDefinitions" table in Reporting database

Step 2: Redeploy all Path Analyzer Map definitions by visiting following tool and clicking "Deploy all maps that are not deployed" button http://Sitecore/admin/pathanalyzer.aspx

Step 3: In the same tool above, click "Rebuild" button on "Historic Map Rebuild" section

NOTE: These were mainly taking from Sitecore 9 Processing Server - Exception when executing agent pathAnalyzer/mapRebuildStatusCheckerAgent post on Sitecore StackExchange

Unsure if following steps did help, but anyways mentioning them also :

  • Since the item ID mentioned in the error was "/sitecore/system/Settings/Rules/Definitions/Elements/Visitor/Global Visit No", I did try to remove/clean all the items that used this rule
  • Deleted all the custom Maps from Sitecore 8.1
  • Cleared all the table in the RefData database and Deploy all the Marketing Definitions again
  • Removing EMPTY Site definition entry in "SiteNames" table in Reporting database entry that I removed was SiteNameId was set to 0 & SiteName was empty

Full detail can be found in my blog post -> https://sitecorefootsteps.blogspot.com/2019/11/path-analyzer-map-errors-populating.html

0

When working with upgrades/migrations, I usually use this approach for trying to isolate where the issue is:

  1. If things are not working out, doing a full serialize of the master db and a clean master db and doing a delta. This sometimes finds missing items that should be there, extra items that might need to be removed, or items that got updated to wrong paths/class names.
  2. If that is too arduous, the old "remove stuff" trick: Point the existing processing instance at a clean vanilla install ofSitecore. Does it work?
  3. Remove all customizations from the processing instance (or install a clean one) and point it at the databases. Does it work?
  4. Start isolating databases with 'clean' versions (such as making Core/Master/Web clean) and seeing if it's a problem of something in those databases that Processing is looking at.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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