ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

以前もやったミスを、再度繰り返す

システムの一部のサーバーの再構築が必要になり、旧サーバーを残した状態で、新サーバーの構築を行いました。
再構築した新サーバーで動作を確認すると、エラーが発生します。

再構築したサーバーは、別のサーバーのデータベースを定期的に参照して、データが設定されたら処理するプログラムが動作しています。

どうしてエラーが起きるんだ?と考えながら、何度か試していたら、エラーの原因に気がつきました。
原因は、旧サーバー、新サーバーの両方のプログラムが、別のサーバーのデータベースを定期的に参照して、データが設定されたら処理する状態になっていたためです。

ほぼ同時にデータベースを参照して、プログラムが動作するために、データがおかしくなって、エラーになっていました。
エラーになっているのに、データが更新されているのは、どういうことだ?と思って、いろいろ考えていました。

失敗
Photo by Mick HauptMick Haupt on Unsplash

またやってる

調べている最中、以前も似たようなエラーが起きたことがなかったっけ?と考えていたら、思い出しました。
旧サーバーで、旧プログラムと新プログラムを同時に起動させていて、新プログラムでエラーを発生させていました。

このときも、どうしてエラーがおきるんだ?と悩んで、単純なミスに気がつきました。


新サーバーから、再度再構築する機会はない方がうれしいですが、もし機会があったら、今度は同じミスを繰り返さないようにします。