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

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

設定変更を完全にしなかったために、後からエラーが発生して悩まされる

30分以上エラーが起きる原因に気がつかず、悩みました。
解決したときには、ため息がでました。

データを登録するとなぜかエラー

Webシステムの動作確認テストをするために、テスト用のデータファイルを用意しました。
Webシステムに用意したテスト用のデータファイルを登録すると、エラーが発生しました。

エラーが発生する理由が思いつかなかったので、テスト用のデータを変更して再度登録しました。
それでも同様にエラーが発生します。

Webシステムでは登録されたデータを取り込むプログラムが動作するので、動作状況を確認しました。
確認した結果、用途別に用意された4つのプログラムが連続して取り込む処理をしていますが、2つ目以降のプログラムでエラーになっていることがわかりました。

f:id:AJYA:20161020055210j:plain
photo credit: Nata Luna [27 - while i'm away] via photopin (license)

勝手にデータベースが更新される?

取り込む処理のプログラムを自動で起動しないようにして、データベース上のフラグを2つ目のプログラムを起動するように変更後起動すると、エラーにはなっていないようです。
よく見てみると、2つ目のプログラムはデータを処理をしていないようにも見えます。

おかしいなと思いながら、再度データベース上のフラグを2つ目のプログラムを起動するように変更して、数秒後データベース上のフラグを確認すると、なにもしていないのにエラー状態に更新されています。

取り込む処理のプログラムを自動で起動しないようにしたので、更新される理由がわかりません。
再度データベース上のフラグを2つ目のプログラムを起動するように変更して、数秒後データベース上のフラグを確認すると、またエラー状態に更新されています。
なぜデータベース上のフラグが更新されるのかわけがわからず、取り込む処理のプログラムが起動していないかと確認をしていると、気がつきました。

Webシステムにテスト用のデータベースを復元したくて、Webシステムのサーバーから丸ごとコピーしたことを思い出しました。
元々テスト用のWebシステムですが、データベースの復元ミスで環境が壊れるのが嫌だったのでコピーをしていました。

コピーしたWebシステムを確認すると、取り込む処理のプログラムは自動で起動するようになったままでした。
データベースの参照先は、コピー元のままになっていました。
コピーしたWebシステムの取り込む処理のプログラムを自動で起動しないようにして、元々のWebシステムでテスト用のデータファイルを登録すると、エラーは解消しました。


コピーして最低限の設定変更はしていましたが、全てを変更していなかったために発生したエラーでした。
設定変更は最低限で済ませないようにします。