Re: lastOverflowedXid does not handle transaction ID wraparound

Поиск
Список
Период
Сортировка
От Andrey Borodin
Тема Re: lastOverflowedXid does not handle transaction ID wraparound
Дата
Msg-id 73A059B2-094C-4BAC-9946-8C994C7F7E04@yandex-team.ru
обсуждение исходный текст
Ответ на Re: lastOverflowedXid does not handle transaction ID wraparound  (Kyotaro Horiguchi <horikyota.ntt@gmail.com>)
Ответы Re: lastOverflowedXid does not handle transaction ID wraparound  (Alexander Korotkov <aekorotkov@gmail.com>)
Список pgsql-hackers

> 21 окт. 2021 г., в 09:01, Kyotaro Horiguchi <horikyota.ntt@gmail.com> написал(а):
>
> If the discussion so far is correct, the following diff will fix the
> issue.
>
> diff --git a/src/backend/storage/ipc/procarray.c b/src/backend/storage/ipc/procarray.c
> index bd3c7a47fe..19682b73ec 100644
> --- a/src/backend/storage/ipc/procarray.c
> +++ b/src/backend/storage/ipc/procarray.c
> @@ -4463,6 +4463,12 @@ ExpireOldKnownAssignedTransactionIds(TransactionId xid)
> {
>        LWLockAcquire(ProcArrayLock, LW_EXCLUSIVE);
>        KnownAssignedXidsRemovePreceding(xid);
> +       /*
> +        * reset lastOverflowedXid if we know transactions that have been possiblly
> +        * running are being gone.
> +        */
> +       if (TransactionIdPrecedes(procArray->lastOverflowedXid, xid))
> +               procArray->lastOverflowedXid = InvalidTransactionId;
>        LWLockRelease(ProcArrayLock);
> }

The patch seems correct bugfix to me. The only question I have: is it right place from modularity standpoint?
procArray->lastOverflowedXidis not a part of KnownAssignedTransactionIds? 

Best regards, Andrey Borodin.


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

Предыдущее
От: gkokolatos@pm.me
Дата:
Сообщение: Re: Teach pg_receivewal to use lz4 compression
Следующее
От: Amit Kapila
Дата:
Сообщение: Re: Added schema level support for publication.