У нашому додатку ми використовуємо Hibernate та PostgreSQL для зберігання даних. В одній із наших таблиць баз даних ми маємо колонку дискримінатора, яка пише, наприклад, "TIPPSPIEL". Це фіксований рядок і ним не може керувати жоден користувач.
Раптом у нас був один запис у цій величезній таблиці, де у нас замість "TIPPSPIEL" був "TIPPQPIEL". У нас немає поняття, як це може статися.
Чи можливо будь-яким способом наш жорсткий диск перемикає один біт, тому наша літера "S" більше не кодується як "1010001", але раптом стає "Q" на жорсткому диску одним битом, переключеним так: 1010011?
Я не є експертом з жорсткого диска трохи фізики, але я думаю, що в ОС або на диску є контрольні суми та інші речі, щоб переконатися, що цього не може відбутися
Чи можливо, що один біт перемикається, щоб мій файл показував мені букву "Q" замість "S"?
ОНОВЛЕННЯ: Ми зробили подальший аналіз. Наша рабська база даних отримує свої записи WAL від головного (функція PostgreSQL). Що б там не було: наш підлеглий сервер повинен синхронізуватися. Але раб не синхронізувався щодо цього конкретного ряду. Ми могли бачити, що це сталося кілька днів тому без будь-якої взаємодії користувача з цим записом. Так що ОБОВ'ЯЗКОВО треба трохи обернутися. страшно!