我们已经设置了 2 个沙发底座集群,它们之间带有 XDCR。我们正在使用 sub-doc mutate 来使用新字段更新文档(没有删除任何字段,也没有字段被覆盖/更新)。我们发现,如果我们通过集群 1 和集群 2 同时更新同一个文档,一些更新会丢失。
例如:如果我们通过 cluster-1 在 document-1 中添加 field-1 并且同时从 cluster-2 将 field-2 添加到 document-1,则只有一个更新有效,并且 field-1 或 field-2将在生成的文档中丢失。
有什么办法可以解决这个问题,以免数据丢失?我们最初的想法是,因为这是一个“子文档”操作,XDCR 会考虑到这一点,并通过根据子文档变异操作期间提供的各个路径相应地更新最终文档来合并两个文档版本。