复制、删除的CouchDb文档的惊人行为
我们有两台CouchDb服务器,我们称它们为复制、删除的CouchDb文档的惊人行为,couchdb,Couchdb,我们有两台CouchDb服务器,我们称它们为A和B。有从A到B的单向复制,文档仅在A上创建、修改或删除-基本上,您可以将B视为备份。a上有一个文档被删除。当我试图在从A删除之前检索修订版时,我得到了{“错误”:“未找到”,“原因”:“缺少”},但该数据库尚未压缩(至少据我所知,只有在手动启动而未完成的情况下才会压缩)。然而,虽然B知道该文件已被删除,但B上提供了旧版本 我的理解是,如果我们没有手动运行compression,那么旧版本应该总是在A上可用。此外,当B复制时,如果自上次复制以来有多个
A
和B
。有从A
到B
的单向复制,文档仅在A
上创建、修改或删除-基本上,您可以将B
视为备份。a
上有一个文档被删除。当我试图在从A
删除之前检索修订版时,我得到了{“错误”:“未找到”,“原因”:“缺少”}
,但该数据库尚未压缩(至少据我所知,只有在手动启动而未完成的情况下才会压缩)。然而,虽然B
知道该文件已被删除,但B
上提供了旧版本
我的理解是,如果我们没有手动运行compression,那么旧版本应该总是在A
上可用。此外,当B
复制时,如果自上次复制以来有多个修订,它将为旧修订提取元数据,但可能不会提取文档。因此,在此设置中,B
上可用的修订集应始终是a
上可用修订集的适当子集。那么B
怎么可能有a
没有的修订版呢
我们使用的是CouchDb 2.3.0。您使用的是哪个CouchDb版本?好问题@JuanjoRodriguez。我用这些信息更新了我的原始问题。您的A节点中是否配置了任何自动兼容规则?()是,已配置压缩。我的印象是,它总是必须手动触发。这就解释了,谢谢。如果你想把它变成一个答案,我会把它标对的。