Em nosso aplicativo, usamos o Hibernate e PostgreSQL para armazenar dados. Em uma de nossas tabelas de banco de dados, temos uma coluna discriminadora que diz, por exemplo, "TIPPSPIEL". É uma sequência fixa e não pode ser manipulada por nenhum usuário.
De repente, tivemos uma entrada nessa enorme tabela em que tínhamos "TIPPQPIEL" em vez de "TIPPSPIEL". Não temos idéia de como isso pode acontecer.
É possível, por qualquer meio, que o nosso disco rígido esteja alternando um pouco, para que a nossa letra "S" não seja mais codificada como "1010001", mas de repente se torne um "Q" no disco rígido com um bit alternado da seguinte forma: 1010011?
Eu não sou um especialista em física de disco rígido, mas acho que um sistema operacional ou um disco possui somas de verificação e outras coisas para garantir que isso não possa acontecer.
É possível que apenas um bit mude para que meu arquivo me mostre uma letra "Q" em vez de um "S"?
ATUALIZAÇÃO: Fizemos uma análise mais aprofundada. Nosso banco de dados escravo obtém seus registros WAL do master (recurso PostgreSQL). Seja como for: nosso servidor escravo deve estar sincronizado. Mas o escravo não estava em sincronia com relação a essa linha em particular. Vimos que isso aconteceu há alguns dias sem nenhuma interação de um usuário nessa entrada específica. Portanto, deve ser um pouco invertido. assustador!
fonte
Respostas:
É tão raro vermos uma pergunta realmente interessante neste site, por isso, obrigado em primeiro lugar.
Eu acho que o que você está vendo é realmente um erro de bit único, é incrível que você consiga ser honesto, mas está correto ao assumir que o segundo bit menos significativo foi alterado (supondo que você esteja usando ASCII de qualquer forma).
Quanto às somas de verificação etc., quando gravadas no disco, é provável que tenham sido verificadas como corretas - tenho certeza de que esse problema se desenvolveu posteriormente por meio de um simples erro de vazamento magnético. Mas você está certo, há verificações de codificação feitas, varia de fabricante, mas provavelmente há um erro em algum lugar dizendo 'isso parece um pouco estranho' - mas que opção sua cadeia de E / S tem disponível? negar-lhe todo o bloco? Eu vou assumir que este é um único disco não RAID, pois eles discos RAID tendem a ter mais opções disponíveis quando detectam erros.
É estranho, embora esse tipo de coisa provavelmente tenha acontecido várias vezes por segundo em todo o mundo.
fonte