我正在运行一个CM服务器和3个CD服务器的Sitecore 8.2。在我们的一台CD服务器上,我们一直收到以下错误:
5396 2017:12:18 00:00:59 ERROR Cannot finish Analytics page tracking
Exception: Sitecore.Analytics.Exceptions.ContactLockException
Message: Failed to extend contact lease for contact e629daf6-1176-4c55-9c17-31b45292212c
Source: Sitecore.Analytics
at Sitecore.Analytics.Tracking.ContactManager.SaveAndReleaseContact(Contact contact)
at Sitecore.Analytics.Pipelines.EndAnalytics.ReleaseContact.Process(PipelineArgs args)
at (Object , Object[] )
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, Boolean failIfNotExists)
at Sitecore.Analytics.Pipelines.EndAnalytics.EndAnalyticsPipeline.Run()
at Sitecore.Analytics.Pipelines.HttpRequest.EndAnalytics.Process(HttpRequestArgs args)我确认我可以打电话给蒙戈。我将配置文件与其他CD服务器上的配置文件进行了比较。代码库与其他两个环境完全相同。有人对下一步要检查什么有什么建议吗?我觉得自己错过了这台服务器上的一些东西,因为它是唯一有这个问题的服务器。
发布于 2017-12-20 02:10:23
您可能需要确保每个CD站点中的Analytics.ClusterName in (Sitecore.Analytics.Tracking.config)是唯一的,Sitecore使用它作为锁定联系人的集群的唯一标识符,当用户会话请求在3台CD服务器之间传输时,例如xDB on CD1可能无法释放它,如果它锁定在其他CD上(2&3)。
你能做的是:
Analytics.ClusterName更新到您分配给它的唯一域。校正
为了获得更多的详细信息,我联系了sitecore支持部门,他们告诉我,如果您有一个用于多个CD服务器的集群,那么您应该对所有CD服务器使用相同的Analytics.ClusterName,如果您有多个集群,并且每个集群使用不同的会话数据库,那么每个集群中的CD服务器应该有相同的Analytics.ClusterName,每个集群都是唯一的,所以我上面的答案需要进行更正。
https://stackoverflow.com/questions/47877616
复制相似问题