----- Original Message -----
> From: "Mike McLean" <mikem(a)redhat.com>
> On 10/27/2013 05:36 AM, Bojtos Péter wrote:
> > I have a working koji setup with several clients. When I submit a few
> > jobs,
> > it works great. However when I submit lots of package (>100), some of the
> > builds fail with the following error when mock is populating the
> > buildroot
> > (in root.log):
> > Is it because newRepo task is not finished but somehow creates the
> > softlink to latest (and unfinished) koji repo? Have anyone seen the
> > same error before?
> Highly unlikely. Each newRepo task creates an entirely new repo (the old
> one stays around for a while until kojira clears it). When a build
> starts, it asks the hub for the current active repo, so there should be
> no way for a build to recieve a repo that is still being created.
It could be the other way around though -- the build could be trying to use
an out of date repo that is being deleted...
Something like:
a) submit 100 jobs
b) build 1 starts, ..., completes
c) build 2 starts, compile begins
d) build 3 starts, build task grabs the latest build repo id, passes that to
buildArch
e) kojira triggers newRepo task
f) buildArch remains on hold as all builders are busy
g) newRepo finishes
h) buildArch 3 begins actually doing things, working with old repo
i) kojira starts deleting old repos
j) buildArch 3 fails because its repo is no longer there
If you're not doing chain-builds, you could just turn off kojira while the
100 package build is happening. If you are doing chain-builds, this
shouldn't be an issue because each build task won't get started until the
newRepo is completed anyway, so the buildArch tasks will always be looking
at the most recent repo.
If that's really the problem, I guess the long-term fix would be for kojira
to look for any active tasks referencing a repo before scheduling it for
deletion?
Cheers,
aj
This is an interesting case, but this is very unlikely. I've set up kojira to keep
repositories for 1 day with the following in the kojira config:
deleted_repo_lifetime = 86400
It means that the build task should be picked up by a build host and the buildArch task
should be picked up 1 day later.
Anyway I'm going to set it to 1 week and see, what happens.
Cheers,
Peter
--
Anthony Towns <atowns(a)redhat.com>
Red Hat Release Engineering
--
buildsys mailing list
buildsys(a)lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/buildsys