Re: BUG #10533: 9.4 beta1 assertion failure in autovacuum process

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andres Freund <andres(at)2ndquadrant(dot)com>
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Keith Fiske <keith(at)omniti(dot)com>, Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>, levertond(at)googlemail(dot)com, "pgsql-bugs(at)postgresql(dot)org" <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: BUG #10533: 9.4 beta1 assertion failure in autovacuum process
Date: 2014-06-06 22:03:53
Message-ID: 13635.1402092233@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Andres Freund <andres(at)2ndquadrant(dot)com> writes:
> On 2014-06-06 16:55:58 -0400, Alvaro Herrera wrote:
>> Uh, this is a completely different problem. We discussed long ago that
>> those pallocs in relpath() were going to cause a problem:

> I actually don't think it's a different problem. If we'd restructure
> things so the critical sections are separate this wouldn't be a
> problem. It's imo not a particularly good idea to mdopen() inside a
> critical section either.

The point here seems to be that lazy_vacuum_page does the visibility map
ops inside its own critical section. Why? Setting a visibility bit
doesn't seem like it's critical. Why can't we just move the
END_CRIT_SECTION() to before the PageIsAllVisible test?

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Andres Freund 2014-06-06 22:05:37 Re: BUG #10533: 9.4 beta1 assertion failure in autovacuum process
Previous Message Keith Fiske 2014-06-06 21:44:18 Re: BUG #10533: 9.4 beta1 assertion failure in autovacuum process