Re: Logical replication error "no record found" /* shouldn't happen */
От | Alvaro Herrera |
---|---|
Тема | Re: Logical replication error "no record found" /* shouldn't happen */ |
Дата | |
Msg-id | 202112122357.v4wfhuvu2b7s@alvherre.pgsql обсуждение исходный текст |
Ответ на | Logical replication error "no record found" /* shouldn't happen */ (Andrey Borodin <x4mmm@yandex-team.ru>) |
Список | pgsql-hackers |
On 2021-Jul-23, Andrey Borodin wrote: > Hi! > > From time to time I observe $subj on clusters using logical replication. > I most of cases there are a lot of other errors. Probably $subj condition should be kind of impossible without other problems. > I propose to enhance error logging of XLogReadRecord() in ReadPageInternal(). Hmm. A small problem in this patch is that XLogReaderValidatePageHeader already sets errormsg_buf; you're overwriting that. I suggest to leave that untouched. There are other two cases where the problem occurs in page_read() callback; ReadPageInternal explicitly documents that it doesn't set the error in that case. We have two options to deal with that: 1. change all existing callbacks to set the errormsg_buf depending on what actually fails, and then if they return failure without an error message, add something like your proposed message. 2. throw error directly in the callback rather than returning. I don't think this strategy actually works I attach a cut-down patch that doesn't deal with the page_read callbacks issue, just added stub comments in xlog.c where something should be done. -- Álvaro Herrera 39°49'30"S 73°17'W — https://www.EnterpriseDB.com/ "I am amazed at [the pgsql-sql] mailing list for the wonderful support, and lack of hesitasion in answering a lost soul's question, I just wished the rest of the mailing list could be like this." (Fotis) (http://archives.postgresql.org/pgsql-sql/2006-06/msg00265.php)
Вложения
В списке pgsql-hackers по дате отправления: