-
Improvement
-
Resolution: Unresolved
-
Minor
-
None
-
Jenkins 2.69
Subversion Plugin 2.8
We're using "Emulate clean checkout by first deleting unversioned/ignored files, then 'svn update'".
Something somewhere in Jenkins is not closing its file handles. We're still trying to figure out what, but as a result of that, sometimes the first checkout attempt fails with "Too many open files".
When the first attempt to check out fails, Jenkins retries. But when it retries, a bunch of files are successfully checked out, until it eventually fail for a different reason.
07-12 22:12:32 U dir/file1.java 07-12 22:12:32 U dir/file2.java 07-12 22:12:32 U dir/file3.java 07-12 22:12:32 U dir/file4.java 07-12 22:12:33 ERROR: Failed to update https://svn/acme/trunk/product 07-12 22:12:33 org.tmatesoft.svn.core.SVNException: svn: E200030: There are unfinished transactions detected in '/opt/jenkins/jobs/trunk-functional-matrix/workspace' 07-12 22:12:33 at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:70) 07-12 22:12:33 at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:57) 07-12 22:12:33 at org.tmatesoft.svn.core.internal.wc17.db.SVNWCDbRoot.ensureNoUnfinishedTransactions(SVNWCDbRoot.java:177) 07-12 22:12:33 at org.tmatesoft.svn.core.internal.wc17.db.SVNWCDb.ensureNoUnfinishedTransactions(SVNWCDb.java:212) 07-12 22:12:33 at org.tmatesoft.svn.core.internal.wc17.SVNWCContext.ensureNoUnfinishedTransactions(SVNWCContext.java:5179) 07-12 22:12:33 at org.tmatesoft.svn.core.wc2.SvnOperationFactory.releaseWcContext(SvnOperationFactory.java:1259) 07-12 22:12:33 at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1249) 07-12 22:12:33 at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294) 07-12 22:12:33 at org.tmatesoft.svn.core.wc.SVNUpdateClient.doUpdate(SVNUpdateClient.java:311) 07-12 22:12:33 at org.tmatesoft.svn.core.wc.SVNUpdateClient.doUpdate(SVNUpdateClient.java:291) 07-12 22:12:33 at org.tmatesoft.svn.core.wc.SVNUpdateClient.doUpdate(SVNUpdateClient.java:387) 07-12 22:12:33 at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:158) 07-12 22:12:33 at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:162) 07-12 22:12:33 at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:1000) 07-12 22:12:33 at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:976) 07-12 22:12:33 at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:952) 07-12 22:12:33 at hudson.FilePath.act(FilePath.java:998) 07-12 22:12:33 at hudson.FilePath.act(FilePath.java:976) 07-12 22:12:33 at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:901) 07-12 22:12:33 at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:837) 07-12 22:12:33 at hudson.scm.SCM.checkout(SCM.java:495) 07-12 22:12:33 at hudson.model.AbstractProject.checkout(AbstractProject.java:1212) 07-12 22:12:33 at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:560) 07-12 22:12:33 at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86) 07-12 22:12:33 at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:485) 07-12 22:12:33 at hudson.model.Run.execute(Run.java:1735) 07-12 22:12:33 at hudson.matrix.MatrixBuild.run(MatrixBuild.java:313) 07-12 22:12:33 at hudson.model.ResourceController.execute(ResourceController.java:97) 07-12 22:12:33 at hudson.model.Executor.run(Executor.java:415) 07-12 22:12:33 ERROR: Subversion update failed 07-12 22:12:33 org.tmatesoft.svn.core.SVNException: svn: E200030: There are unfinished transactions detected in '/opt/jenkins/jobs/trunk-functional-matrix/workspace' 07-12 22:12:33 at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:70) 07-12 22:12:33 at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:57) 07-12 22:12:33 at org.tmatesoft.svn.core.internal.wc17.db.SVNWCDbRoot.ensureNoUnfinishedTransactions(SVNWCDbRoot.java:177) 07-12 22:12:33 at org.tmatesoft.svn.core.internal.wc17.db.SVNWCDb.ensureNoUnfinishedTransactions(SVNWCDb.java:212) 07-12 22:12:33 at org.tmatesoft.svn.core.internal.wc17.SVNWCContext.ensureNoUnfinishedTransactions(SVNWCContext.java:5179) 07-12 22:12:33 at org.tmatesoft.svn.core.wc2.SvnOperationFactory.releaseWcContext(SvnOperationFactory.java:1259) 07-12 22:12:33 at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1249) 07-12 22:12:33 at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294) 07-12 22:12:33 at org.tmatesoft.svn.core.wc.SVNUpdateClient.doUpdate(SVNUpdateClient.java:311) 07-12 22:12:33 at org.tmatesoft.svn.core.wc.SVNUpdateClient.doUpdate(SVNUpdateClient.java:291) 07-12 22:12:33 at org.tmatesoft.svn.core.wc.SVNUpdateClient.doUpdate(SVNUpdateClient.java:387) 07-12 22:12:33 at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:158) 07-12 22:12:33 Caused: hudson.scm.subversion.UpdaterException: failed to perform svn update 07-12 22:12:33 Caused: java.io.IOException 07-12 22:12:33 at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:212) 07-12 22:12:33 at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:162) 07-12 22:12:33 at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:1000) 07-12 22:12:33 at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:976) 07-12 22:12:33 at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:952) 07-12 22:12:33 at hudson.FilePath.act(FilePath.java:998) 07-12 22:12:33 at hudson.FilePath.act(FilePath.java:976) 07-12 22:12:33 at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:901) 07-12 22:12:33 at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:837) 07-12 22:12:33 at hudson.scm.SCM.checkout(SCM.java:495) 07-12 22:12:33 at hudson.model.AbstractProject.checkout(AbstractProject.java:1212) 07-12 22:12:33 at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:560) 07-12 22:12:33 at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86) 07-12 22:12:33 at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:485) 07-12 22:12:33 at hudson.model.Run.execute(Run.java:1735) 07-12 22:12:33 at hudson.matrix.MatrixBuild.run(MatrixBuild.java:313) 07-12 22:12:33 at hudson.model.ResourceController.execute(ResourceController.java:97) 07-12 22:12:33 at hudson.model.Executor.run(Executor.java:415)
The assumption is that the Subversion connection is not being closed in a finally block, or something along those lines.