changeset 54:10e774d891b5

timeout increased for clone command
author Pavel.Sher
date Fri, 24 Oct 2008 13:25:45 +0400
parents 130b98d23372
children a758eaf781c7
files mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/BaseCommand.java mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CloneCommand.java mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandUtil.java mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/UpdateCommand.java
diffstat 4 files changed, 18 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/BaseCommand.java	Tue Oct 21 16:10:54 2008 +0400
+++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/BaseCommand.java	Fri Oct 24 13:25:45 2008 +0400
@@ -31,6 +31,10 @@
     return CommandUtil.runCommand(cli);
   }
 
+  protected ExecResult runCommand(@NotNull GeneralCommandLine cli, int executionTimeout) throws VcsException {
+    return CommandUtil.runCommand(cli, executionTimeout);
+  }
+
   protected void failIfNotEmptyStdErr(@NotNull GeneralCommandLine cli, @NotNull ExecResult res) throws VcsException {
     if (!StringUtil.isEmpty(res.getStderr())) {
       CommandUtil.commandFailed(cli.getCommandLineString(), res);
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CloneCommand.java	Tue Oct 21 16:10:54 2008 +0400
+++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CloneCommand.java	Fri Oct 24 13:25:45 2008 +0400
@@ -60,6 +60,6 @@
     cli.addParameter(getSettings().getRepository());
     cli.addParameter(dir.getName());
 
-    runCommand(cli);
+    runCommand(cli, 24*3600); // some repositories are quite large, we set timeout to 24 hours 
   }
 }
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandUtil.java	Tue Oct 21 16:10:54 2008 +0400
+++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandUtil.java	Fri Oct 24 13:25:45 2008 +0400
@@ -24,6 +24,8 @@
 import org.jetbrains.annotations.NotNull;
 
 public class CommandUtil {
+  private static final int DEFAULT_COMMAND_TIMEOUT_SEC = 3600;
+
   public static void checkCommandFailed(@NotNull String cmdName, @NotNull ExecResult res) throws VcsException {
     if (res.getExitCode() > 0 || res.getException() != null) {
       commandFailed(cmdName, res);
@@ -47,9 +49,18 @@
   }
 
   public static ExecResult runCommand(@NotNull GeneralCommandLine cli) throws VcsException {
+    return runCommand(cli, DEFAULT_COMMAND_TIMEOUT_SEC);
+  }
+
+  public static ExecResult runCommand(@NotNull GeneralCommandLine cli, final int executionTimeout) throws VcsException {
     String cmdStr = cli.getCommandLineString();
     Loggers.VCS.debug("Run command: " + cmdStr);
-    ExecResult res = SimpleCommandLineProcessRunner.runCommand(cli, null);
+    ExecResult res = SimpleCommandLineProcessRunner.runCommand(cli, null, new SimpleCommandLineProcessRunner.RunCommandEventsAdapter() {
+      @Override
+      public Integer getOutputIdleSecondsTimeout() {
+        return executionTimeout;
+      }
+    });
     CommandUtil.checkCommandFailed(cmdStr, res);
     Loggers.VCS.debug(res.getStdout());
     return res;
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/UpdateCommand.java	Tue Oct 21 16:10:54 2008 +0400
+++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/UpdateCommand.java	Fri Oct 24 13:25:45 2008 +0400
@@ -38,6 +38,6 @@
       cli.addParameter("-r");
       cli.addParameter(myToId);
     }
-    runCommand(cli);
+    runCommand(cli, 8*3600); // execution timeout is set to 8 hours for large repositories
   }
 }