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

Amit Langote <amitlangote09@gmail.com>

From: Amit Langote <amitlangote09@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Michael Paquier <michael@paquier.xyz>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>, sbernikov@gmail.com
Date: 2021-06-12T01:35:51Z
Lists: pgsql-bugs
On Sat, Jun 12, 2021 at 5:15 Tom Lane <tgl@sss.pgh.pa.us> wrote:

> 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.


Oh, thanks for taking care of that.

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


That looks useful.

> --
Amit Langote
EDB: http://www.enterprisedb.com

Commits

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

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