Sorry, I used wrong wording, I wanted to say that these files are not created by Jenkins but by NFS.
Agree that in case of installing new plugin, Jenkins should close the files properly (btw: which servlet container do you use?), i.e. it's a bug - please file a JIRA in the Core component. Thanks Vojta On Thursday 24 May 2012 10:02:54 Peter Carr wrote: > I see this as a bug or feature request for jenkins. > > As an end user of the jenkins web application, I am not trying to delete a > file. I am merely trying to install a plugin. The code within Jenkins which > manages plugin installation should be able to run gracefully (by not > failing and throwing a stack trace) when run on an NFS file system. > > Regards, > Peter > > On 5/23/12 4:20 PM, Vojtech Juranek wrote: > > Hi, > > this is not a bug in Jenkins. It's due to how NFS works and it means that > > you are trying to delete a file which is still open by some process. For > > short explanation see e.g. [1]. Cheers > > Vojta > > > > [1] > > https://uisapp2.iu.edu/confluence-prd/pages/viewpage.action?pageId=123962 > > 105> > > On Wednesday 23 May 2012 21:31:39 John Vacz wrote: > >> I also encountered the same error after migrating our Jenkins to a new > >> system with NAS storage. Updating plugins becomes quite annoying The > >> error also occured occasionaly when Jenkins trying to delete the old > >> builds. Because of the IOException2 caused by some mysterious > >> .nfs000000000 files, Jenkins fails to remove the build on left side > >> menu, although the build directories dissapears shortly after. > >> > >> If the NAS is really the culprit, I would rather consider this as an > >> avoidable problem: simply do not use NFS as Jenkins home or slave root > >> fs. As we see all data generated by Jenkins as dispensable,as long as > >> the configurations are archived, recover from disk failure is not a big > >> deal. But our (paranoid) admins (generously) provided us such NAS system > >> with all kinds of journaling/versioning/backup features, which we > >> couldn't care less. I'm still trying to persuade them to gave us some > >> normal "low-level" storage instead. > >> > >> Anyways Im also interested in the same question, or any > >> configurations/tricks/workarounds to avoid this, for the time being or > >> if we must live with NAS. > >> > >> On 22.05.2012 22:56, Peter Carr wrote: > >>> I noticed the included error stacktrace on the Update Center tab, for > >>> my Git Plugin. It is caused, I think, because I am running Jenkins on > >>> a VM with NFS storage. Occasionally, the temporary .nfs* files show up > >>> while doing an 'ls', but then they disappear a little bit later. In > >>> implementing similar systems, I have developed the habit of ignoring > >>> all '.nfs*' files when doing directory listings. Is it possible this > >>> is an error in the core of Hudson? > >>> > >>> Here is the stack trace: > >>> > >>> hudson.util.IOException2: Failed to dynamically deploy this plugin > >>> > >>> at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java: > >>> 1138) > >>> > >>> at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:956) > >>> > >>> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java: > >>> 441) > >>> > >>> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > >>> at java.util.concurrent.FutureTask.run(FutureTask.java:138) > >>> at java.util.concurrent.ThreadPoolExecutor > >>> > >>> $Worker.runTask(ThreadPoolExecutor.java:886) > >>> > >>> at java.util.concurrent.ThreadPoolExecutor > >>> > >>> $Worker.run(ThreadPoolExecutor.java:908) > >>> > >>> at java.lang.Thread.run(Thread.java:619) > >>> > >>> Caused by: java.io.IOException: Unable to delete /xchip/gpint/tools/ > >>> hudson/plugins/github/WEB-INF/lib/.nfs00000000001b3cc400000ba3 > >>> > >>> at hudson.Util.deleteFile(Util.java:237) > >>> at hudson.Util.deleteRecursive(Util.java:287) > >>> at hudson.Util.deleteContentsRecursive(Util.java:198) > >>> at hudson.Util.deleteRecursive(Util.java:286) > >>> at hudson.Util.deleteContentsRecursive(Util.java:198) > >>> at hudson.Util.deleteRecursive(Util.java:278) > >>> at hudson.Util.deleteContentsRecursive(Util.java:198) > >>> at hudson.Util.deleteRecursive(Util.java:278) > >>> > >>> at hudson.ClassicPluginStrategy.explode(ClassicPluginStrategy.java: > >>> 389) > >>> > >>> at > >>> > >>> hudson.ClassicPluginStrategy.createPluginWrapper(ClassicPluginStrategy.j > >>> av > >>> a: 113) > >>> > >>> at hudson.PluginManager.dynamicLoad(PluginManager.java:352) > >>> > >>> at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java: > >>> 1134) > >>> > >>> ... 7 more
