Re: Conflict detection for update_deleted in logical replication

From: shveta malik <shveta(dot)malik(at)gmail(dot)com>
To: "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com>
Cc: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, vignesh C <vignesh21(at)gmail(dot)com>, Nisha Moond <nisha(dot)moond412(at)gmail(dot)com>, Dilip Kumar <dilipbalaut(at)gmail(dot)com>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, shveta malik <shveta(dot)malik(at)gmail(dot)com>
Subject: Re: Conflict detection for update_deleted in logical replication
Date: 2025-07-31 09:25:44
Message-ID: CAJpy0uCtonw2Gfr=wa_-9=UzqihUp3ReMwz5q6qFJVocZoKGkg@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jul 29, 2025 at 10:51 AM Zhijie Hou (Fujitsu)
<houzj(dot)fnst(at)fujitsu(dot)com> wrote:
>
>
> This is the V54 patch set, with only patch 0001 updated to address the latest
> comments.
>

Thanks for the patch.

While performing tests on the latest patch, I found an assert in
tablesync worker in FindDeletedTupleInLocalRel (see
Assert(TransactionIdIsValid(oldestxmin))). Logs at [1].

It seems table sync worker is trying to apply changes and going to
update-deleted conflict detection patch but is not able to find
MyLogicalRepWorker->oldest_nonremovable_xid as this xid is set only
for apply-worker.

[1]:
TRAP: failed Assert("TransactionIdIsValid(oldestxmin)"), File:
"worker.c", Line: 3237, PID: 96003
postgres: logical replication tablesync worker for subscription 16394
sync 16469 (ExceptionalCondition+0xbb)[0x619c4117031b]
postgres: logical replication tablesync worker for subscription 16394
sync 16469 (+0x65f4ca)[0x619c40ea94ca]
postgres: logical replication tablesync worker for subscription 16394
sync 16469 (+0x65fa23)[0x619c40ea9a23]
postgres: logical replication tablesync worker for subscription 16394
sync 16469 (+0x65e860)[0x619c40ea8860]
postgres: logical replication tablesync worker for subscription 16394
sync 16469 (apply_dispatch+0xa2)[0x619c40eaa725]
postgres: logical replication tablesync worker for subscription 16394
sync 16469 (+0x660db9)[0x619c40eaadb9]
postgres: logical replication tablesync worker for subscription 16394
sync 16469 (start_apply+0x81)[0x619c40eace64]
postgres: logical replication tablesync worker for subscription 16394
sync 16469 (+0x659f1f)[0x619c40ea3f1f]
postgres: logical replication tablesync worker for subscription 16394
sync 16469 (TablesyncWorkerMain+0x33)[0x619c40ea3f69]

thanks
Shveta

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2025-07-31 09:29:25 Re: Conflict detection for update_deleted in logical replication
Previous Message vignesh C 2025-07-31 09:07:33 Re: 024_add_drop_pub.pl might fail due to deadlock