----- 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
> 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...
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?
Anthony Towns <atowns(a)redhat.com>
Red Hat Release Engineering