RFR: race with nested repos in hgforest.sh
Chris Hegarty
chris.hegarty at oracle.com
Mon Feb 4 09:48:57 UTC 2013
There has been some discussion on this with David, but no other takers.
Fredrik, am I right that you added the support for parallel
clone/update? I believe the changes I have are correct, but maybe you
had other ideas about how to solve this issue?
-Chris.
On 01/02/2013 14:40, Chris Hegarty wrote:
> [ to build-dev and core-libs-dev, expect reviewer from either, but will
> integrate through jdk8/tl ]
>
> This issue is mainly of interest to Oracle engineers, but it effects the
> public hgforest script.
>
> When hgforest.sh is run with an addition argument to specify a closed
> server, there is a problem/race between the creation of the directories
> to hold nested repositories and the clone itself. These directories need
> to be created before the clone command is executed, otherwise it will
> fail, as below.
>
> The trivial fix is to back off these nested repos until their containing
> directory exists.
>
> Webrev:
> http://cr.openjdk.java.net/~chegar/hgforest_nestedRepos/webrev/
>
> sh ./get_source.sh http://xxx.yyy.oracle.com | & tee clone.log
> # Repositories: corba jaxp jaxws langtools jdk hotspot jdk/src/closed
> jdk/make/closed jdk/test/closed hotspot/make/closed hotspot/src/closed
> hotspot/test/closed deploy install sponsors pubs
>
> Waiting 5 secs before spawning next background command.
> Waiting 5 secs before spawning next background command.
> Waiting 5 secs before spawning next background command.
> jdk/src/closed: /java/devtools/sparc/mercurial/0.9.5/bin/python -u
> /java/devtools/sparc/mercurial/latest/bin/hg clone
> http://xxx.yyy.oracle.com/jdk8/tl/jdk/src/closed jdk/src/closed
> jdk/src/closed: abort: No such file or directory: jdk/src/closed
> jdk/make/closed: /java/devtools/sparc/mercurial/0.9.5/bin/python -u
> /java/devtools/sparc/mercurial/latest/bin/hg clone
> http://xxx.yyy.oracle.com/jdk8/tl/jdk/make/closed jdk/make/closed
> jdk/make/closed: abort: No such file or directory: jdk/make/closed
> Waiting 5 secs before spawning next background command.
> ....
>
>
> -Chris.
More information about the build-dev
mailing list