如果撤消读取器访问,则在服务器到服务器复制期间会发生什么

Jas*_*tra 7 replication lotus-notes lotus-domino

我想了解以下Lotus-Domino服务器到服务器复制方案中发生的情况:

  • 服务器A具有A数据库的副本.
  • 服务器B具有相同数据库的副本.
  • 两台服务器都具有数据库管理员访问权限,包括删除文档权限.
  • 复制器进程刚刚复制了A和B,并且所有进程都是同步的.
  • 该数据库包含一个注释,其中包含一个提及两个服务器的reader字段.
  • 在服务器A上,从reader字段中删除服务器B的条目.
  • 服务器A使用B启动复制.

在这种情况下,我希望服务器A将从服务器B中删除文档.方案有变化,服务器C与B复制,B用A启动复制.

我有一个围绕这个期望构建的应用程序,并且它在大多数情况下都运行良好.但是有一些注释保留在服务器B上,并且从复制过程中排除.OID仍然不同.在某些情况下,DSN会在两个备注上更新,而在复制过程中没有任何结果.

Jas*_*tra 2

IBM为此创建了一个SPR :

问题 通常,当从文档的阅读器字段中删除服务器时,在进行计划的复制后,该文档将从服务器中删除,因为该服务器不再有权访问该文档。在某些情况下,当从驻留在主服务器上的文档的读取器字段中删除辅助服务器时,在两个服务器之间发生复制之后,该文档不会按预期从辅助服务器中删除。启用复制调试会在源服务器上显示以下错误:“您无权执行该操作”。清除复制历史记录并从两台服务器启动复制并不能解决问题。经过进一步调查,确定辅助服务器上的文档具有更高的序列号,这意味着它比主服务器上的文档更新得更晚。通常,当文档不包含读者字段或参与复制的两台服务器都列在文档的两个副本的读者字段中时,如果在复制之前在两台服务器上修改文档,则会产生复制冲突。然而,在这种特定情况下,由于辅助服务器无法访问主服务器上的文档,因此复制会按预期失败,并且不会生成复制冲突,因为为了生成冲突文档,两个服务器都需要有权访问该文档。

解决问题 1.) 短期解决方案是修改主服务器上的文档,使其序列号高于辅助服务器上的文档。复制发生后,更改应复制到辅助服务器,并且应按预期从辅助服务器中删除文档。2.) 更持久的解决方案是防止用户和服务器同时更改两台服务器上的文档。此外,更频繁地复制应该有助于减少发生这种情况的机会,因为在一台服务器上进行的更改可能会在另一台服务器上进行更改之前复制出去。此问题正在 SPR MKHS8MLQVD 下跟踪