このアプリケーションでは、HibernateとPostgreSQLを使用してデータを保存します。データベーステーブルの1つに、たとえば「TIPPSPIEL」と言う識別列があります。これは固定文字列であり、どのユーザーも操作できません。
突然、この巨大なテーブルに「TIPPSPIEL」ではなく「TIPPQPIEL」というエントリが1つありました。これがどのように発生するかはわかりません。
ハードディスクが1ビットを切り替える可能性があるため、文字「S」は「1010001」としてエンコードされなくなりましたが、1ビットが1010011のように切り替わったハードディスクで突然「Q」になりますか?
私はハードディスクの専門家ではありませんが、OSやディスクにはチェックサムなどがあり、これが起こらないようにしています。
ファイルが「S」ではなく「Q」という文字を表示するように1ビットだけ切り替えることは可能ですか?
更新:さらに分析を行いました。スレーブデータベースは、マスターからWALレコードを取得します(PostgreSQL機能)。いずれにせよ:スレーブサーバーは同期している必要があります。しかし、この特定の行に関してスレーブは同期していませんでした。この特定のエントリに対するユーザーの操作なしで、数日前に発生したことがわかりました。そのため、少しひっくり返さなければなりません。怖い!