You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Paul King (JIRA)" <ji...@apache.org> on 2015/07/14 01:09:04 UTC
[jira] [Resolved] (GROOVY-5356) When using Grab concurrently the
underlying ivy library can lock a metadata file causing grab failure
[ https://issues.apache.org/jira/browse/GROOVY-5356?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul King resolved GROOVY-5356.
-------------------------------
Resolution: Fixed
Actually, a partial fix was implemented a long time ago:
https://github.com/apache/incubator-groovy/blob/master/src/main/groovy/grape/GrapeIvy.groovy#L405
And we haven't had the same issue reported since as far as I know.
> When using Grab concurrently the underlying ivy library can lock a metadata file causing grab failure
> -----------------------------------------------------------------------------------------------------
>
> Key: GROOVY-5356
> URL: https://issues.apache.org/jira/browse/GROOVY-5356
> Project: Groovy
> Issue Type: Bug
> Components: Grape
> Reporter: Paul King
> Assignee: Paul King
> Priority: Minor
>
> This doesn't occur very often - seems to be a problem on heavily used slow machines, e.g. CI servers. When the issue does occur, there will be a FileNotFoundException (Access is denied) as one process has "~/.groovy/grapes/resolved-caller-all-caller-working.properties" locked when the other also tries to write to it.
> Proposal is to add a couple of digits from System.currentTimeMillis into the name of the metadata file plus also wrap the call to Ivy with a MAX_TRIES wait loop to allow the first Grab to finish - to handle the rare case where two process attempt a grab within the same millisecond.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)