Opened 2 years ago

Last modified 16 months ago

#57869 new enhancement

Don't let the disk fill up

Reported by: ryandesign (Ryan Schmidt) Owned by: admin@…
Priority: Normal Milestone:
Component: buildbot/mpbb Version:
Keywords: Cc:


Bad things happen when the disk is completely full; for example, mpbb doesn't work anymore, so it can't clean things up and free up the disk space again.

Maybe we should take some steps to ensure the disk can't fill up completely. For example, if we presume that installing the port and installing the dependencies are the times when disk usage might grow unbounded, then we might spawn a background process at those times that monitors disk space and kills the port command if disk space gets very low.

Change History (3)

comment:1 Changed 2 years ago by raimue (Rainer Müller)

I am not convinced this is really worth implementing...

comment:2 in reply to:  1 Changed 2 years ago by ryandesign (Ryan Schmidt)

Replying to raimue:

I am not convinced this is really worth implementing...

You're not the one who has had to find a buildbot worker in a wedged state requiring someone to manually log into it, free up disk space, and then reschedule dozens of builds that failed because of it. :) Fortunately it hasn't happened often. Usually when a build runs out of disk space, at least a few KB are available for the temp file and it can clean itself up.

I agree it would be better if we simply had more disk space free on each worker so that we didn't run out. There are other open tickets about some ideas I had for that, including #57396 and #57464.

comment:3 Changed 16 months ago by ryandesign (Ryan Schmidt)

The 10.8 builder's disk filled up again today, causing hundreds of builds to fail immediately before we noticed the problem. But it was due to the Spotlight index growing out of control (it was 26GB) (again—we've seen that once before) so I've nuked the Spotlight index again and added /opt and /Applications/MacPorts to the Spotlight exclude list to hopefully keep this from happening again or at least delay it.

Note: See TracTickets for help on using tickets.