繁体   English   中英

如何从 xtdb 中的“丢失文档”中恢复?

[英]How to recover from "missing docs" in xtdb?

我在带有 RocksDB 后端的测试环境中使用 xtdb。 一切都很好,直到昨天系统停止接收新数据。 它告诉我这是因为“缺少文档”,并给了我据称丢失的文档的 ID,但由于它丢失了,所以这并不能告诉我太多。 我的 xt/ids 有一个特定的格式(基本上是 type+guid),这与该格式不匹配,所以我认为这个 id 不是我的。 在实体 id 上调用 history 只会给我一个空向量。 我了解出于一致性原因而阻止更新,但是如何诊断这种情况并从中恢复(除了破坏数据库并重新开始)? 如果它发生在生产中,这显然是一个巨大的担忧。

在一般情况下,此“缺少文档”错误表示文档存储已损坏,唯一正确的解决方法是根据文档存储的备份手动恢复/恢复。 这几乎肯定意味着某种程度的数据丢失。

但是,在 1.22.0 之前的事务 function 逻辑中存在一个已知错误,它可能会间歇性地产生此错误(但不会丢失任何真正的数据),请参阅https://github.com/xtdb/xtdb/commit/1c30550fb14bd6d09027ff902cb00021bd6e57c4

但是,如果您没有使用交易功能,那么可能还有另一种未知的解释。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM