Истекло время чтения в /batch/project (SonarQube 4.5)

Я борюсь со следующей проблемой.

Журнал выполненных при сонар-раннере в Дженкинсе.

SonarQube Runner 2.4
Java 1.7.0_67 Oracle Corporation (64-bit)
Windows 7 6.1 amd64
SONAR_RUNNER_OPTS=-Xms256m -Xmx512m
INFO: Runner configuration file: D:\CI_BUILD\sonar-runner-2.4\conf\sonar-runner.properties
INFO: Project configuration file: NONE
INFO: Default locale: "ko_KR", source code encoding: "UTF-8"
INFO: Work directory: D:\CI_BUILD\jenkins_home\jobs\CAFE-CLIENT\workspace\.sonar
INFO: SonarQube Server 4.5
05:17:52.119 INFO  - Load global referentials...
05:17:53.382 INFO  - Load global referentials done: 1263 ms
05:17:53.414 INFO  - User cache: C:\Users\pcms_build\.sonar\cache
05:17:53.445 INFO  - Install plugins
05:17:54.225 INFO  - Install JDBC driver
05:17:54.303 INFO  - Create JDBC datasource for jdbc:jtds:sqlserver://10.240.232.145/sonardb;SelectMethod=Cursor
05:17:56.222 INFO  - Initializing Hibernate
05:17:59.217 INFO  - Load project referentials...
05:18:19.232 INFO  - Load project referentials done: 20015 ms
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
Total time: 34.757s
Final Memory: 21M/291M
INFO: ------------------------------------------------------------------------
ERROR: Error during Sonar runner execution
ERROR: Unable to execute Sonar
ERROR: Caused by: Unable to request: /batch/project?key=CAFE-CLIENT&preview=false
ERROR: Caused by: Read timed out
ERROR: 
ERROR: To see the full stack trace of the errors, re-run SonarQube Runner with the -e switch.
ERROR: Re-run SonarQube Runner using the -X switch to enable full debug logging.
Build step 'Invoke Standalone Sonar Analysis' marked build as failure

05:18:19.232 ИНФОРМАЦИЯ - Загрузить ссылки на проект выполнено: 20015 мс

Когда значение «Загрузить ссылки проекта выполнено» превышает 20 000 мс,

Всегда происходит «Время чтения истекло».


person Jongbum Lee    schedule 17.10.2014    source источник
comment
Какое значение больше 20 000 мс? Можете ли вы получить тот же URL-адрес вручную?   -  person ivan_pozdeev    schedule 17.10.2014
comment
05:18:19.232 ИНФОРМАЦИЯ — Загрузить ссылки на проект выполнено: 20015 мс. Условие возникновения ошибки: Загрузить ссылки на проект › 20 000 мс   -  person Jongbum Lee    schedule 17.10.2014
comment
Существует SONAR-5849, в котором предположительно решена и исправлена ​​эта проблема как в 4.5.x, так и в 5.x, но последнее сообщение в исходной ветке почты, а также мой личный опыт говорят о другом.   -  person zb226    schedule 27.01.2015
comment
...и есть SONAR-6063 и рекомендуемая сборка снимка для решения проблемы, но, по крайней мере, в моем случае (Sonar 5.0 с PostgreSQL 9.3), это тоже не помогло.   -  person zb226    schedule 27.01.2015
comment
Если это не решит вашу проблему, не могли бы вы предоставить подробную информацию о списке рассылки пользователей: вашу версию БД и полные журналы на стороне сервера, чтобы Жюльен Л. мог исследовать. Спасибо   -  person Julien H. - SonarSource Team    schedule 28.01.2015
comment
Я попытаюсь это сделать, но я уже могу сказать вам: это та же проблема с тайм-аутом в 20 секунд. Сонар вызывает большую нагрузку. Когда на той же машине происходят другие вещи, задание Sonar может завершиться ошибкой. Пожалуйста, сделайте этот тайм-аут настраиваемым. Мы смягчили проблему, запустив задание Sonar на собственном компьютере. Но даже сейчас мы получаем ошибку, хотя и гораздо реже, чем раньше (~ 1 тайм-аут из 10 запусков против ~ 8 из 10).   -  person zb226    schedule 28.01.2015


Ответы (1)


Ожидается, что загрузка ссылок на проект займет не более нескольких секунд. Весьма вероятно, что у вас проблемы с производительностью на сервере SQ (или с вашей БД). Вот некоторые критерии, которые могут увеличить продолжительность работы этого веб-сервиса:

  • вы установили много языковых плагинов или включили много правил в профилях качества
  • ваш проект является многомодульным проектом с большим количеством модулей

Сравните, например, с: http://nemo.sonarqube.org/batch/project?key=org.codehaus.sonar%3Asonar&preview=true

который возвращает более 1000 правил и 33 модуля. Для возврата данных требуется менее 2 секунд.

РЕДАКТИРОВАТЬ: кажется, были некоторые проблемы с SQL в зависимости от вашего поставщика БД. См. http://jira.codehaus.org/browse/SONAR-5849 и http://jira.codehaus.org/browse/SONAR-6063. Должно быть исправлено в предстоящем 4.5.3

person Julien H. - SonarSource Team    schedule 17.10.2014
comment
Я также сталкиваюсь с этой проблемой на 4.5.2. В SONAR-5849 упоминается, что было внесено изменение в Разрешить настраивать HttpDownloader TIMEOUT вместо жестко запрограммированного значения 20 секунд. Как мы можем воспользоваться этим, чтобы обойти эту проблему? - person ioscode; 06.02.2015
comment
@ioscode: по-видимому, вы не можете, потому что это было решил не настраивать этот тайм-аут, потому что мы должны сделать то, что нужно, менее чем за 30 секунд. - person zb226; 19.02.2015