| From: | shveta malik <shveta(dot)malik(at)gmail(dot)com> |
|---|---|
| To: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> |
| Cc: | vignesh C <vignesh21(at)gmail(dot)com>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>, Dilip Kumar <dilipbalaut(at)gmail(dot)com>, Peter Smith <smithpb2250(at)gmail(dot)com>, Shlok Kyal <shlok(dot)kyal(dot)oss(at)gmail(dot)com>, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>, Nisha Moond <nisha(dot)moond412(at)gmail(dot)com>, Peter Eisentraut <peter(at)eisentraut(dot)org>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Euler Taveira <euler(at)eulerto(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>, "Jonathan S(dot) Katz" <jkatz(at)postgresql(dot)org>, "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com>, shveta malik <shveta(dot)malik(at)gmail(dot)com> |
| Subject: | Re: Logical Replication of sequences |
| Date: | 2025-10-27 08:42:33 |
| Message-ID: | CAJpy0uBbQjt8M38S67wY7WyYaTRkR-T5R2N1seEhrCeZYXAnMw@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Sat, Oct 25, 2025 at 12:16 PM Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
>
> On Fri, Oct 24, 2025 at 11:43 AM shveta malik <shveta(dot)malik(at)gmail(dot)com> wrote:
> >
> > 5)
> > For the race condition where the worker is going to access the seq
> > locally and meanwhile it is altered; now the worker correctly reports
> > this. But it reports this as a success scenario. And once the scenario
> > is reported as 'seq-worker finished', we do not expect it to start
> > running again without the user doing REFRESH. But in this case, it
> > runs, see logs. Also it starts immediately for once due to the same
> > reason that start_time is reset in the success scenario.
> > -------
> > 17:35:05.618 IST [132551] LOG: logical replication apply worker for
> > subscription "sub1" has started
> > 17:35:05.637 IST [132553] LOG: logical replication sequence
> > synchronization worker for subscription "sub1" has started
> > 17:35:05.663 IST [132553] LOG: logical replication sequence
> > synchronization for subscription "sub1" - total unsynchronized: 1
> > 17:36:11.987 IST [132553] LOG: skip synchronization of sequence
> > "public.myseq249" because it has been altered concurrently
> > 17:36:19.614 IST [132553] LOG: logical replication sequence
> > synchronization for subscription "sub1" - batch #1 = 1 attempted, 0
> > succeeded, 1 skipped, 0 mismatched, 0 insufficient permission, 0
> > missing from publisher
> > 17:36:20.335 IST [132553] LOG: logical replication sequence
> > synchronization worker for subscription "sub1" has finished
> > 17:36:20.435 IST [132586] LOG: logical replication sequence
> > synchronization worker for subscription "sub1" has started
> > 17:36:20.545 IST [132586] LOG: logical replication sequence
> > synchronization for subscription "sub1" - total unsynchronized: 1
> > -------
> >
> > The behaviour looks slightly odd. Is there anything we can do about
> > this? Shall the skipped case be reported as ERROR due to the fact that
> > we leave it in state 'i' in pg_subscription_rel?
> >
>
> The downside of reporting an ERROR as soon as we can't sync values for
> one of the sequences is that the other sequences which could be synced
> won't get synced.
Yes, I agree.
> The other possibility is that we skip processing
> such a sequence while copying sequences but at the end if there is any
> pending sequence which is not synced, we raise an ERROR. If we do that
> then we may need to give some generic ERROR because there could be
> multiple such sequences. The other possibility is that we can give a
> LOG message like "logical replication sequence sync worker for
> subscription \"%s\" will restart because ..." and then do proc_exit(1)
> without resetting restart_time. Will that help to address your
> concern?
>
Thanks for suggesting these potential solutions. After reviewing the
new approach proposed in [1] by Hou-San, I believe this race condition
is no longer applicable, so we’re safe.
thanks
Shveta
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Chao Li | 2025-10-27 09:11:46 | Re: Logical Replication of sequences |
| Previous Message | shveta malik | 2025-10-27 08:29:41 | Re: Logical Replication of sequences |