В нашем приложении мы используем Hibernate и PostgreSQL для хранения данных. В одной из наших таблиц базы данных у нас есть столбец дискриминатора, который говорит, например, «TIPPSPIEL». Это фиксированная строка и не может быть изменена любым пользователем.
Внезапно у нас появилась одна запись в этой огромной таблице, в которой вместо TIPPSPIEL вместо «TIPPSPIEL» было указано «TIPPQPIEL». Мы понятия не имеем, как это может произойти.
Возможно ли каким-либо образом, что наш жесткий диск переключается на один бит, поэтому наша буква «S» больше не кодируется как «1010001», а внезапно становится «Q» на жестком диске с одним битом, переключенным следующим образом: 1010011?
Я не эксперт по физике жестких дисков, но, полагаю, в ОС или на диске есть контрольные суммы и другие вещи, которые гарантируют, что этого не произойдет.
Возможно ли переключение всего на один бит, чтобы мой файл показывал мне букву «Q» вместо «S»?
ОБНОВЛЕНИЕ: Мы сделали дальнейший анализ. Наша ведомая база данных получает свои записи WAL от мастера (функция PostgreSQL). Что бы ни было: наш подчиненный сервер должен быть синхронизирован. Но раб не был синхронизирован относительно этого конкретного ряда. Мы могли видеть, что это произошло несколько дней назад без какого-либо взаимодействия пользователя с этой конкретной записью. Так что это ДОЛЖНО быть немного переворачиваться. страшно!