Re: Rework the way multixact truncations work

From: Andres Freund <andres(at)anarazel(dot)de>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Rework the way multixact truncations work
Date: 2015-09-22 13:20:01
Message-ID: 20150922132001.GB12446@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2015-09-21 16:36:03 +0200, Andres Freund wrote:
> Agreed. I'll update the patch.

Here's updated patches against master. These include the "legacy"
truncation support. There's no meaningful functional differences in this
version except addressing the review comments that I agreed with, and a
fair amount of additional polishing.

I've not:
* removed legacy truncation support
* removed SimpleLruFlush() from find_multixact_start() - imo it's easier
to reason about the system when the disk state is in sync with the in
memory state.
* removed the interval syntax from debug messages and xlogdump - they're
a fair bit more concise and the target audience of those will be able
to figure it out.
* unsplit DetermineSafeOldestOffset & SetOffsetVacuumLimit - imo the
separate functions don't make sense anymore now that limits and
truncations aren't as separate anymore.

What I've tested is the following:
* continous burning of multis, both triggered via members and offsets
* a standby keeping up when the primary is old
* a standby keeping up when the primary is new
* basebackups made while a new primary is under load
* verified that we properly PANIC when a truncation record is replayed
in an old standby.

Does anybody have additional tests in mind?

I plan to push 0002 fairly soon, it seemed to be pretty
uncontroversial. I'll then work tomorrow afternoon on producing branch
specific versions of 0003 and on producing 0004 removing all the legacy
stuff for 9.5 & master.

Greetings,

Andres Freund

Attachment Content-Type Size
0001-WIP-dontcommit-Add-functions-to-burn-multixacts.patch text/x-patch 6.1 KB
0002-Lower-_freeze_max_age-minimum-values.patch text/x-patch 1.8 KB
0003-Rework-the-way-multixact-truncations-work.patch text/x-patch 51.5 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Geoff Winkless 2015-09-22 13:25:33 Re: [COMMITTERS] pgsql: Use gender-neutral language in documentation
Previous Message Andrew Dunstan 2015-09-22 13:14:00 Re: pgsql: Use gender-neutral language in documentation