RFR: race with nested repos in hgforest.sh

Chris Hegarty chris.hegarty at oracle.com
Mon Feb 4 10:23:36 UTC 2013


On 04/02/2013 10:04, Fredrik Öhrström wrote:
> 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.

Ah sorry Fredrik, I remember the ctrl-c stuff now. I didn't mean to 
implicate you, just thought you would be familiar with this area.

> 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.

Thanks,
-Chris.

>
> //Fredrik
>
>>
>> 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