Re: fixing old_snapshot_threshold's time->xid mapping

From: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
To: Dilip Kumar <dilipbalaut(at)gmail(dot)com>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Robert Haas <robertmhaas(at)gmail(dot)com>, Kevin Grittner <kgrittn(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: fixing old_snapshot_threshold's time->xid mapping
Date: 2020-04-21 10:14:01
Message-ID: CA+hUKGLsV88P_2hOQRn3=B=5ivjN=tw=p6Vv2m4Ef0mb-7pK5g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Apr 21, 2020 at 2:05 PM Thomas Munro <thomas(dot)munro(at)gmail(dot)com> wrote:
> As before, these two apply on top of Robert's patches (or at least his
> 0001 and 0002).

While trying to figure out if Robert's 0003 patch was correct, I added
yet another patch to this stack to test it. 0006 does basic xid map
maintenance that exercises the cases 0003 fixes, and I think it
demonstrates that they now work correctly. Also some minor perl
improvements to 0005. I'll attach 0001-0004 again but they are
unchanged.

Since confusion about head vs tail seems to have been at the root of
the bugs addressed by 0003, I wonder if we should also rename
head_{timestamp,offset} to oldest_{timestamp,offset}.

Attachment Content-Type Size
v5-0001-Expose-oldSnapshotControl.patch text/x-patch 6.7 KB
v5-0002-contrib-old_snapshot-time-xid-mapping.patch text/x-patch 7.9 KB
v5-0003-Fix-bugs-in-MaintainOldSnapshotTimeMapping.patch text/x-patch 2.6 KB
v5-0004-Rewrite-the-snapshot_too_old-tests.patch text/x-patch 28.3 KB
v5-0005-Truncate-snapshot-too-old-time-map-when-CLOG-is-t.patch text/x-patch 6.7 KB
v5-0006-Add-TAP-test-for-snapshot-too-old-time-map-mainte.patch text/x-patch 2.6 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Asif Rehman 2020-04-21 10:16:33 Re: WIP/PoC for parallel backup
Previous Message Alexander Korotkov 2020-04-21 09:54:27 Concurrency bug in amcheck