From: | Maxim Orlov <orlovmg(at)gmail(dot)com> |
---|---|
To: | Aleksander Alekseev <aleksander(at)timescale(dot)com> |
Cc: | Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Simon Riggs <simon(dot)riggs(at)enterprisedb(dot)com>, Hamid Akhtar <hamid(dot)akhtar(at)percona(dot)com>, Pavel Borisov <pashkin(dot)elfe(at)gmail(dot)com>, Justin Pryzby <pryzby(at)telsasoft(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, Japin Li <japinli(at)hotmail(dot)com>, Alexander Korotkov <aekorotkov(at)gmail(dot)com>, Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>, Ilya Anfimov <ilan(at)tzirechnoy(dot)com> |
Subject: | Re: XID formatting and SLRU refactorings (was: Add 64-bit XIDs into PostgreSQL 15) |
Date: | 2022-10-06 10:45:20 |
Message-ID: | CACG=ezYLaa=qH=RQ__1EtL6LNmJzZyTsc6wiRHBbC=2GieDsmg@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-0001-Use-64-bit-numbering-of-SLRU-pages.patch | application/octet-stream | 24.5 KB |
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-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 |
From | Date | Subject | |
---|---|---|---|
Next Message | kuroda.hayato@fujitsu.com | 2022-10-06 10:54:23 | RE: Perform streaming logical transactions by background workers and parallel apply |
Previous Message | Aleksander Alekseev | 2022-10-06 10:29:44 | Re: [PATCH] Compression dictionaries for JSONB |