跳转到主内容

什么是 Fpolicy EAGAIN 错误以及何时发生?

Views:
12
Visibility:
Public
Votes:
0
Category:
ontap-9
Specialty:
nas
Last Updated:

适用场景

ONTAP 9

问题解答

当分配给 LIF 和 fpolicy 服务器之间特定 TCP 会话的发送或接收缓冲区已满,不再有可用空间来发送请求或接收响应时,就会发生 EAGAIN 错误。当 ONTAP 响应请求或将响应从缓冲区中拉出时,缓冲区会清空。发生 EAGAIN 时,会触发该 SVM 到该 fpolicy 服务器的倒带行为,根据 ONTAP 版本的不同,此倒带/延迟行为可能会有所不同。

  • 未修复错误 1372994 的版本:
    • ONTAP 将暂停该 TCP 会话上的 fpolicy 请求 2 秒,然后在恢复时开始发送排队的请求。
  • 修复了错误 1372994 的版本:
    • 首次尝试时,ONTAP 将在 1 毫秒后重试请求。如果同一请求再次发生 EAGAIN 错误,ONTAP 将继续每 100 毫秒重试一次,最多重试 2 秒;如果在超时之前无法将请求添加到缓冲区,则关闭套接字。如果在断开连接之前可以将请求添加到缓冲区,则该过程将恢复到 1 毫秒延迟计时器,以应对下一次 EAGAIN 错误。

Fpolicy EAGAIN 错误以及何时发生

错误示例:

  • 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.

  • fpolicy-mlogs:

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 事件。

 

NetApp provides no representations or warranties regarding the accuracy or reliability or serviceability of any information or recommendations provided in this publication or with respect to any results that may be obtained by the use of the information or observance of any recommendations provided herein. The information in this document is distributed AS IS and the use of this information or the implementation of any recommendations or techniques herein is a customer's responsibility and depends on the customer's ability to evaluate and integrate them into the customer's operational environment. This document and the information contained herein may be used solely in connection with the NetApp products discussed in this document.

 

  • 这篇文章对您有帮助吗?