2016-12-07 4 views
0

При запуске плагина SonarQube Maven для получения информации о вине из проекта RTC я набираю тайм-аут. Я попытался изменить свойство repository.timeout в .jazz-scm/preferences.properties на 900, но тайм-аут все еще отображается как 60000 мс.SonarQube Maven плагин: Jazz annotate Тайм-аут превышен

На данный момент я не уверен, что это 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 [email protected] -P ******** pom.xml] timed out: 
Timeout exceeded: 60000 ms [command: sh lscm annotate -u [email protected] 
-P ******** pom.xml]: TimeoutException -> [Help 1] 
+0

Что произойдет, если вы запустите команду lscm вручную в оболочке? Любая причина, по которой это занимает много времени? –

+0

Да. Я создал обертку вокруг 'lscm' с механизмом блокировки, чтобы запустить его параллельно. У меня одновременно анализируется около 8 проектов, поэтому всякий раз, когда файл слишком велик, я попадаю в эту проблему с таймаутом. Я понимаю, что это проблема производительности, но у меня нет проблем с увеличением тайм-аута и ожидания дольше, если это вариант. Возможно ли увеличить тайм-аут в этой ситуации? – Phil

ответ

1

Таймаут в настоящее время hardcoded to 60s. Не стесняйтесь представить запрос на перенос, чтобы настроить его. Но все же я считаю, что тратить более 1 минуты на вину одного файла, вероятно, показывают проблему с производительностью.

+0

Я посмотрю на это, спасибо Жюльен. Это может быть проблема с производительностью, но, как я уже сказал, я запускаю 8+ lscm-команд параллельно, и есть один конкретный проект, который обычно терпит неудачу с таймаутом. FYI: Я не вижу проблемы, когда я запускаю анализ только для этого конкретного проекта (без параллельных lscms), поэтому я предполагаю, что это проблема производительности, вызванная параллелизмом. – Phil

+0

Я также получаю ошибки таймаута довольно часто, хотя и не всегда. Я явно не прошу о параллельных командах lscm, но я не знаю, может ли сонар-maven-плагин самостоятельно его распараллелить. Я убедился, что lscm использует собственную команду «fec». Если есть проблема с производительностью, это проблема с самими scmtools. Возможно, одним из решений может быть использование входа и выхода lscm, чтобы избежать этих накладных расходов при каждом вызове команды? Я также считаю, что тайм-аут должен быть настраиваемым и максимальными параллельными командами, если они работают параллельно. – Juan

+1

Еще одна функциональность, которая могла бы помочь, заключалась в том, чтобы настроить анализатор для обработки этих ошибок таймаута (или lscm аннотировать ошибки в целом) в качестве предупреждений. На самом деле, если вы попытаетесь запустить lscm аннотироваться с JVM, отличным от IBM, он не с кодом ошибки 1, и это рассматривается как предупреждение, а не ошибка, что я лично считаю совершенно бессвязным. – Juan