Database

是否可能只有一位切換所以我的文件顯示一個字母“Q”而不是“S”

  • July 19, 2013

在我們的應用程序中,我們使用 Hibernate 和 PostgreSQL 來儲存數據。在我們的一個數據庫表中,我們有一個鑑別器列,例如“TIPPSPIEL”。它是一個固定的字元串,不能被任何使用者操作。

突然間,我們在這個巨大的表格中有一個條目,其中我們有“TIPPQPIEL”而不是“TIPPSPIEL”。我們不知道這怎麼會發生。

有沒有可能我們的硬碟換了一位,所以我們的字母“S”不再編碼為“1010001”,而是突然變成了硬碟上的“Q”,換了一位:1010011?

我不是硬碟物理學專家,但我猜作業系統或磁碟具有校驗和和其他東西,以確保不會發生這種情況。

是否有可能只有一位切換所以我的文件顯示一個字母“Q”而不是“S”?

**更新:**我們做了進一步的分析。我們的從數據庫從主數據庫(PostgreSQL 特性)獲取它的 WAL 記錄。不管怎樣:我們的從伺服器應該是同步的。但是從站對於這一特定行並不同步。我們可以看到它發生在幾天前,沒有使用者對此特定條目進行任何互動。所以它必須有點翻轉。可怕的!

我們很少在這個網站上看到一個真正有趣的問題,所以首先謝謝你。

我認為您所看到的確實存在一位錯誤,說實話,您可以發現它真是太神奇了,但是您假設第二個最低有效位已被切換是正確的(假設您使用的是 ASCII反正)。

至於校驗和等,當它被寫入磁碟時,它很可能已經被驗證為正常 - 我很確定這個問題是通過一個簡單的漏磁錯誤後來發展起來的。但是你是對的,已經完成了編碼檢查,它因製造商而異,但在某處可能有一個錯誤說“這看起來有點奇怪”——但是你的 IO 鏈有什麼選項可用?拒絕你整個街區?我將假設這是一個非 RAID 磁碟,因為 RAID 磁碟在檢測到錯誤時往往有更多可用選項。

這很奇怪,儘管這種事情可能每秒在世界範圍內發生多次。

引用自:https://serverfault.com/questions/522778