[
https://issues.apache.org/jira/browse/IVY-1388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14184655#comment-14184655
]
Shawn Heisey commented on IVY-1388:
-----------------------------------
Since I don't actually know how to integrate ivy with ant, I don't know how to
use the lock strategy info you gave me. I can start a discussion on
[email protected].
I believe that this behavior should be considered a bug. If something
catastrophic had happened, like a kernel panic or losing power, then I could
understand the lock file being left behind ... but it's happening as a result
of ctrl-c. I would have expected the shutdown hook (fix for this issue) to
have dealt with that problem, but apparently the fix wasn't complete enough.
I have already filed IVY-1489 for the continuing problems I've observed.
> *.lck files created by "artifact-lock" lock strategy are not cleaned up if
> ivy quits abruptly
> ---------------------------------------------------------------------------------------------
>
> Key: IVY-1388
> URL: https://issues.apache.org/jira/browse/IVY-1388
> Project: Ivy
> Issue Type: Bug
> Affects Versions: 2.2.0, 2.3.0-RC1, trunk
> Reporter: Wei Chen
> Assignee: Nicolas Lalevée
> Fix For: 2.3.0
>
> Attachments: FileBasedLockStrategy.java.patch, patch1.patch
>
> Original Estimate: 0.5m
> Remaining Estimate: 0.5m
>
> We have a few build processes running in parallel, all of which share the
> same ivy cache. In order not to run into any parallel downloading problems,
> we enabled artifact-lock lock strategy. An annoying problem with the
> artifact-lock strategy is that the *.lck files which are created as a lock
> are not cleaned up if the build exits abruptly. For example, while ivy is
> downloading a big jar, if you Ctrl-C to quit that build process. Those lock
> files will remain in the metadatas folder. The same happens too if ivy
> encounters some error and fails the build.
> Those uncleaned lock files will cause problem when you start the build again.
> The build process will hang while ivy waiting those "locks" to be released,
> which will never happen automatically. So eventually the build will fail with
> an ivy error "impossible to acquire lock for xxxyyyzzzz". What makes it worse
> is that ivy doesn't fail-fast on the default 2 miuntes lock timeout, it seems
> trying it a few times. In worst scenarios, we have seen the build hangs for
> 12 minutes and then timeout'd and failed.
> We believe this can be fixed by setting deleteOnExit() for the
> FileBasedLockStrategy.java class. We have implemented the fix and it works
> well.
> Patch is provided, could anyone quickly apply this one line change?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)