| 概要
UX NISMAILのログ・ファイルクリーニングサービス処理中に状況表示系API「NmxGetUseFileList()関数」を使用すると、APIがフリーズする。
詳細
NISMAILのAPI「NmxGetUseFileList()関数」を使用しているプログラムとNISMAILの「ログ・ファイルクリーニングサービス」が同時に動作したときに、上記APIを組み込んだプログラムがフリーズする場合があります。
NISMAILのログ・ファイルクリーニングサービスは一日に一回実行され、不要となった「ログファイル」と「使用済みファイル」を削除する機能です。
ログ・ファイルクリーニングサービスは「使用済みファイル」を削除する際に、環境ディレクトリのLOGディレクトリ配下にあるログファイル「FULOG.yyyymmdd(yyyymmddは日付)」の情報を参照します。また、ログファイルを他のプロセスからアクセスできないようにロックします。
その際、ログ・ファイルクリーニングサービス機能が情報参照中に、「NmxGetUseFileList()関数」を使用すると、関数はロックが解除されるまで待ち合わせします。
ログ・ファイルクリーニング機能は「使用済みファイル」を削除した後にログファイルを削除しますが、その処理に誤りがあり、ロックを解放していません。そのためロック解除待ちの状態で「NmxGetUseFileList()関数」がフリーズし、本現象が発生します。
本現象が発生するのは「NmxGetUseFileList()関数」のみです。ログクリーニングサービスやその他のNISMAILの機能に影響を与えることはありません。
対策
本件について修正物件を準備しておりますので、修正物件申込書にてお申し込みください。
なお、修正物件を適用するまでは、ログ・ファイルクリーニングサービス中に上記APIを使用したプログラムを実行しないように、運用での回避・調整をお願いいたします。
状況
弊社ではこの問題をNISMAILの問題であると認識しております。本現象は、Version 5.0にて修正されております。
|