Re: Close stdout and stderr in syslogger

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Close stdout and stderr in syslogger
Дата
Msg-id 12489.1568295174@sss.pgh.pa.us
обсуждение исходный текст
Ответы Re: Close stdout and stderr in syslogger  (Святослав Ермилин <munakoiso@yandex-team.ru>)
Re: Close stdout and stderr in syslogger  (Святослав Ермилин <munakoiso@yandex-team.ru>)
Список pgsql-hackers
=?utf-8?B?0KHQstGP0YLQvtGB0LvQsNCyINCV0YDQvNC40LvQuNC9?= <munakoiso@yandex-team.ru> writes:
> <div><div>Hi!</div><div> </div><div>Few months ago we have encountered situation when some quite big open log files
wereopen by Postres despite being deleted.</div><div>This affects free space caluculation in out managed PostgreSQL
instances.</div><div>CurrentlyI'm investigating this issue.</div><div>We traced some roots to unclosed descriptors in
Perlcode of postgresql-common [0], but we still face some unclosed descriptors pointing to log
file.</div><div> </div><div>Debiantools from postgresql-common starts pg_ctl piped to logfile. Descriptor is piped to
logfileand block it for delete.</div><div>That is why we can't delete logfile.1 after logrotate.</div><div>And after
secondlogrotate logfile.1 is in "deleted" status, but can't be deleted in fact.</div><div> </div><div>Here I apply path
withpossible solution. In this patch stdout and stderr pipes are just closed in
syslogger.</div><div> </div><div>--</div><div>SviatoslavErmilin</div><div>Yandex</div><div> </div><div>[0]
https://salsa.debian.org/postgresql/postgresql-common/commit/580aa0677edc222ebaf6e1031cf3929f847f27fb</div></div>

I'm quite certain that the current behavior is intentional, if only
because closing the syslogger's stderr would make it impossible to
debug problems inside the syslogger.  Why is it a problem that we
leave it open?  I don't believe either that the file will grow much
(in normal cases anyway), or that it's impossible to unlink it
(except on Windows, but you didn't say anything about Windows).

In any case, the proposed patch almost certainly introduces new
problems, in that you dropped the fcloses's into code that
executes repeatedly.

            regards, tom lane



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Alexander Korotkov
Дата:
Сообщение: Re: doc: pg_trgm missing description for GUC "pg_trgm.strict_word_similarity_threshold"
Следующее
От: Robert Haas
Дата:
Сообщение: Re: SegFault on 9.6.14