Re: Add 64-bit XIDs into PostgreSQL 15

From: Maxim Orlov <orlovmg(at)gmail(dot)com>
To: Zhang Mingli <zmlpostgres(at)gmail(dot)com>
Cc: Justin Pryzby <pryzby(at)telsasoft(dot)com>, Dilip Kumar <dilipbalaut(at)gmail(dot)com>, Pavel Borisov <pashkin(dot)elfe(at)gmail(dot)com>, Aleksander Alekseev <aleksander(at)timescale(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Stephen Frost <sfrost(at)snowman(dot)net>, Alexander Korotkov <aekorotkov(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Ilya Anfimov <ilan(at)tzirechnoy(dot)com>
Subject: Re: Add 64-bit XIDs into PostgreSQL 15
Date: 2022-10-07 11:04:09
Message-ID: CACG=ezYt4qJpV3PxvpVD2AtEBE-dwnibD=2pfnAwHTD89xefrw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi!

Here is a rebased version of the patch set.
Major changes are:
1. Fix rare replica fault.
Upon page pruning in heap_page_prune, page fragmentation repair is
determined by
a parameter repairFragmentation. At the same time, on a replica, upon
handling XLOG_HEAP2_PRUNE record type
in heap_xlog_prune, we always call heap_page_prune_execute with
repairFragmentation parameter equal to true.
This caused page inconsistency and lead to the crash of the replica. Fix
this by adding new flag in
struct xl_heap_prune.
2. Add support for meson build.
3. Add assertion "buffer is locked" in HeapTupleCopyBaseFromPage.
4. Add assertion "buffer is locked exclusive" in heap_page_shift_base.
5. Prevent excessive growth of xmax in heap_prepare_freeze_tuple.

As always, reviews are very welcome!

--
Best regards,
Maxim Orlov.

Attachment Content-Type Size
v47-0004-Use-64-bit-pages-representation-in-SLRU-callers.patch application/octet-stream 23.7 KB
v47-0002-Use-64-bit-format-to-output-XIDs.patch application/octet-stream 122.2 KB
v47-0001-Use-64-bit-numbering-of-SLRU-pages.patch application/octet-stream 24.5 KB
v47-0003-Use-64-bit-FullTransactionId-instead-of-Epoch-xi.patch application/octet-stream 18.8 KB
v47-0005-Add-initdb-option-to-initialize-cluster-with-non.patch application/octet-stream 24.4 KB
v47-0007-Use-64-bit-GUCs.patch application/octet-stream 25.2 KB
v47-0006-README.XID64.patch application/octet-stream 7.2 KB
v47-0008-Use-64-bit-XIDs.patch application/octet-stream 745.4 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Önder Kalacı 2022-10-07 11:54:00 Re: [PATCH] Use indexes on the subscriber when REPLICA IDENTITY is full on the publisher
Previous Message Maxim Orlov 2022-10-07 11:00:50 Re: XID formatting and SLRU refactorings (was: Add 64-bit XIDs into PostgreSQL 15)