search cancel

LUAが稼働するサーバーでWindows Event LogにSQLのエラーが記録される

book

Article ID: 202187

calendar_today

Updated On:

Products

Endpoint Protection

Issue/Introduction

LUAが稼働するサーバーのWindows Event Logに定期的に下記のエラーが記録される

 update or delete on table productupdatedetails violates foreign key constraint KEYNAME on table TABLENAME 
  DETAIL:  Key (id)=(nnnnnn) is still referenced from table TABLENAME. 
  STATEMENT:   delete from productupdatedetails where id in (select id from TABLENAME)

Cause

これはデータベースクリーニング処理にて、古い情報や一時的に使われていたレコードを削除
しようとした際に検知されたもので、まだ他のテーブルから参照されているレコードを削除しよう
としたところ、LUA のデータベースシステム(PostgreSQL)から「他のテーブルで参照している
レコードなので、まだ今は削除できない」として記録されたものになります。

データベースのクリーニング処理では古いものや一時的に使われていた情報の削除を行います
が、データベースのクリーニング処理では削除可能と判断しても、実際にはまだ他の処理で
使用中との理由から削除できないことがあります。

Environment

Release :

Component :

Resolution

LUAの動作上、内部タスクの実行時期によっては発生する可能性があるため、一時的に
記録されている場合は特に対処は必要ではありません。

LUAで行われているデータベースクリーニング処理は管理画面からは変更できませんが、
以下の手順で変更可能です。

1. LUAが稼働するサーバへ管理者でログイン
2. 以下のファイルを探す
  <LUA インストールパス>\tomcat\webapps\lua\WEB-INF\classes\lua_static.properties

3. 以下のパラメータを探し、別の時間へ変更
  dbcleaning.day=Saturday
  dbcleaning.hour=2  
  dbcleaning.minutes=00

4. 変更の保存終了後、以下のサービスを再起動
  LUA Apache Tomcat