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)