Hi,

we really have problems with the svn checkouts on concurrently running
builds.

I just want to know, if the svnexternals.txt must be located on the master.
Otherwise I will patch it to be located in the build's workspace.

Thanks

Frederik

2012/7/25 ffromm <[email protected]>

> Hi,
>
> we use the subversion plugin in version 1.39 and have 15 slaves with each
> 2 executors to run the same job in parallel with different parameters. We
> start a batch of 200 builds where 30 builds run at the same time. Sometimes
> a build fails with the following exception:
>
> 2012-07-25 08:44:20.422 | Building remotely on ci-selenium08 in workspace 
> /home/jenkins/builds/Jenkins/workspace/GEN-Selenium-test
> 2012-07-25 08:44:20.512 | Reverting 
> /home/jenkins/builds/Jenkins/workspace/GEN-Selenium-test/.                    
>                      <-- File on jenkins slave
> 2012-07-25 08:45:04.616 | Updating svn+ssh://svn.foo.bar/qs_automation/trunk
> 2012-07-25 08:45:10.744 | At revision 7136
> 2012-07-25 08:45:51.656 | java.io.IOException: Unable to delete 
> /opt/biss/home/ci/jobs/GEN-Selenium-test/svnexternals.txt              <-- 
> File on jenkins master
> 2012-07-25 08:45:51.657 |     at 
> hudson.util.AtomicFileWriter.commit(AtomicFileWriter.java:112)
> 2012-07-25 08:45:51.657 |     at hudson.XmlFile.write(XmlFile.java:178)
> 2012-07-25 08:45:51.657 |     at 
> hudson.scm.SubversionSCM.checkout(SubversionSCM.java:708)
> 2012-07-25 08:45:51.657 |     at 
> hudson.model.AbstractProject.checkout(AbstractProject.java:1245)
> 2012-07-25 08:45:51.657 |     at 
> hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:589)
> 2012-07-25 08:45:51.657 |     at 
> jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
> 2012-07-25 08:45:51.657 |     at 
> hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:494)
> 2012-07-25 08:45:51.657 |     at hudson.model.Run.execute(Run.java:1488)
> 2012-07-25 08:45:51.657 |     at 
> hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
> 2012-07-25 08:45:51.657 |     at 
> hudson.model.ResourceController.execute(ResourceController.java:88)
> 2012-07-25 08:45:51.658 |     at hudson.model.Executor.run(Executor.java:236)
>
>
>
> This happens when two builds finish their svn checkout at the same time.
> The following method of hudson.scm.SubversionSCM saves the svnexternals.txt
> to the project's root dir and not into the workspace of a build.
>
>     /**
>      * Gets the file that stores the externals.
>      */
>     private static File getExternalsFile(AbstractProject project) {
>         return new File(project.getRootDir(),"svnexternals.txt");
>     }
>
> As I understand this, there will not be on svnexternals.txt for each
> workspace but one for all.
>
> Is this correct? If so, concurrent builds have a problem here.
>
> Thanks for any advice...
>
> Frederik
>

Reply via email to