Skip to content
  1. Mar 22, 2013
  2. Mar 21, 2013
    • Jesse Glick's avatar
    • Jesse Glick's avatar
      b0f30aba
    • Jesse Glick's avatar
      [FIXED JENKINS-13154] AnnotationMapper bug was causing massive lock contention... · fdc090a3
      Jesse Glick authored
      [FIXED JENKINS-13154] AnnotationMapper bug was causing massive lock contention when saving fingerprints.
      fdc090a3
    • Kohsuke Kawaguchi's avatar
      [FIXED JENKINS-7813] · 8a3e909d
      Kohsuke Kawaguchi authored
      Fixed the throughput problem between master/slave communication.
      This fix contains two independent problems.
      
      One was in the remoting. During a large sustained data transfer
      (such as artifact archiving and large test reports), the way we
      were doing flow control and ACK-ing were penalizing us badly.
      I improved the flow control algorithm in remoting 1.23, and also
      increased advertised window size so that the transfer can saturate
      available bandwidth even when a latency is large. (And unless
      the reader side is excessivesly slow, this shouldn't increase
      any memory consumption.)
      
      The other fix was in trilead-ssh2, which is our SSH client
      implementation used by ssh-slaves plugin. The buffer size for flow
      control was too small. I improved the way buffering is done to reduce
      the memory footprint when the reader closely follows the writer, then I
      increased the advertised window size. Again, this shouldn't increase
      memory consumption (in fact it'll likely actually reduce them) unless
      the reader end gets abandoned.
      
      On my simulated latency-injected network, the sustained transfer rate is
      now on par with scp. We win for smaller files because of the TCP slow
      start penality that scp would incur, and we lose a bit as files get
      larger due to additional framing overhead.
      
      If you have manually extracted slave.jar and placed them on slaves, you
      need to update them to 2.23 to see the performance benefits.
      8a3e909d
  3. Mar 20, 2013
    • Jesse Glick's avatar
      Use TemporaryFolder to good effect. · c49d6b5b
      Jesse Glick authored
      Prevents us from leaving behind a temp dir with cyclic symlinks, which breaks JGit’s clean function.
      That in turn can cause test builds to break:
      https://jenkins.ci.cloudbees.com/job/core/job/jenkins_main_trunk/783/console
      Cleaning workspace
      FATAL: Could not delete file …/workspace/core/jenkins_main_trunk/core/target/hudson5309354136960541268tmp/c/symlink/c/symlink/c/symlink/…/c/foo.xml
      org.eclipse.jgit.api.errors.JGitInternalException: Could not delete file …/workspace/core/jenkins_main_trunk/core/target/hudson5309354136960541268tmp/c/symlink/c/symlink/c/symlink/…/c/foo.xml
      	at org.eclipse.jgit.api.CleanCommand.call(CleanCommand.java:137)
      	at org.jenkinsci.plugins.gitclient.JGitAPIImpl.clean(JGitAPIImpl.java:305)
      	at hudson.plugins.git.GitAPI.clean(GitAPI.java:248)
      	at hudson.plugins.git.GitSCM$4.invoke(GitSCM.java:1213)
      	at hudson.plugins.git.GitSCM$4.invoke(GitSCM.java:1196)
      	at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2236)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:118)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      	at hudson.remoting.Request$2.run(Request.java:326)
      	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
      	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:722)
      Caused by: java.io.IOException: Could not delete file …/workspace/core/jenkins_main_trunk/core/target/hudson5309354136960541268tmp/c/symlink/c/symlink/c/symlink/…/c/foo.xml
      	at org.eclipse.jgit.util.FileUtils.delete(FileUtils.java:142)
      	at org.eclipse.jgit.util.FileUtils.delete(FileUtils.java:126)
      	at org.eclipse.jgit.util.FileUtils.delete(FileUtils.java:126)
      	…
      	at org.eclipse.jgit.util.FileUtils.delete(FileUtils.java:126)
      	at org.eclipse.jgit.util.FileUtils.delete(FileUtils.java:126)
      	at org.eclipse.jgit.api.CleanCommand.call(CleanCommand.java:132)
      	... 14 more
      c49d6b5b
    • Jesse Glick's avatar
      90f3ad5d
    • Jesse Glick's avatar
      'mvn... · f77cd8a8
      Jesse Glick authored
      'mvn -Dtest=hudson.maven.MavenProjectTest#testDeleteSetBuildDeletesModuleBuilds test' fails on empty local repo.
      ~/.m2/repository/org/jvnet/hudson/main/test/multimod/moduleA/1.0-SNAPSHOT/moduleA-1.0-SNAPSHOT.jar was missing; need install goal.
      Better to set a local repo so we do not pollute the real repo, and to avoid interaction between tests.
      f77cd8a8
    • Jesse Glick's avatar
      Updated comment in POM. · b7f0e57a
      Jesse Glick authored
      b7f0e57a
    • Stephen Connolly's avatar
      This code was borked as SlaveComputer is not serializable and we are passing... · a16c59bf
      Stephen Connolly authored
      This code was borked as SlaveComputer is not serializable and we are passing an implicit ref to the outer class.
      
      - I suspect that nobody has ever used this method given the lack of conversion to static inner class required to make it work
      a16c59bf
    • Jesse Glick's avatar
      845bf37a
    • Jesse Glick's avatar
  4. Mar 19, 2013
  5. Mar 18, 2013
Loading