Re: The same 2PC data maybe recovered twice

Поиск
Список
Период
Сортировка
От suyu.cmj
Тема Re: The same 2PC data maybe recovered twice
Дата
Msg-id 27cf1fe2-e8f9-4fca-a828-aa3ad3397acd.mengjuan.cmj@alibaba-inc.com
обсуждение исходный текст
Ответы Re: The same 2PC data maybe recovered twice  (Michael Paquier <michael@paquier.xyz>)
Список pgsql-bugs
Yes, this bug can also be reproduced on the master branch, and the corresponding reproduction patch is attached.

I also considered comparing the 2pc.prepare_start_lsn and checkpoint.redo in ProcessTwoPhaseBuffer before, but this method requires modifying the format of the 2pc checkpoint file, which will bring compatibility issues. Especially for released branches, assuming that a node has encountered this bug, it will not be able to start successfully due to FATAL during crash recovery, and therefore cannot manually commit previous two-phase transactions. Using magic number to distinguish 2pc checkpoint file versions can't solve the problem in the above scenario either.

For unreleased branches, writing 2pc.prepare_start_lsn into the checkpoint file will be a good solution, but for released branches, I personally think using WAL record to overwrite checkpoint data would be a more reasonable approach, What do you think?

Best Regards
suyu.cmj
Вложения

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

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: Got FATAL in lock_twophase_recover() during recovery
Следующее
От: PG Bug reporting form
Дата:
Сообщение: BUG #18019: misbehaviour by replication