[COMMITTERS] pgsql: Fix postmaster's handling of fork failure for a bgworkerprocess

Поиск
Список
Период
Сортировка
От Tom Lane
Тема [COMMITTERS] pgsql: Fix postmaster's handling of fork failure for a bgworkerprocess
Дата
Msg-id E1d2gfs-0004v2-Sb@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Fix postmaster's handling of fork failure for a bgworker process.

This corner case didn't behave nicely at all: the postmaster would
(partially) update its state as though the process had started
successfully, and be quite confused thereafter.  Fix it to act
like the worker had crashed, instead.

In passing, refactor so that do_start_bgworker contains all the
state-change logic for bgworker launch, rather than just some of it.

Back-patch as far as 9.4.  9.3 contains similar logic, but it's just
enough different that I don't feel comfortable applying the patch
without more study; and the use of bgworkers in 9.3 was so small
that it doesn't seem worth the extra work.

transam/parallel.c is still entirely unprepared for the possibility
of bgworker startup failure, but that seems like material for a
separate patch.

Discussion: https://postgr.es/m/4905.1492813727@sss.pgh.pa.us

Branch
------
REL9_6_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/63f64d2824b290a75a82ac60c5b62a971b7c7a4e

Modified Files
--------------
src/backend/postmaster/postmaster.c | 108 +++++++++++++++++++++++++-----------
1 file changed, 77 insertions(+), 31 deletions(-)


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: [COMMITTERS] pgsql: Code review for commands/statscmds.c.
Следующее
От: Fujii Masao
Дата:
Сообщение: [COMMITTERS] pgsql: Get rid of extern declarations of non-existent functions.