【问题标题】:SonarQube "broken pipe" errorsSonarQube“断管”错误
【发布时间】:2022-02-01 16:50:24
【问题描述】:

在我们的 SonarQube 日志中,我们看到了类似的错误

org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe

或喜欢

org.apache.catalina.connector.ClientAbortException: java.io.IOException: Connection reset by peer

过去每周都会发生一两次,但在过去的几周里,这种情况每天都在发生。 似乎这是 Sonar 应用程序内部的一些错误,它看起来不会影响实际的 Sonar 分析。

在谷歌上搜索了这个错误之后,我遇到了这个(https://hc.apache.org/httpcomponents-client-4.2.x/tutorial/html/connmgmt.html):

CoreConnectionPNames.STALE_CONNECTION_CHECK='http.connection.stalecheck':确定是否使用陈旧连接检查。禁用陈旧连接检查可能会显着提高性能(检查可能导致每个请求最多 30 毫秒的开销),但在通过已在服务器端关闭的连接上执行请求时可能会出现 I/O 错误。此参数需要 java.lang.Boolean 类型的值。对于性能关键操作,应禁用检查。如果不设置此参数,则每次请求执行前都会进行旧连接检查。

我扫描了 Sonar 源代码及其 HTTP 库依赖项链(https://github.com/square/okhttphttps://github.com/apache/httpcomponents-client),但找不到任何明确引用上述过时检查的内容。

寻求帮助

  • 澄清此错误的含义
  • 是良性的吗?
  • 有没有办法避免这个错误?

【问题讨论】:

    标签: sonarqube


    【解决方案1】:

    通常,这些错误是良性的,因为它们发生在客户端(浏览器)停止与服务器(SonarQube)的连接时,这可能是因为有人在加载页面时单击了“停止”。

    【讨论】:

    • 谢谢埃里克。由于这是一种常见的用户行为,您能否告诉我现在(每天)更频繁地触发这些错误发生的原因是什么?失败总是指向一个 Sonar 内部文件(在 js/ 或 css/ 文件夹中)。有没有办法通过调整 Sonar 配置文件来避免这个错误?
    • 您不能简单地删除它们。当有人在加载时关闭浏览器中的选项卡时会发生这种情况,这也可能来自服务器和浏览器之间的网络问题。
    【解决方案2】:

    可能是您的 SonarQube 位于反向代理或负载均衡器后面,并且分析过大(压缩后通常 >1MB)并且负载均衡器将其丢弃。您可能需要重新配置 LB/反向代理以接受更大的负载。

    【讨论】:

      猜你喜欢
      • 2011-03-29
      • 2017-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-14
      • 2016-01-11
      • 1970-01-01
      • 2021-02-09
      相关资源
      最近更新 更多