#1549 improve OOM logging for createrepo task failures
Opened by ktdreyer. Modified

I have a build tag with two external repos: Fedora 29's GA content, and Fedora 29's updates repo.

When I build the repo with koji regen-repo ktdreyer-f29-build, the mergerepo process dies with signal 9. There is no indication in Koji's logs about what is going on, other than the message that the subcommand died with signal 9.

Signal 9 is SIGKILL, and the reason this happened in my particular environment was that my builder did not have enough memory. When I increased my builder's RAM from 1GB to 2GB, I could do regen-repo for CentOS 7 (plus EPEL 7). I had to go up to 4GB to get mergerepo to work for Fedora 29.

In large environments this is fine because the builders in the createrepo channel usually have tons of memory. In my case I'm setting up a demo environment on my laptop, and it was difficult to understand why 1GB of RAM was causing the problem until I looked in dmesg.

Is there any general guidance we can give users ahead of time? Like if you try to merge repos with X number of packages, you will need Y GB of RAM?

Maybe koji.TaskManager could evaluate the process exit code, and if it is "9", give some hint in the task logs that /usr/libexec/kojid/mergerepos probably ran out of memory. Then the user could see this in the task results (eg. Kojiweb).


This issue has been migrated to Fedora Forge:
https://forge.fedoraproject.org/koji/koji/issues/1549

Please continue any further discussion there.

Metadata