Wed, Apr 01, 2020 at 06:52:53PM CEST, olichtne(a)redhat.com wrote:
From: Ondrej Lichtner <olichtne(a)redhat.com>
File descriptors opened for communication with a Job process on the
slave were not being closed and cleaned up properly. This leads to file
descriptor ulimit exhaustion very quickly and only via launching recipe
jobs in a sequence. This basically made any Recipe "time" limited to a
certain number of jobs that it can execute.
Closing the multiprocessing.Pipe-s (unix sockets) and removing the Job
from the JobContext to clean up the sentinel pipe resolves this issue.
The file descriptor limit can still be hit in case enough parallel Jobs
are run, but that is intended and a problem that is out-of-scope for
LNST.
What happens if this is hit?
Would LNST handle this properly?
Would user get an information that the limit has been reached (OSError) and
all resources will be freed?
-Jan