Re: [HACKERS] 9.4.1 -> 9.4.2 problem: could not access status of transaction 1

From: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
To: Noah Misch <noah(at)leadboat(dot)com>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>, "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>, Steve Kehlet <steve(dot)kehlet(at)gmail(dot)com>, Forums postgresql <pgsql-general(at)postgresql(dot)org>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [HACKERS] 9.4.1 -> 9.4.2 problem: could not access status of transaction 1
Date: 2015-06-11 17:49:13
Message-ID: CAMkU=1zYKfse5a-p6y0qDwGkT9tf8vFp2u3zebwPbUR5SfeP0g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

On Wed, Jun 10, 2015 at 7:16 PM, Noah Misch <noah(at)leadboat(dot)com> wrote:

> On Mon, Jun 08, 2015 at 03:15:04PM +0200, Andres Freund wrote:
> > One more thing:
> > Our testing infrastructure sucks. Without writing C code it's basically
> > impossible to test wraparounds and such. Even if not particularly useful
> > for non-devs, I really think we should have functions for creating
> > burning xids/multixacts in core. Or at least in some extension.
>
> +1. This keeps coming up, so it's worth maintaining a verified and speedy
> implementation.

+1 from me as well.

Also, I've pretty much given up on testing this area myself, because of the
issue pointed out here:

http://www.postgresql.org/message-id/CAMkU=1wbi5AfHyTAwdkAwEaSE_mc00i4y_7Ojhp1Y-8SgciO_Q@mail.gmail.com

I think this is the same issue as part of Andres' point 1.

It is pretty frustrating and futile to test wrap around when the database
doesn't live long enough to wrap around under the high-stress conditions.

I had thought that all changes to ShmemVariableCache except nextXid should
be WAL logged at the time they occur, not just at the next checkpoint. But
that wouldn't fix the problem, as the change to ShmemVariableCache has to
be transactional with the change to pg_database. So it would have to be
WAL logged inside the commit record or any transaction which changes
pg_database.

Cheers,

Jeff

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Nguyen, Phuonglan H. 2015-06-11 18:01:08 pg_bulkload
Previous Message Jimmy Yih 2015-06-11 17:30:30 Re: GCC error and libmpfr.so.4 not found

Browse pgsql-hackers by date

  From Date Subject
Next Message Joshua D. Drake 2015-06-11 17:56:17 Re: The purpose of the core team
Previous Message Robert Haas 2015-06-11 17:31:19 Re: 9.5 release notes