From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Amit Langote <amitlangote09(at)gmail(dot)com> |
Cc: | Michael Paquier <michael(at)paquier(dot)xyz>, sbernikov(at)gmail(dot)com, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org> |
Subject: | Re: BUG #17055: Logical replication worker crashes when applying update of row that dose not exist in target partiti |
Date: | 2021-06-11 15:01:07 |
Message-ID: | 1881335.1623423667@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Amit Langote <amitlangote09(at)gmail(dot)com> writes:
> On Fri, Jun 11, 2021 at 3:26 PM Michael Paquier <michael(at)paquier(dot)xyz> wrote:
>> It seems to me that it would make sense to have some coverage. We've
>> caught issues in the past in this area, particularly with buildfarm
>> animals running CLOBBER_CACHE_ALWAYS.
> I thought about it for a minute when writing the patch I posted, but
> wasn't really sure what the test case would look like. The only
> external proof that the case worked correctly, AFAICS, is the DEBUG1
> message that's written to the log. How do we add a test case with
> that? I know you mentioned an idea before to check/grep the log for
> such cases. Is that how?
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.
(Meanwhile, thanks for the diagnosis and patch!)
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2021-06-11 20:15:20 | Re: BUG #17055: Logical replication worker crashes when applying update of row that dose not exist in target partiti |
Previous Message | Amit Langote | 2021-06-11 07:30:03 | Re: BUG #17055: Logical replication worker crashes when applying update of row that dose not exist in target partiti |