Re: dsa_allocate() faliure
Thomas Munro <thomas.munro@enterprisedb.com>
From: Thomas Munro <thomas.munro@enterprisedb.com>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: Robert Haas <robertmhaas@gmail.com>, Jakub Glapa <jakub.glapa@gmail.com>, Fabio Isabettini <fisabettini@voipfuture.com>,
Arne Roland <A.Roland@index.de>, Sand Stone <sand.m.stone@gmail.com>, Rick Otten <rottenwindfish@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2019-02-11T00:11:32Z
Lists: pgsql-hackers, pgsql-performance
On Mon, Feb 11, 2019 at 11:02 AM Justin Pryzby <pryzby@telsasoft.com> wrote: > On Mon, Feb 11, 2019 at 09:45:07AM +1100, Thomas Munro wrote: > > Ouch. Yeah, that'd do it and matches the evidence. With this change, > > I couldn't reproduce the problem after 90 minutes with a test case > > that otherwise hits it within a couple of minutes. > ... > > Note that this patch addresses the error "dsa_allocate could not find > > %zu free pages". (The error "dsa_area could not attach to segment" is > > something else and apparently rarer.) > > "could not attach" is the error reported early this morning while > stress-testing this patch with queued_alters queries in loops, so that's > consistent with your understanding. And I guess it preceded getting stuck on > lock; although I don't how long between the first happened and the second, I'm > guess not long and perhaps immedidately; since the rest of the processes were > all stuck as in bug#15585 rather than ERRORing once every few minutes. > > I mentioned that "could not attach to segment" occurs in leader either/or > parallel worker. And most of the time causes an ERROR only, and doesn't wedge > all future parallel workers. Maybe bug#15585 "wedged" state maybe only occurs > after some pattern of leader+worker failures (?) I've just triggered bug#15585 > again, but if there's a pattern, I don't see it. > > Please let me know whether you're able to reproduce the "not attach" bug using > simultaneous loops around the queued_alters query; it's easy here. I haven't ever managed to reproduce that one yet. It's great you have a reliable repro... Let's discuss it on the #15585 thread. -- Thomas Munro http://www.enterprisedb.com
Commits
-
Fix rare dsa_allocate() failures due to freepage.c corruption.
- 2cfdf24e7c68 10.8 landed
- b8386b0362b2 11.3 landed
- 7215efdc005e 12.0 landed
-
Release notes for 10.4, 9.6.9, 9.5.13, 9.4.18, 9.3.23.
- 83fcc6150206 10.4 cited
-
Fix crashes on plans with multiple Gather (Merge) nodes.
- fd7c0fa732d9 11.0 cited