RFR: race with nested repos in hgforest.sh

Fredrik Öhrström fredrik.ohrstrom at oracle.com
Mon Feb 4 10:04:27 UTC 2013

2013-02-04 10:48, Chris Hegarty skrev:
> 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.

I did not add the support for parallel clone/update. It was there 
already and causing problems.
I added the functionality to interrupt the script using ctrl-c, which 
was impossible before, because
of the parallel clone/update code.

Your fix looks good and is simple enough.


> 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 core-libs-dev mailing list