簡體   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