On Wednesday, June 14, 2023 10:11 AM Amit Kapila <amit.kapil...@gmail.com> 
wrote:
> 
> On Tue, Jun 13, 2023 at 2:25 PM Amit Kapila <amit.kapil...@gmail.com> wrote:
> >
> > On Fri, May 12, 2023 at 3:28 PM Zhijie Hou (Fujitsu)
> > <houzj.f...@fujitsu.com> wrote:
> > >
> > >
> > > I can reproduce this via gdb following similar steps in [1].
> > >
> > > I think we need to move this call into a transaction as well and
> > > here is an attempt to do that.
> > >
> >
> > I am able to reproduce this issue following the steps mentioned by you
> > and the proposed patch to fix the issue looks good to me.
> >
> 
> Today, again looking at the patch, it seems to me that it would be better if 
> we
> can fix this without starting a new transaction. Won't it be better if we 
> move this
> syscall to a place where we are fetching relstate (GetSubscriptionRelState()) 
> a
> few lines above? I understand by doing that in some cases like when copy_data
> = false, we may do this syscall unnecessarily but OTOH, starting a new
> transaction just for a syscall (superuser_arg()) also doesn't seem like a good
> idea to me.

Makes sense to me, here is the updated patch which does the same.

Best Regards,
Hou zj

Attachment: v2-0001-Fix-possible-logical-replication-table-sync-crash.patch
Description: v2-0001-Fix-possible-logical-replication-table-sync-crash.patch

Reply via email to