Re: On-the-fly index tuple deletion vs. hot_standby

From: Noah Misch <noah(at)leadboat(dot)com>
To: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
Cc: Simon Riggs <simon(at)2ndQuadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: On-the-fly index tuple deletion vs. hot_standby
Date: 2011-03-16 02:22:59
Message-ID: 20110316022259.GA3666@tornado.leadboat.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Mar 14, 2011 at 01:56:22PM +0200, Heikki Linnakangas wrote:
> On 12.03.2011 12:40, Noah Misch wrote:
>> The installation that inspired my original report recently upgraded from 9.0.1
>> to 9.0.3, and your fix did significantly decrease its conflict frequency. The
>> last several conflicts I have captured involve XLOG_BTREE_REUSE_PAGE records.
>> (FWIW, the index has generally been pg_attribute_relid_attnam_index.) I've
>> attached a test script demonstrating the behavior. _bt_page_recyclable approves
>> any page deleted no more recently than RecentXmin, because we need only ensure
>> that every ongoing scan has witnessed the page as dead. For the hot standby
>> case, we need to account for possibly-ongoing standby transactions. Using
>> RecentGlobalXmin covers that, albeit with some pessimism: we really only need
>> LEAST(RecentXmin, PGPROC->xmin of walsender_1, .., PGPROC->xmin of walsender_N)
>> - vacuum_defer_cleanup_age. Not sure the accounting to achieve that would pay
>> off, though. Thoughts?
>
> Hmm, instead of bloating the master, I wonder if we could detect more
> accurately if there are any on-going scans, in the standby. For example,
> you must hold a lock on the index to scan it, so only transactions
> holding the lock need to be checked for conflict.

That would be nice. Do you have an outline of an implementation in mind?

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2011-03-16 03:35:24 Re: Flex output missing from 9.1a4 tarballs?
Previous Message Robert Haas 2011-03-16 02:07:04 Re: Sync Rep and shutdown Re: Sync Rep v19