为了让您快速了解我们的系统 - 我们的生产CDA系统是一个Web服务器场,包含两个Web服务器,web1和web2。 CMS数据库是包含两个数据库节点db1和db2的sql集群。发布目标“实时”由两个目标组成 - web1 deployer和web2 deployer,它们将内容推送到web1和web2站点存储库。
最近,我们发现了在生产SDL Tridion 2011中取消发布内容的问题。从SDL Tridion取消发布多个结构组时,系统没有取消发布其中一个Web服务器的内容。但是,它从其他Web服务器中删除了内容。反之亦然 - 例如,如果取消发布操作从web1中删除内容,则内容在web2中保持不变。如果从web2中删除,则内容将保留在web1中。我们在发布队列中看到的针对此取消发布操作的消息是“成功”
你以前遇到过这类问题吗?如果您使用类似的策略将内容推送到webfarm,您是否可以告诉我?
我们在部署日志中没有看到任何特定的错误消息,但是我们确实看到了一些警告,如下所示。
2012-08-08 06:48:59,659 WARN PreCommitPhase - 准备失败:tcm:0-5026-66560错误:org.hibernate.StaleStateException:批量更新从update [0]返回意外的行数;实际行数:0;预期:1 2012-08-08 06:48:59,659 WARN PreCommitPhase - 准备失败:tcm:0-5026-66560错误:org.hibernate.StaleStateException:批量更新从update [0]返回意外行数;实际行数:0;预期:1
感谢您的所有帮助!
谢谢, KK
答案 0 :(得分:11)
不支持让两个部署者指向同一个代理数据库。如果你仔细想想,很明显你的情况会发生什么:
此问题至少有三种解决方案:
每种解决方案都有利有弊。您需要自己决定。
答案 1 :(得分:0)
我在之前的一个项目中也遇到过同样的问题。 Quirjin提供了一个很好的解决方案。
另一个选项也是仅将发布设置为单个文件系统“A”,并使用robocopy等工具将“A”的内容复制到其他文件系统“B”。