SDL Tridion 2011未在webfarm中发布

SDL Tridion 2011未在webfarm中发布,tridion,tridion-2011,tridion-content-delivery,Tridion,Tridion 2011,Tridion Content Delivery,为了让您快速了解我们的系统,我们的生产CDA系统是一个web服务器场,由两个web服务器web1和web2组成。CMS数据库是由两个数据库节点db1和db2组成的sql集群。发布目标“Live”包含两个目的地–web1 deployer和web2 deployer,它们将内容推送到web1和web2站点存储库 最近,我们发现在SDL Tridion 2011生产中取消发布内容存在问题。当从SDL Tridion取消发布多个结构组时,系统没有从其中一个web服务器取消发布内容。但是,它从其他web

为了让您快速了解我们的系统,我们的生产CDA系统是一个web服务器场,由两个web服务器web1和web2组成。CMS数据库是由两个数据库节点db1和db2组成的sql集群。发布目标“Live”包含两个目的地–web1 deployer和web2 deployer,它们将内容推送到web1和web2站点存储库

最近,我们发现在SDL Tridion 2011生产中取消发布内容存在问题。当从SDL Tridion取消发布多个结构组时,系统没有从其中一个web服务器取消发布内容。但是,它从其他web服务器上删除了内容。反之亦然-例如,如果取消发布操作从web1中删除内容,则内容在web2中保持不变。如果将其从web2中删除,内容将保留在web1中。我们在发布队列中看到的此取消发布操作的消息是“成功”

你以前遇到过这样的问题吗?如果您使用类似的策略将内容推送到webfarm,您是否可以告诉我

我们在deployer日志中没有看到任何特定的错误消息,但是我们确实看到一些警告,如下所示

2012-08-08 06:48:59659警告预调试阶段-准备失败:tcm:0-5026-66560错误:org.hibernate.StaleStateException:批更新从更新[0]返回意外的行计数;实际行数:0;预期:1 2012-08-08 06:48:59659警告预调试阶段-准备失败:tcm:0-5026-66560错误:org.hibernate.StaleStateException:批更新从更新[0]返回意外的行计数;实际行数:0;预期:1

感谢你在这方面的帮助

谢谢,
KK

不支持两个部署程序指向同一个代理数据库。如果你仔细想想,很清楚你的情况发生了什么:

  • 您可以取消发布结构组(或页面或其他内容)。将创建发布包并将其传输到两个部署人员
  • 部署人员A拿起它并开始删除文件和数据库记录
  • 在这个过程中,部署器B拿起同一个包,开始删除文件(没有问题,因为有两个独立的文件系统)和数据库记录。但部署者A已经删除了这些记录
  • 您会收到与您提交的错误类似的错误
此问题至少有三种解决方案:

  • 开始为两台web服务器使用共享文件系统。然后可以关闭一个部署器
  • 更改两个部署器之一的cd_storage_conf.xml,并将元数据指向某个虚拟目标(例如,文件系统上不使用的文件夹)
  • 为两台web服务器分别设置代理数据库

  • 每种解决方案都有利弊。你需要自己决定

    在我以前的一个项目中,我也遇到了同样的问题。 Quirjin提供了一个很好的解决方案


    另一个选项是将发布设置为仅发布到单个文件系统“A”,并使用robocopy之类的工具将“A”的内容复制到其他文件系统“B”

    您是将所有项目类型发布到文件系统,还是将某些项目类型(如元数据)发布到数据库?如果您使用的是数据库,那么您是否为每个web服务器使用单独的数据库?嗨,Quirjin,谢谢您的帮助!是的,我们正在将项目发布到文件和数据库。CMS数据库“Tridion CM、Tridion Broker”等位于SQL集群中,涉及两个节点db1和db2。Web服务器、web1和web2连接到sql群集。web1和web2没有单独的数据库,而是都指向sql集群。如果您还有更多问题,请告诉我。谢谢Quirjin。您的观点说明得很清楚,而且确实很有帮助。我在我的回答中添加了一些澄清。非常感谢Quirjin帮助我。这绝对解决了我的问题,我非常感谢您的帮助。@user1480220您能接受这个答案来帮助其他有同样问题的人吗?谢谢