RFR: race with nested repos in hgforest.sh

Chris Hegarty chris.hegarty at oracle.com
Fri Feb 1 14:40:38 UTC 2013


[ 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