Re: logicalrep_message_type throws an error
Euler Taveira <euler@eulerto.com>
From: "Euler Taveira" <euler@eulerto.com>
To: pgsql-hackers@lists.postgresql.org
Cc: "Masahiko Sawada" <sawada.mshk@gmail.com>
Date: 2023-07-03T13:01:31Z
Lists: pgsql-hackers
Attachments
- 0001-uncover-logical-change-details.patch (text/x-patch) patch 0001
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 EDB https://www.enterprisedb.com/
Commits
-
Fix the display of UNKNOWN message type in apply worker.
- d38ad8e31dee 17.0 landed
- ad486b0eaef4 16.0 landed
- 2864eb977a6e 15.4 landed