Re: POC: make mxidoff 64 bits

From: Maxim Orlov <orlovmg(at)gmail(dot)com>
To: wenhui qiu <qiuwenhuifx(at)gmail(dot)com>
Cc: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Alexander Korotkov <aekorotkov(at)gmail(dot)com>, Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: POC: make mxidoff 64 bits
Date: 2024-11-08 18:10:28
Message-ID: CACG=ezYThNkf8QsDA-aQfEFEkqn2L=_uUL83z0vJstPRasbZqg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, 25 Oct 2024 at 06:39, wenhui qiu <qiuwenhuifx(at)gmail(dot)com> wrote:

>
> + * Multixact members warning threshold.
> + *
> + * If difference bettween nextOffset and oldestOffset exceed this value,
> we
> + * trigger autovacuum in order to release the disk space if possible.
> + */
> +#define MULTIXACT_MEMBER_AUTOVAC_THRESHOLD UINT64CONST(0xFFFFFFFF)
> Can we refine this annotation a bit? for example
>
Thank you, fixed.

Sorry for a late reply. There was a problem in upgrade with offset
wraparound. Here is a fixed version. Test also added. I decide to use my
old patch to set a non-standard multixacts for the old cluster, fill it
with data and do pg_upgrade.

Here is how to test. All the patches are for 14e87ffa5c543b5f3 master
branch.
1) Get the 14e87ffa5c543b5f3 master branch apply patches
0001-Add-initdb-option-to-initialize-cluster-with-non-sta.patch and
0002-TEST-lower-SLRU_PAGES_PER_SEGMENT.patch
2) Get the 14e87ffa5c543b5f3 master branch in a separate directory and
apply v6 patch set.
3) Build two branches.
4) Use ENV oldinstall to run the test: PROVE_TESTS=t/005_mxidoff.pl
oldinstall=/home/orlov/proj/pgsql-new PG_TEST_NOCLEAN=1 make check -C
src/bin/pg_upgrade/

Maybe, I'll make a shell script to automate this steps if required.

--
Best regards,
Maxim Orlov.

Attachment Content-Type Size
v6-0001-Use-64-bit-multixact-offsets.patch application/octet-stream 13.3 KB
v6-0002-Make-pg_upgrade-convert-multixact-offsets.patch application/octet-stream 18.3 KB
v6-0004-TEST-lower-SLRU_PAGES_PER_SEGMENT-set-bump-catver.patch application/octet-stream 2.1 KB
v6-0005-TEST-initdb-option-to-initialize-cluster-with-non.patch application/octet-stream 25.4 KB
v6-0003-Get-rid-of-MultiXactMemberFreezeThreshold-call.patch application/octet-stream 8.8 KB
v6-0006-TEST-add-basic-mxidoff64-tests-005_mxidoff.pl.patch application/octet-stream 10.6 KB
0002-TEST-lower-SLRU_PAGES_PER_SEGMENT.patch application/octet-stream 784 bytes
0001-Add-initdb-option-to-initialize-cluster-with-non-sta.patch application/octet-stream 33.0 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Masahiko Sawada 2024-11-08 18:25:17 Re: logical replication: restart_lsn can go backwards (and more), seems broken since 9.4
Previous Message Nathan Bossart 2024-11-08 18:07:45 Re: Use __attribute__((target(sse4.2))) for SSE42 CRC32C