Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-24131

Make Jenkins SVN Plugin to check whether proxy is working correctly

XMLWordPrintable

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Minor Minor
    • subversion-plugin
    • None
    • Win 2008 Server, x86_64, Jenkins 1.574 installed manually, not as a windows service.

      SVN plugin can work through proxy, but it doesn't bother whether proxy works or not.
      Once our proxy wasn't working correctly and the job freezed, doing nothing and leaving console log empty.
      This time we had some problems with connection (i.e. proxy worked but there were no access to the internet for a limited time) and job failed with such an error:

      ERROR: Failed to update svn://svn-url-here
      org.tmatesoft.svn.core.SVNException: svn: E204900: C:\path-to-project-here\
      at hudson.scm.subversion.UpdateWithCleanUpdater$TaskImpl$1.handleStatus(UpdateWithCleanUpdater.java:78)
      at org.tmatesoft.svn.core.wc.SVNStatusClient$1.receive(SVNStatusClient.java:356)
      at org.tmatesoft.svn.core.wc.SVNStatusClient$1.receive(SVNStatusClient.java:353)
      at org.tmatesoft.svn.core.wc2.SvnReceivingOperation.receive(SvnReceivingOperation.java:78)
      at org.tmatesoft.svn.core.internal.wc2.old.SvnOldGetStatus.handleStatus(SvnOldGetStatus.java:37)
      at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.sendUnversionedStatus(SVNStatusEditor.java:361)
      at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.getDirStatus(SVNStatusEditor.java:209)
      at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.handleDirEntry(SVNStatusEditor.java:321)
      at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.getDirStatus(SVNStatusEditor.java:256)
      at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.closeEdit(SVNStatusEditor.java:114)
      at org.tmatesoft.svn.core.internal.wc16.SVNStatusClient16.doStatus(SVNStatusClient16.java:430)
      at org.tmatesoft.svn.core.internal.wc2.old.SvnOldGetStatus.run(SvnOldGetStatus.java:22)
      at org.tmatesoft.svn.core.internal.wc2.old.SvnOldGetStatus.run(SvnOldGetStatus.java:13)
      at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:20)
      at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1238)
      at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)
      at org.tmatesoft.svn.core.wc.SVNStatusClient.doStatus(SVNStatusClient.java:360)
      at hudson.scm.subversion.UpdateWithCleanUpdater$TaskImpl.preUpdate(UpdateWithCleanUpdater.java:66)
      at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:151)
      at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:161)
      at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:1003)
      at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:984)
      at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:960)
      at hudson.FilePath.act(FilePath.java:922)
      at hudson.FilePath.act(FilePath.java:895)
      at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:909)
      at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:844)
      at hudson.model.AbstractProject.checkout(AbstractProject.java:1254)
      at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:624)
      at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
      at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:530)
      at hudson.model.Run.execute(Run.java:1732)
      at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:529)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:234)
      Caused by: svn: E204900: C:\path-to-project-here\
      at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:109)
      ... 35 more
      Caused by: java.nio.file.DirectoryNotEmptyException: C:\path-to-project-here\
      at sun.nio.fs.WindowsFileSystemProvider.implDelete(Unknown Source)
      at sun.nio.fs.AbstractFileSystemProvider.delete(Unknown Source)
      at java.nio.file.Files.delete(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at hudson.Util.deleteFile(Util.java:247)
      at hudson.Util.deleteRecursive(Util.java:310)
      at hudson.scm.subversion.UpdateWithCleanUpdater$TaskImpl$1.handleStatus(UpdateWithCleanUpdater.java:74)
      ... 34 more
      ERROR: Subversion update failed
      java.io.IOException
      at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:211)
      at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:161)
      at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:1003)
      at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:984)
      at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:960)
      at hudson.FilePath.act(FilePath.java:922)
      at hudson.FilePath.act(FilePath.java:895)
      at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:909)
      at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:844)
      at hudson.model.AbstractProject.checkout(AbstractProject.java:1254)
      at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:624)
      at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
      at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:530)
      at hudson.model.Run.execute(Run.java:1732)
      at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:529)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:234)
      Caused by: hudson.scm.subversion.UpdaterException: failed to perform svn update
      ... 17 more
      Caused by: org.tmatesoft.svn.core.SVNException: svn: E204900: C:\path-to-project-here\
      at hudson.scm.subversion.UpdateWithCleanUpdater$TaskImpl$1.handleStatus(UpdateWithCleanUpdater.java:78)
      at org.tmatesoft.svn.core.wc.SVNStatusClient$1.receive(SVNStatusClient.java:356)
      at org.tmatesoft.svn.core.wc.SVNStatusClient$1.receive(SVNStatusClient.java:353)
      at org.tmatesoft.svn.core.wc2.SvnReceivingOperation.receive(SvnReceivingOperation.java:78)
      at org.tmatesoft.svn.core.internal.wc2.old.SvnOldGetStatus.handleStatus(SvnOldGetStatus.java:37)
      at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.sendUnversionedStatus(SVNStatusEditor.java:361)
      at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.getDirStatus(SVNStatusEditor.java:209)
      at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.handleDirEntry(SVNStatusEditor.java:321)
      at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.getDirStatus(SVNStatusEditor.java:256)
      at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.closeEdit(SVNStatusEditor.java:114)
      at org.tmatesoft.svn.core.internal.wc16.SVNStatusClient16.doStatus(SVNStatusClient16.java:430)
      at org.tmatesoft.svn.core.internal.wc2.old.SvnOldGetStatus.run(SvnOldGetStatus.java:22)
      at org.tmatesoft.svn.core.internal.wc2.old.SvnOldGetStatus.run(SvnOldGetStatus.java:13)
      at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:20)
      at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1238)
      at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)
      at org.tmatesoft.svn.core.wc.SVNStatusClient.doStatus(SVNStatusClient.java:360)
      at hudson.scm.subversion.UpdateWithCleanUpdater$TaskImpl.preUpdate(UpdateWithCleanUpdater.java:66)
      at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:151)
      ... 16 more
      Caused by: svn: E204900: C:\path-to-project-here\
      at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:109)
      ... 35 more
      Caused by: java.nio.file.DirectoryNotEmptyException: C:\path-to-project-here\
      at sun.nio.fs.WindowsFileSystemProvider.implDelete(Unknown Source)
      at sun.nio.fs.AbstractFileSystemProvider.delete(Unknown Source)
      at java.nio.file.Files.delete(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at hudson.Util.deleteFile(Util.java:247)
      at hudson.Util.deleteRecursive(Util.java:310)
      at hudson.scm.subversion.UpdateWithCleanUpdater$TaskImpl$1.handleStatus(UpdateWithCleanUpdater.java:74)
      ... 34 more

      So from my point of view it would be a nice improvement to (somehow) check availability before doing svn up or something else.

            Unassigned Unassigned
            kroartem Artem Krosheninnikov
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: