Re: logicalrep_message_type throws an error

Поиск
Список
Период
Сортировка
От Euler Taveira
Тема Re: logicalrep_message_type throws an error
Дата
Msg-id 6304a4d0-f16f-4e7c-a73e-81c8040fdb86@app.fastmail.com
обсуждение исходный текст
Ответ на logicalrep_message_type throws an error  (Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>)
Ответы Re: logicalrep_message_type throws an error  (Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>)
Re: logicalrep_message_type throws an error  (Amit Kapila <amit.kapila16@gmail.com>)
Список pgsql-hackers
On Mon, Jul 3, 2023, at 7:30 AM, Ashutosh Bapat wrote:
logicalrep_message_type() is used to convert logical message type code
into name while prepared error context or details. Thus when this
function is called probably an ERROR is already raised. If
logicalrep_message_type() gets an unknown message type, it will throw
an error, which will suppress the error for which we are building
context or details. That's not useful. I think instead
logicalrep_message_type() should return "unknown" when it encounters
an unknown message type and let the original error message be thrown
as is.

Hmm. Good catch. The current behavior is:

ERROR:  invalid logical replication message type "X" 
LOG:  background worker "logical replication worker" (PID 71800) exited with exit code 1

... that hides the details. After providing a default message type:

ERROR:  invalid logical replication message type "X"
CONTEXT:  processing remote data for replication origin "pg_16638" during message type "???" in transaction 796, finished at 0/16266F8

Masahiko, since abc0910e2e0 is your patch maybe you want to take a look at it.


--
Euler Taveira

Вложения

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

Предыдущее
От: Daniel Gustafsson
Дата:
Сообщение: Re: Creation of an empty table is not fsync'd at checkpoint
Следующее
От: Daniel Gustafsson
Дата:
Сообщение: Re: Flush SLRU counters in checkpointer process