Мы используем Hudson как систему непрерывной интеграции для выполнения автоматических сборок (ночных и основанных на опросе CVS) многих наших проектов.
Некоторые проекты опрашивают CVS каждые 15 минут, другие - каждые 5 минут, а некоторые - каждый час.
Каждые несколько недель мы получаем сборку, которая завершается с ошибкой со следующим выводом:
FATAL: java.io.IOException: Too many open files
java.io.IOException: java.io.IOException: Too many open files
at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
Следующая сборка всегда работала (с 0 изменениями), поэтому мы всегда записывали в нее до 2 сборочных заданий, которые выполняются одновременно и в ходе процесса открываются слишком много файлов.
В эти выходные у нас был сбой сборки в пятницу вечером (автоматическая ночная сборка) с сообщением, и каждая другая ночная сборка также не удалась. Каким-то образом это заставило Хадсона постоянно строить каждый проект, который не удался, пока проблема не была решена. Это приводило к сборке каждые 30 минут каждого проекта до субботнего вечера, когда проблема волшебным образом исчезла.