FPolicy EAGAIN エラーとは何ですか。また、その原因は何ですか。
環境
ONTAP 9
回答
EAGAIN エラーは、 LIF と FPolicy サーバ間の特定の TCP セッションに割り当てられた送信バッファまたは受信バッファがいっぱいになり、送信要求や応答を受信するための空きスペースがなくなった場合に発生します。要求が応答されたとき、または応答が ONTAP によってバッファからプルされたとき、バッファは空になります。EAGAIN がその FPolicy サーバに対して巻き戻し動作をトリガーすると、この巻き戻し / 遅延動作は ONTAP のバージョンによって異なる場合があります。
- バグ 1372994 の修正がないバージョン:
- ONTAP はその TCP セッションの FPolicy 要求を 2 秒間一時停止したあと、再開時にキューに登録された要求の送信を開始します。
- バグ 1372994 の修正版:
- 最初の試行では、 ONTAP は 1 ミリ秒後に要求を再試行します。同じ要求に対して別の EAGAIN が発生した場合、 ONTAP は 100 ミリ秒ごとに最大 2 秒間再試行を続け、タイムアウト前に要求をバッファに追加できない場合はソケットを閉じます。切断前に要求をバッファに追加できる場合、プロセスは次に発生する EAGAIN の 1 ミリ秒の遅延タイマーに戻ります。
エラーの例:
- EMS
event log show
または:
[filer1: fpolicy: fpolicy.eagain.on.write:notice]: Write returned EAGAIN while sending notification to the FPolicy server "1.2.3.4" for vserver ID 3.
-
nmlogs :
Fpolicy.log reports errors pertaining to EAGAIN errors similar to the following:
[kern_fpolicy:error:1552] Write returned EAGAIN[35] [0x0x80c408d00] src/fsm/fsm_external_engine.cc:864
バグ1479704の修正されたバージョンでは、上記のフローの動作が拡張されました。
- フルフローが完了して切断が発生すると、2分間のタイマーが開始されます。
- 2分以内にEAGAINが原因で4つの切断が発生すると、FPolicyサーバは永続的に切断され、EMSイベントがトリガーされます。
-
EMSの詳細:fpolicy.EAGAINイベント
-