Re: long-standing data loss bug in initial sync of logical replication
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, "Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>,
Shlok Kyal <shlok.kyal.oss@gmail.com>, vignesh C <vignesh21@gmail.com>, Nitin Motiani <nitinmotiani@google.com>, Andres Freund <andres@anarazel.de>, Masahiko Sawada <sawada.mshk@gmail.com>
Date: 2025-03-15T06:24:40Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix typo in test file name added in commit 4909b38af0.
- 50b8ad30f754 18.0 landed
- d96206f259d6 17.5 landed
- 9987c94662c2 16.9 landed
- 90bc4523fd47 15.13 landed
- bb1bc9fa962e 14.18 landed
- 4164d6976316 13.21 landed
-
Fix data loss in logical replication.
- 247ee94150b6 13.21 landed
- 4909b38af034 18.0 landed
- cadaf0ac4637 17.5 landed
- 9a2f8b4f01d5 16.9 landed
- 9f21be08e884 15.13 landed
- 0434033e8bb5 14.18 landed
-
Avoid invalidating all RelationSyncCache entries on publication rename.
- 3abe9dc18892 18.0 cited
-
Remove obsolete RECHECK keyword completely
- 7da1bdc2c2f1 18.0 cited
-
Backport BackgroundPsql perl test module
- 187b8991f70f 16.4 cited
On Thu, Mar 13, 2025 at 2:12 PM Hayato Kuroda (Fujitsu) <kuroda.hayato@fujitsu.com> wrote: > > > Workload C. DDL is happening on publication but on unrelated table > ============================================ > We did not run the workload because we expected this could be same results as D. > 588acf6 is needed to optimize the workload. > > ----- > > Workload D. DDL is happening on the related published table, > and one insert is done per invalidation > ========================================= > This workload had huge regression same as the master branch. This is expected > because distributed invalidation messages require all concurrent transactions > to rebuild relsync caches. > > Concurrent txn | Head (sec) | Patch (sec) | Degradation (%) > ------------------ | ------------ | ------------ | ---------------- > 50 | 0.013496 | 0.015588 | 15.5034 > 100 | 0.015112 | 0.018868 | 24.8517 > 500 | 0.018483 | 0.038714 | 109.4536 > 1000 | 0.023402 | 0.063735 | 172.3524 > 2000 | 0.031596 | 0.110860 | 250.8720 > IIUC, workloads C and D will have regression in back branches, and HEAD will have regression only for workload D. We have avoided workload C regression in HEAD via commits 7c99dc587a and 3abe9dc188. We can backpatch those commits if required, but I think it is better not to do those as scenarios C and D won't be that common, and we should go ahead with the fix as it is. In the future, if we get any way to avoid regression due to scenario-D, then we can do that for the HEAD branch. Thoughts? -- With Regards, Amit Kapila.