Re: Fix for segfault in logical replication on master

Amit Kapila <amit.kapila16@gmail.com>

From: Amit Kapila <amit.kapila16@gmail.com>
To: Mark Dilger <mark.dilger@enterprisedb.com>
Cc: osumi.takamichi@fujitsu.com, "akapila@postgresql.org" <akapila@postgresql.org>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-06-19T09:18:14Z
Lists: pgsql-hackers
On Fri, Jun 18, 2021 at 9:18 AM Amit Kapila <amit.kapila16@gmail.com> wrote:
>
> > I thought it was cheap enough to check that the relation we open is an index, because if it is not, we'll segfault when accessing fields of the relation->rd_index struct.  I wouldn't necessarily advocate doing any really expensive checks here, but a quick sanity check seemed worth the effort.
> >
>
> I am not telling you anything about the cost of these sanity checks. I
> suggest you raise elog rather than return NULL because if this happens
> there is definitely some problem and continuing won't be a good idea.
>

Pushed, after making the above change. Additionally, I have moved the
test case to the existing file 001_rep_changes instead of creating a
new one as the test seems to fit there and I was not sure if the test
for just this case deserves a new file.

-- 
With Regards,
Amit Kapila.



Commits

  1. Improve RelationGetIdentityKeyBitmap().

  2. Handle no replica identity index case in RelationGetIdentityKeyBitmap.

  3. Fix Logical Replication of Truncate in synchronous commit mode.