web-dev-qa-db-ja.com

log4jでの古いNFSfilaハンドルエラー

Javaプログラムが独立して実行されているが、同じログファイルに書き込んでいるインスタンスがいくつかあります。

ログファイルが複数のプロセスインスタンスによってローテーションおよび書き込みされているときに、StaleNFSファイルハンドルエラーが発生することはまれでした。

現在、インスタンスごとに個別のログファイルを作成することを検討しています。誰かがすでにこの問題を抱えており、より良い修正があります。

ありがとうNayn

3
Nayn

NFSはnot POSIX準拠のファイルシステムであることを忘れないでください。それは非常にclose POSIX準拠であり、これは人々が通常つまずくものです。不適合を明らかにする領域の1つは、ファイル、特にディレクトリの削除と名前の変更に関するものです。

私のアドバイスは、アプリケーションがNFSで動作するように特別にコーディングされていない限り、2つのリモートプロセスがNFSボリューム上の同じファイルにアクセスすることを避けることです。

1
Dave Cheney

ええ、NFSを介して別のホストによって開かれているファイルを削除すると、このエラーが表示されます。

この場合、個別のログファイル(またはsyslogを使用するか、NFSにログを記録しない)が最善のアイデアのように思えます。

0
James