Re: BUG #7572: virtualxid lock held by bgwriter on promoted slaves

From: Simon Riggs <simon(at)2ndQuadrant(dot)com>
To: daniele(dot)varrazzo(at)gmail(dot)com
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #7572: virtualxid lock held by bgwriter on promoted slaves
Date: 2012-11-30 00:18:49
Message-ID: CA+U5nMJoYADG6weOos8pozHBTwnW9gCeRGJr0kSifNvBiQMk=Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On 27 September 2012 22:29, Simon Riggs <simon(at)2ndquadrant(dot)com> wrote:
> On 26 September 2012 22:33, <daniele(dot)varrazzo(at)gmail(dot)com> wrote:
>> The following bug has been logged on the website:
>>
>> Bug reference: 7572
>> Logged by: Daniele Varrazzo
>> Email address: daniele(dot)varrazzo(at)gmail(dot)com
>> PostgreSQL version: 9.1.4
>> Operating system: Linux
>> Description:
>>
>> Hello,
>>
>> when a slave is promoted, the pgwriter keeps holding a lock with virtualxid
>> "1/1" and virtualtransaction "-1/0". Such lock stops pg_reorg to run (as
>> reported here:
>> http://pgfoundry.org/tracker/index.php?func=detail&aid=1011203&group_id=1000411&atid=1376)
>> but I've verified the same condition on 9.1.4).
>>
>> Is it possible to free that lock on slave promotion?
>>
>> Is it safe to ignore that lock for pg_reorg sake? The program is which is
>> probably waiting for all the transactions to finish before swapping the
>> table in the system catalog but I'm not sure about that yet.
>
> This one is mine.... I don't think its important we hold that lock,
> but will check.

This was an interesting bug to track down and certainly had me stumped
for some time.

Nothing at all todo with the WALwriter. It turns out that the Startup
process never ended its VirtualTransaction, which caused 2 separate
bugs in 9.0/9.1 and 9.2/HEAD. The bugs in 9.2+ were only visible
because of lack of initialisation of the fp fields, also fixed.

Thanks for the bug report.

--
Simon Riggs http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message ian.dees 2012-11-30 05:02:14 BUG #7715: hstore "exists" should use same index as "?" operator
Previous Message Tom Lane 2012-11-29 17:00:10 Re: BUG #7713: Is it a good idea to write more?