1

I'm getting an error on my Sitecore content delivery which is blocking the tracker from starting.
I feel like I've tried everything but must be missing something.
Sitecore version is 9.0.2 with topology XP1.

Error

17080 12:57:40 ERROR Cannot create tracker.
Exception: Sitecore.XConnect.Client.XdbModelConflictException
Message: One or more local models conflict with the xDB service layer.
 'MyCustomModel, 0.2' does not match the remote version
Source: Sitecore.Xdb.Common.Web
   at Sitecore.Xdb.Common.Web.Synchronous.SynchronousExtensions.SuspendContextLock[TResult](Func`1 taskFactory)
   at Sitecore.XConnect.Client.XConnectSynchronousExtensions.SuspendContextLock(Func`1 taskFactory)
   at Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.Initialize(XmlNode configNode)
   at Sitecore.Configuration.DefaultFactory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert, IFactoryHelper helper)
   at Sitecore.Configuration.DefaultFactory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert)
   at Sitecore.Configuration.DefaultFactory.CreateObject(String configPath, String[] parameters, Boolean assert)
   at Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.GetClient(String clientConfigPath)
   at Sitecore.Analytics.XConnect.DataAccess.XConnectDataAdapterProvider.ExecuteWithExceptionHandling[T](Func`2 func)
   at Sitecore.Analytics.XConnect.DataAccess.XConnectDataAdapterProvider.<>c__DisplayClass15_0.<LoadContact>b__0()
   at Sitecore.Analytics.XConnect.Diagnostics.PerformanceCounters.OperationPerformanceMonitorExtensions.Monitor[T](OperationPerformanceMonitorBase monitor, Func`1 operation)
   at Sitecore.Analytics.Data.ContactRepository.LoadContact(ID contactId)
   at Sitecore.Analytics.Tracking.ContactManager.LoadContact(Guid contactId, Boolean exclusive)
   at Sitecore.Analytics.Pipelines.EnsureSessionContext.LoadContact.Process(InitializeTrackerArgs args)
   at (Object , Object )
   at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
   at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
   at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain)
   at Sitecore.Analytics.Pipelines.EnsureSessionContext.EnsureSessionContextPipeline.<>c__DisplayClass4_0.<Run>b__0()
   at Sitecore.Analytics.XConnect.Diagnostics.PerformanceCounters.OperationPerformanceMonitorExtensions.<>c__DisplayClass1_0.<Monitor>b__0()
   at Sitecore.Analytics.XConnect.Diagnostics.PerformanceCounters.OperationPerformanceMonitorExtensions.Monitor[T](OperationPerformanceMonitorBase monitor, Func`1 operation)
   at Sitecore.Analytics.DefaultTracker.EnsureSessionContext()
   at Sitecore.Analytics.Pipelines.CreateTracker.GetTracker.Process(CreateTrackerArgs args)
   at (Object , Object )
   at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
   at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
   at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain)
   at Sitecore.Analytics.Tracker.Initialize()

My xConnect websites
enter image description here

What I checked
I double checked all files listed in the documentation:
https://doc.sitecore.com/developers/90/sitecore-experience-platform/en/deploy-a-custom-model.html

  • JSON file in previewsc_XConnectCollection\App_data\Models
  • JSON file in previewsc_XConnectCollectionSearch\App_data\Models
  • JSON file in previewsc_XConnectCollectionSearch\App_data\jobs\continuous\IndexWorker\App_data\Models
  • JSON file in previewsc_XConnectMarketingAutomation\App_data\Models
  • XML file in previewsc_XConnectMarketingAutomation\App_data\jobs\continuous\AutomationEngine\App_Data\Config\sitecore
  • DLL file in previewsc_XConnectMarketingAutomation\App_data\jobs\continuous\AutomationEngine
  • DLL file in Content Delivery environment together with the correct config file

All JSON model files are the same. Also when compared with a regenerated file.
The version in the JSON file matches the version of the model.
Filename: MyCustomModel, 0.2.json
And in code: new XdbModelVersion(0, 2)
And in the decompiled dll that was deployed to the CD environment. I restarted the all IIS websites and the 2 services but that didn't solve it.

Questions

  • Does the JSON model need to be in previewsc_XConnectMarketingAutomationReporting ?
  • Does the JSON model need to be in previewsc_XConnectReferenceData ?
  • Anything else I should verify?
3

The error you see is only for the xConnect website. The marketing automation and indexing do not talk directly to the website, to cause that error.

What this error means is that the C# MyCustomModel model does not match the xConnect MyCustomModel json model. Please regenerate the MyCustomModel model again and compare the json files.

var model = Sitecore.XConnect.Serialization.XdbModelWriter.Serialize(MyCustomModel.Model);
            File.WriteAllText(MyCustomModel.Model.FullName + ".json", model);

Either the json is from a newer C# model or the C# model is newer than the json model.

  • Message is, like you said, double check the model. – Koen Heye Jul 4 at 7:34

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.