Agreed. It is user viewpoint that matters. Jenkins plugin install system
should adjust its behaivor as it is backand process, not controllable by
user.

2012/5/24 Peter Carr <[email protected]>

>  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=123962105<https://uisapp2.iu.edu/confluence-prd/pages/viewpage.action?pageId=123962105>
>>
>> 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.jav
>>>> a: 113)
>>>>
>>>>        at hudson.PluginManager.**dynamicLoad(PluginManager.**java:352)
>>>>
>>>>        at hudson.model.UpdateCenter$**InstallationJob._run(**
>>>> UpdateCenter.java:
>>>> 1134)
>>>>
>>>>        ... 7 more
>>>>
>>>


-- 
A.C. Linards L.

Reply via email to