首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sitecore.Analytics.Exceptions.ContactLockException

Sitecore.Analytics.Exceptions.ContactLockException
EN

Stack Overflow用户
提问于 2017-12-18 22:53:59
回答 1查看 958关注 0票数 0

我正在运行一个CM服务器和3个CD服务器的Sitecore 8.2。在我们的一台CD服务器上,我们一直收到以下错误:

代码语言:javascript
复制
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服务器上的配置文件进行了比较。代码库与其他两个环境完全相同。有人对下一步要检查什么有什么建议吗?我觉得自己错过了这台服务器上的一些东西,因为它是唯一有这个问题的服务器。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-20 02:10:23

您可能需要确保每个CD站点中的Analytics.ClusterName in (Sitecore.Analytics.Tracking.config)是唯一的,Sitecore使用它作为锁定联系人的集群的唯一标识符,当用户会话请求在3台CD服务器之间传输时,例如xDB on CD1可能无法释放它,如果它锁定在其他CD上(2&3)。

你能做的是:

  1. 确保每个CD服务器都有唯一域或子域(例如,prod1.mywebsite.com、prod2.mywebsite.com ..etc ),我通常不会使这些唯一域公开访问(DNS),而只是在网络中使其可访问,只要每个CD服务器都可以通过其独特的域与其他CD服务器对话。
  2. 将每个CD服务器上的Analytics.ClusterName更新到您分配给它的唯一域。

校正

为了获得更多的详细信息,我联系了sitecore支持部门,他们告诉我,如果您有一个用于多个CD服务器的集群,那么您应该对所有CD服务器使用相同的Analytics.ClusterName,如果您有多个集群,并且每个集群使用不同的会话数据库,那么每个集群中的CD服务器应该有相同的Analytics.ClusterName,每个集群都是唯一的,所以我上面的答案需要进行更正。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47877616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档