【问题标题】:SonarQube Maven plugin: Jazz annotate Timeout exceededSonarQube Maven 插件:超出 Jazz 注释超时
【发布时间】:2016-12-09 16:48:40
【问题描述】:

在运行 SonarQube Maven 插件以从 RTC 项目中获取责任信息时,我遇到了超时。我尝试将.jazz-scm/preferences.properties 中的repository.timeout 属性更改为900,但超时仍显示为60000ms。

此时我不确定这是 lscm 超时还是声纳本身。

错误:

[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-
plugin:3.0.2:sonar (default-cli) on project app: The jazz annotate command 
[sh lscm annotate -u pviana@foo.com -P ******** pom.xml] timed out: 
Timeout exceeded: 60000 ms [command: sh lscm annotate -u pviana@foo.com 
-P ******** pom.xml]: TimeoutException -> [Help 1]

【问题讨论】:

  • 如果在 shell 中手动运行 lscm 命令会发生什么?为什么要花这么多时间?
  • 是的。我在lscm 周围创建了一个包装器,并带有一个锁定机制来并行运行它。我一次要分析大约 8 个项目,所以每当文件太大时,我都会遇到这个超时问题。我知道这是一个性能问题,但如果可以的话,我可以增加超时时间并等待更长时间。在这种情况下是否可以增加超时时间?

标签: maven sonarqube ibm-jazz


【解决方案1】:

当前超时为hardcoded to 60s。随时提交拉取请求以使其可配置。但我仍然认为花费超过 1 分钟来归咎于单个文件可能会暴露出性能问题。

【讨论】:

  • 我会看看的,谢谢 Julien。这可能是一个性能问题,但就像我说的那样,我正在并行运行 8 个以上的 lscm 命令,并且有一个特定的项目通常会因超时而失败。仅供参考:当我仅针对该特定项目(无并行 lscm)运行分析时,我没有看到问题,所以我假设这是由并行性引起的性能问题。
  • 我也经常遇到超时错误,但并非总是如此。我没有明确要求并行 lscm 命令,但我不知道 sonar-maven-plugin 是否可以自行并行化它。我已确保 lscm 使用本机命令“fec”。如果有性能问题,那是 scmtools 本身的问题。也许一种解决方案是使用 lscm 登录和注销来避免每次命令调用中的这种开销?我也相信超时应该是可配置的,如果并行运行,最大并行命令应该是可配置的。
  • 另一个可能有帮助的功能是能够配置分析器将这些超时错误(或一般的 lscm 注释错误)视为警告。实际上,如果您尝试使用非 IBM JVM 运行 lscm annotate,它会失败并显示错误代码 1,这被视为警告,而不是错误,我个人认为这很不连贯。
  • 我同意将超时异常视为警告。插件正在等待维护者,你自愿吗? :)
猜你喜欢
  • 1970-01-01
  • 2017-08-29
  • 2015-09-05
  • 2017-08-02
  • 1970-01-01
  • 1970-01-01
  • 2011-02-10
  • 1970-01-01
  • 2015-08-15
相关资源
最近更新 更多