pgsql: Remove arbitrary 10MB limit on two-phase state file size.

Поиск
Список
Период
Сортировка
От heikki@postgresql.org (Heikki Linnakangas)
Тема pgsql: Remove arbitrary 10MB limit on two-phase state file size.
Дата
Msg-id 20080519181703.6FB2A754C54@cvs.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Log Message:
-----------
Remove arbitrary 10MB limit on two-phase state file size. It's not that hard
to go beoynd 10MB, as demonstrated by Gavin Sharry's example of dropping a
schema with ~25000 objects. The really bogus thing about the limit was that
it was enforced when a state file file was read in, not when it was written,
so you would end up with a prepared transaction that you can't commit or
abort, and the only recourse was to shut down the server and remove the file
by hand.

Raise the limit to MaxAllocSize, and enforce it also when a state file is
written. We could've removed the limit altogether, but reading in a file
larger than MaxAllocSize would fail anyway because we read it into a
palloc'd buffer.

Backpatch down to 8.1, where 2PC and this issue was introduced.

Tags:
----
REL8_2_STABLE

Modified Files:
--------------
    pgsql/src/backend/access/transam:
        twophase.c (r1.25.2.1 -> r1.25.2.2)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/twophase.c?r1=1.25.2.1&r2=1.25.2.2)

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

Предыдущее
От: heikki@postgresql.org (Heikki Linnakangas)
Дата:
Сообщение: pgsql: Remove arbitrary 10MB limit on two-phase state file size.
Следующее
От: heikki@postgresql.org (Heikki Linnakangas)
Дата:
Сообщение: pgsql: Remove arbitrary 10MB limit on two-phase state file size.