pgsql: Avoid some unnecessary block reads in WAL reader

Поиск
Список
Период
Сортировка
От Michael Paquier
Тема pgsql: Avoid some unnecessary block reads in WAL reader
Дата
Msg-id E1gvXBz-0003LK-6z@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Avoid some unnecessary block reads in WAL reader

When reading a new page internally and depending on the way the WAL
reader facility gets used by plugins, the current implementation of the
WAL reader may finish by reading a block multiple times while it is not
actually necessary as the requested data length may be equal to what has
been already read.  This can happen for any size, but is more likely to
happen at the end of a page.  This can cause performance penalties in
plugins which rely on the block reads to be purely sequential, zlib not
liking backward reads for example.  The new behavior also shaves some
cycles when doing recovery.

Author: Arthur Zakirov
Reviewed-by: Andrey Lepikhov, Michael Paquier, Grigory Smolkin
Discussion: https://postgr.es/m/2ddf4a32-517e-d6f4-d992-4a63b6035bfd@postgrespro.ru

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/0dd6ff0ac8482f753405c5bdb091d2a8adc58e75

Modified Files
--------------
src/backend/access/transam/xlogreader.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)


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

Предыдущее
От: Thomas Munro
Дата:
Сообщение: pgsql: Fix race in dsm_unpin_segment() when handles are reused.
Следующее
От: Michael Paquier
Дата:
Сообщение: pgsql: Fix typo in transam.h for OIDs assigned by genbki.pl