Re: Skipping logical replication transactions on subscriber side
Masahiko Sawada <sawada.mshk@gmail.com>
On Thu, Jun 16, 2022 at 2:27 AM Robert Haas <robertmhaas@gmail.com> wrote: > > On Tue, Jun 14, 2022 at 3:54 AM Masahiko Sawada <sawada.mshk@gmail.com> wrote: > > > AFAICS, we could do that by: > > > > > > 1. De-supporting platforms that have this problem, or > > > 2. Introducing new typalign values, as Noah proposed back on April 2, or > > > 3. Somehow forcing values that are sometimes 4-byte aligned and > > > sometimes 8-byte aligned to be 8-byte alignment on all platforms > > > > Introducing new typalign values seems a good idea to me as it's more > > future-proof. Will this item be for PG16, right? The main concern > > seems that what this test case enforces would be nuisance when > > introducing a new system catalog or a new column to the existing > > catalog but given we're in post PG15-beta1 it is unlikely to happen in > > PG15. > > I agree that we're not likely to introduce a new typalign value any > sooner than v16. There are a couple of things that bother me about > that solution. One is that I don't know how many different behaviors > exist out there in the wild. If we distinguish the alignment of double > from the alignment of int8, is that good enough, or are there other > data types whose properties aren't necessarily the same as either of > those? Yeah, there might be. > The other is that 32-bit systems are already relatively rare > and probably will become more rare until they disappear completely. It > doesn't seem like a ton of fun to engineer solutions to problems that > may go away by themselves with the passage of time. IIUC the system affected by this problem is not necessarily 32-bit system. For instance, the hoverfly on buildfarm is 64-bit system but was affected by this problem. According to the XLC manual[1], there is no difference between 32-bit systems and 64-bit systems in terms of alignment for double. FWIW, looking at the manual, there might have been a solution for AIX to specify -qalign=natural compiler option in order to enforce the alignment of double to 8. Regards, [1] https://support.scinet.utoronto.ca/Manuals/xlC++-proguide.pdf; Table 11 on page 10. -- Masahiko Sawada EDB: https://www.enterprisedb.com/
Commits
-
Test ALIGNOF_DOUBLE==4 compatibility under ALIGNOF_DOUBLE==8.
- c1da0acbb06e 15.0 landed
-
Reorder subskiplsn in pg_subscription to avoid alignment issues.
- 79b716cfb7a1 15.0 landed
-
Add ALTER SUBSCRIPTION ... SKIP.
- 208c5d65bbd6 15.0 landed
-
Optionally disable subscriptions on error.
- 705e20f8550c 15.0 cited
-
Update docs of logical replication for commit 8d74fc96db.
- 85c61ba8920b 15.0 landed
-
Respect permissions within logical replication.
- a2ab9c06ea15 15.0 cited
-
Fix regression test failure caused by commit 8d74fc96db.
- 41e66fee0516 15.0 landed
-
Add a view to show the stats of subscription workers.
- 8d74fc96db5f 15.0 landed
-
Add logical change details to logical replication worker errcontext.
- abc0910e2e0a 15.0 landed
-
Rename LOGICAL_REP_MSG_STREAM_END to LOGICAL_REP_MSG_STREAM_STOP.
- 4cd7a1896871 15.0 landed
-
Fix typo in protocol.sgml.
- e1915646658d 14.0 landed
- 0ac1aee0d7d8 15.0 landed
-
Remove unused argument in apply_handle_commit_internal().
- f4b939f1a372 14.0 landed
- 16bd4becee32 15.0 landed
-
Fix replication of in-progress transactions in tablesync worker.
- 0926e96c4934 14.0 cited
-
Reorder pg_sequence columns to avoid alignment issue
- f3b421da5f4a 10.0 cited