2014-10-17 7 views
7

Ich habe mit dem folgenden Problem zu kämpfen.Gelesen Zeitüberschreitung am/Batch/Projekt (SonarQube 4.5)

Protokoll der ausgeführt wird, wenn Sonar-Läufer in 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 - Projekt laden referentials getan: 20015 ms

Wenn "Projekt laden referentials done" Wert größer als 20.000 ms,

Always „Read timed out " tritt ein.

+0

Welcher "Wert" ist "größer als 20.000 ms"? Können Sie dieselbe URL von Hand abrufen? –

+0

05: 18: 19.232 INFO - Laden der Projektreferenzen abgeschlossen: 20015 ms. Error Occur-Bedingung: Laden Sie Projektreferentials> 20.000 ms –

+0

Es gibt [SONAR-5849] (https://jira.codehaus.org/browse/SONAR-5849), die dieses Problem angeblich sowohl in 4.5.x als auch in 5. behoben haben. x - aber die [letzte Nachricht im ursprünglichen Mail-Thread] (http://sonarqube.15.x6.nabble.com/SonarQube-4-5-1-Read-time-out-when-analysing-huge-project- td5029770.html # a5031548) sowie meine persönliche Erfahrung erzählen eine andere Geschichte. – zb226

Antwort

1

Es ist nicht zu erwarten, dass das Laden von Projektreferenzen mehr als ein paar Sekunden dauert. Es ist sehr wahrscheinlich, dass Sie ein Leistungsproblem auf Ihrem SQ-Server (oder Ihrer DB) haben. Hier sind einige der Kriterien, die Dauer dieser Web-Service erhöhen kann:

  • Sie viele Sprach Plugins installiert haben, oder Sie haben eine Menge von Regeln in Qualitätsprofile
  • Ihr Projekt aktiviert ist ein Multi-Modul-Projekt mit viele Module

Vergleichen Sie zum Beispiel mit: http://nemo.sonarqube.org/batch/project?key=org.codehaus.sonar%3Asonar&preview=true

, die mehr als 1000 Regeln und 33 Module zurückgibt. Es dauert weniger als 2 Sekunden, um Daten zurückzugeben.

EDIT: es scheint, gibt es einige SQL Probleme war auf dem DB-Anbieter abhängig. Siehe http://jira.codehaus.org/browse/SONAR-5849 und http://jira.codehaus.org/browse/SONAR-6063. Sollte in kommenden 4.5.3 behoben werden

+0

Dies erklärt, aber löst das Problem nicht. – zb226

+1

Ich habe meine Antwort aktualisiert –

+1

Ich stoße auch auf dieses Problem auf 4.5.2. In SONAR-5849 wird erwähnt, dass eine Änderung an "Konfigurieren von HttpDownloader TIMEOUT statt eines fest codierten Werts von 20 Sekunden" vorgenommen wurde. Wie können wir das ausnutzen, um dieses Problem zu umgehen? – ioscode