Re: [COMMITTERS] pgsql: Avoid SnapshotResetXmin() during AtEOXact_Snapshot()

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Simon Riggs <simon(at)2ndquadrant(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [COMMITTERS] pgsql: Avoid SnapshotResetXmin() during AtEOXact_Snapshot()
Date: 2017-03-24 17:50:54
Message-ID: CA+TgmoaFGgAn7s_yZKLEwTeh7KQxYyZfPuRdJ19+t5xSvQne+A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

On Fri, Mar 24, 2017 at 12:27 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> On Fri, Mar 24, 2017 at 12:14 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
>> On Fri, Mar 24, 2017 at 10:23 AM, Simon Riggs <simon(at)2ndquadrant(dot)com> wrote:
>>> Avoid SnapshotResetXmin() during AtEOXact_Snapshot()
>>>
>>> For normal commits and aborts we already reset PgXact->xmin
>>> Avoiding touching highly contented shmem improves concurrent
>>> performance.
>>>
>>> Simon Riggs
>>
>> I'm getting occasional crashes with backtraces that look like this:
>>
>> #4 0x0000000107e4be2b in AtEOXact_Snapshot (isCommit=<value
>> temporarily unavailable, due to optimizations>, isPrepare=0 '\0') at
>> snapmgr.c:1154
>> #5 0x0000000107a76c06 in CleanupTransaction () at xact.c:2643
>>
>> I suspect that is the fault of this patch. Please fix or revert.
>
> Also, the entire buildfarm is turning red.
>
> longfin, spurfowl, and magpie all show this assertion failure in the
> log. I haven't checked the others.
>
> TRAP: FailedAssertion("!(MyPgXact->xmin == 0)", File: "snapmgr.c", Line: 1154)

Another thing that is interesting is that when I run make -j8
check-world, the overall tests appear to succeed even though there are
failures mid-way through:

test tablefunc ... FAILED (test process exited with exit code 2)

...but then later we end with:

ok
All tests successful.
Files=11, Tests=80, 251 wallclock secs ( 0.07 usr 0.02 sys + 19.77
cusr 14.45 csys = 34.31 CPU)
Result: PASS

real 4m27.421s
user 3m50.047s
sys 1m31.937s

That's unrelated to the current problem of course, but it seems to
suggest that make's -j option doesn't entirely do what you'd expect
when used with make check-world.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Simon Riggs 2017-03-24 17:55:06 Re: [COMMITTERS] pgsql: Avoid SnapshotResetXmin() during AtEOXact_Snapshot()
Previous Message Fujii Masao 2017-03-24 17:40:08 pgsql: Make VACUUM VERBOSE report the number of skipped frozen pages.

Browse pgsql-hackers by date

  From Date Subject
Next Message Simon Riggs 2017-03-24 17:55:06 Re: [COMMITTERS] pgsql: Avoid SnapshotResetXmin() during AtEOXact_Snapshot()
Previous Message Fujii Masao 2017-03-24 17:42:41 Re: Report the number of skipped frozen pages by manual VACUUM