Re: BUG #17055: Logical replication worker crashes when applying update of row that dose not exist in target partiti

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Amit Langote <amitlangote09@gmail.com>
Cc: Michael Paquier <michael@paquier.xyz>, sbernikov@gmail.com, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2021-06-11T20:15:20Z
Lists: pgsql-bugs
I wrote:
> I see from the coverage report that *none* of the did-not-find-tuple
> code paths in worker.c are exercised.  This does not seem OK.  I agree
> that probably the only way to have a test case is to kick up the debug
> level to DEBUG1 and grep the log to confirm that the message is there.
> IIRC, we already have infrastructure for grepping the log, so this
> shouldn't be that hard.  Will work on it today.

Done now.  It was a highly worthwhile exercise, too, because I stumbled
over two *other* bugs in this code while I was at it.

BTW, I intentionally reworded the DEBUG messages to make sure we could
tell the partitioned case apart from the non-partitioned one.

			regards, tom lane



Commits

  1. Improve log pattern detection in recently-added TAP tests

  2. Fix multiple crasher bugs in partitioned-table replication logic.