2014-10-17 21 views
7

Mam problem z następującym problemem.Przeczytaj limit czasu na/batch/project (SonarQube 4.5)

Log wykonanego, gdy sonar-runner w Jenkins.

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 INFO - referentials projektu obciążenia zrobienia: 20015 ms

Kiedy "referentials projektu obciążenia zrobione" wartość jest większa niż 20.000 ms,

Zawsze „Read timed out "występuje.

+0

Która "wartość" jest "większa niż 20 000 ms"? Czy możesz ręcznie pobrać ten sam adres URL? –

+0

05: 18: 19.232 INFO - Wykonano referencje projektu obciążenia: 20015 ms. Błąd Wystąpił warunek: Załaduj referencje projektu> 20 000 ms –

+0

Istnieje [SONAR-5849] (https://jira.codehaus.org/browse/SONAR-5849), który rzekomo rozwiązał ten problem w wersjach 4.5.xi 5. x - ale [ostatnia wiadomość w oryginalnym wątku] (http://sonarqube.15.x6.nabble.com/SonarQube-4-5-1-Read-time-out-when-analysing-uge-project- td5029770.html # a5031548), a także moje osobiste doświadczenia mówią o innej historii. – zb226

Odpowiedz

1

Ładowanie referencji projektu nie powinno potrwać dłużej niż kilka sekund. Jest bardzo prawdopodobne, że masz problem z wydajnością na serwerze SQ (lub w twoim DB). Oto kilka kryteriów, które mogą zwiększać czas trwania tej usługi internetowej:

  • zainstalowano dużo wtyczek językowych lub włączono wiele przepisów w profilach jakości
  • Twój projekt jest projektem multi-moduł wiele modułów

Porównaj na przykład: http://nemo.sonarqube.org/batch/project?key=org.codehaus.sonar%3Asonar&preview=true

zwracającej ponad 1000 przepisów i 33 modułów. Zwrócenie danych zajmuje mniej niż 2 sekundy.

EDYTOWANIE: wygląda na to, że wystąpiły problemy z SQL w zależności od dostawcy DB. Zobacz http://jira.codehaus.org/browse/SONAR-5849 i http://jira.codehaus.org/browse/SONAR-6063. Powinien zostać naprawiony w nadchodzącym 4.5.3

+0

To wyjaśnia, ale nie rozwiązuje problemu. – zb226

+1

Zaktualizowałem moją odpowiedź: –

+1

Zdaję też sobie sprawę z tego problemu w wersji 4.5.2. W SONAR-5849 wspomniano, że wprowadzono zmianę w "Pozwól skonfigurować TIMEOUT HttpDownloadera zamiast mieć zakodowaną wartość 20 sekund". Jak możemy to wykorzystać, aby obejść ten problem? – ioscode