Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
复制、删除的CouchDb文档的惊人行为_Couchdb - Fatal编程技术网

复制、删除的CouchDb文档的惊人行为

复制、删除的CouchDb文档的惊人行为,couchdb,Couchdb,我们有两台CouchDb服务器,我们称它们为A和B。有从A到B的单向复制,文档仅在A上创建、修改或删除-基本上,您可以将B视为备份。a上有一个文档被删除。当我试图在从A删除之前检索修订版时,我得到了{“错误”:“未找到”,“原因”:“缺少”},但该数据库尚未压缩(至少据我所知,只有在手动启动而未完成的情况下才会压缩)。然而,虽然B知道该文件已被删除,但B上提供了旧版本 我的理解是,如果我们没有手动运行compression,那么旧版本应该总是在A上可用。此外,当B复制时,如果自上次复制以来有多个

我们有两台CouchDb服务器,我们称它们为
A
B
。有从
A
B
的单向复制,文档仅在
A
上创建、修改或删除-基本上,您可以将
B
视为备份。
a
上有一个文档被删除。当我试图在从
A
删除之前检索修订版时,我得到了
{“错误”:“未找到”,“原因”:“缺少”}
,但该数据库尚未压缩(至少据我所知,只有在手动启动而未完成的情况下才会压缩)。然而,虽然
B
知道该文件已被删除,但
B
上提供了旧版本

我的理解是,如果我们没有手动运行compression,那么旧版本应该总是在
A
上可用。此外,当
B
复制时,如果自上次复制以来有多个修订,它将为旧修订提取元数据,但可能不会提取文档。因此,在此设置中,
B
上可用的修订集应始终是
a
上可用修订集的适当子集。那么
B
怎么可能有
a
没有的修订版呢


我们使用的是CouchDb 2.3.0。

您使用的是哪个CouchDb版本?好问题@JuanjoRodriguez。我用这些信息更新了我的原始问题。您的A节点中是否配置了任何自动兼容规则?()是,已配置压缩。我的印象是,它总是必须手动触发。这就解释了,谢谢。如果你想把它变成一个答案,我会把它标对的。