]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-4488 Make sonar.dryRun.readTimeout property take seconds as input
authorJulien HENRY <julien.henry@sonarsource.com>
Mon, 15 Jul 2013 12:59:16 +0000 (14:59 +0200)
committerJulien HENRY <julien.henry@sonarsource.com>
Mon, 15 Jul 2013 12:59:16 +0000 (14:59 +0200)
sonar-batch/src/main/java/org/sonar/batch/bootstrap/DryRunDatabase.java
sonar-batch/src/test/java/org/sonar/batch/bootstrap/DryRunDatabaseTest.java
sonar-plugin-api/src/main/java/org/sonar/api/CoreProperties.java

index 20a8d9ef8f2f83947eda7c4a59cebf85faeabac9..9be2c5301a2a97f9b628228396d1d70769f3d00f 100644 (file)
@@ -46,7 +46,7 @@ public class DryRunDatabase implements BatchComponent {
   private static final String USER = "sonar";
   private static final String PASSWORD = "sonar";
 
-  private static final int DEFAULT_DRY_RUN_READ_TIMEOUT = 60 * 1000;
+  private static final int DEFAULT_DRY_RUN_READ_TIMEOUT_SEC = 60;
 
   private final Settings settings;
   private final ServerClient server;
@@ -64,10 +64,10 @@ public class DryRunDatabase implements BatchComponent {
       File databaseFile = tempDirectories.getFile("", "dryrun.h2.db");
 
       // SONAR-4488 Allow to increase dryRun timeout
-      int readTimeout = settings.getInt(CoreProperties.DRY_RUN_READ_TIMEOUT);
-      readTimeout = (readTimeout == 0) ? DEFAULT_DRY_RUN_READ_TIMEOUT : readTimeout;
+      int readTimeoutSec = settings.getInt(CoreProperties.DRY_RUN_READ_TIMEOUT_SEC);
+      readTimeoutSec = (readTimeoutSec == 0) ? DEFAULT_DRY_RUN_READ_TIMEOUT_SEC : readTimeoutSec;
 
-      downloadDatabase(databaseFile, readTimeout);
+      downloadDatabase(databaseFile, readTimeoutSec * 1000);
 
       String databasePath = StringUtils.removeEnd(databaseFile.getAbsolutePath(), ".h2.db");
       replaceSettings(databasePath);
@@ -99,7 +99,7 @@ public class DryRunDatabase implements BatchComponent {
     if (rootCause instanceof SocketTimeoutException) {
       // Pico will unwrap the first runtime exception
       throw new SonarException(new SonarException(String.format("DryRun database read timed out after %s ms. You can try to increase read timeout with property -D"
-        + CoreProperties.DRY_RUN_READ_TIMEOUT,
+        + CoreProperties.DRY_RUN_READ_TIMEOUT_SEC + "(in seconds)",
           readTimeout), e));
     }
     if (projectKey != null && (rootCause instanceof HttpException) && (((HttpException) rootCause).getResponseCode() == 401)) {
index 5e872ed01517c717183c4977a4bff02b2d8dd660..94935e8fa20875a0bf9c4dd3d340b14d69e11d38 100644 (file)
@@ -79,7 +79,7 @@ public class DryRunDatabaseTest {
 
   @Test
   public void should_download_database_with_overriden_timeout() {
-    settings.setProperty(CoreProperties.DRY_RUN_READ_TIMEOUT, 80000);
+    settings.setProperty(CoreProperties.DRY_RUN_READ_TIMEOUT_SEC, 80);
     new DryRunDatabase(settings, server, tempDirectories).start();
 
     verify(server).download("/batch_bootstrap/db?project=group:project", databaseFile, 80000);
@@ -119,7 +119,7 @@ public class DryRunDatabaseTest {
     doThrow(new SonarException(new SocketTimeoutException())).when(server).download("/batch_bootstrap/db?project=group:project", databaseFile, 60000);
 
     thrown.expect(SonarException.class);
-    thrown.expectMessage("DryRun database read timed out after 60000 ms. You can try to increase read timeout with property -Dsonar.dryRun.readTimeout");
+    thrown.expectMessage("DryRun database read timed out after 60000 ms. You can try to increase read timeout with property -Dsonar.dryRun.readTimeout (in seconds)");
 
     new DryRunDatabase(settings, server, tempDirectories).start();
   }
index e0f25637bcf1878b67097a879fb2632f846c7340..084cabc0d63cef1b1ef76749d3db673320985ece 100644 (file)
@@ -404,5 +404,5 @@ public interface CoreProperties {
   /**
    * @since 3.7
    */
-  String DRY_RUN_READ_TIMEOUT = "sonar.dryRun.readTimeout";
+  String DRY_RUN_READ_TIMEOUT_SEC = "sonar.dryRun.readTimeout";
 }