pgsql: Fix fractional vacuum_cost_delay.

Поиск
Список
Период
Сортировка
От Thomas Munro
Тема pgsql: Fix fractional vacuum_cost_delay.
Дата
Msg-id E1pcFet-003aSy-IH@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Fix fractional vacuum_cost_delay.

Commit 4753ef37 changed vacuum_delay_point() to use the WaitLatch() API,
to fix the problem that vacuum could keep running for a very long time
after the postmaster died.

Unfortunately, that broke commit caf626b2's support for fractional
vacuum_cost_delay, which shipped in PostgreSQL 12.  WaitLatch() works in
whole milliseconds.

For now, revert the change from commit 4753ef37, but add an explicit
check for postmaster death.  That's an extra system call on systems
other than Linux and FreeBSD, but that overhead doesn't matter much
considering that we willingly went to sleep and woke up again.  (In
later work, we might add higher resolution timeouts to the latch API so
that we could do this with our standard programming pattern, but that
wouldn't be back-patched.)

Back-patch to 14, where commit 4753ef37 arrived.

Reported-by: Melanie Plageman <melanieplageman@gmail.com>
Discussion: https://postgr.es/m/CAAKRu_b-q0hXCBUCAATh0Z4Zi6UkiC0k2DFgoD3nC-r3SkR3tg%40mail.gmail.com

Branch
------
REL_14_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/2bef57ee8b38ee7fdbad3fb38b1f8ed31adb381b

Modified Files
--------------
src/backend/commands/vacuum.c | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)


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

Предыдущее
От: Thomas Munro
Дата:
Сообщение: pgsql: Fix fractional vacuum_cost_delay.
Следующее
От: Amit Kapila
Дата:
Сообщение: pgsql: Allow the use of indexes other than PK and REPLICA IDENTITY on t