Re: missing RelationCloseSmgr in FreeFakeRelcacheEntry?

From: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Andres Freund <andres(at)2ndquadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: missing RelationCloseSmgr in FreeFakeRelcacheEntry?
Date: 2014-03-07 11:50:27
Message-ID: 5319B283.50507@vmware.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 03/06/2014 02:18 AM, Bruce Momjian wrote:
> On Tue, Nov 5, 2013 at 08:36:32PM +0100, Andres Freund wrote:
>> On 2013-11-04 13:48:32 +0100, Andres Freund wrote:
>>> What about just unowning the smgr entry with
>>> if (rel->rd_smgr != NULL)
>>> smgrsetowner(NULL, rel->rd_smgr)
>>> when closing the fake relcache entry?
>>>
>>> That shouldn't require any further changes than changing the comment in
>>> smgrsetowner() that this isn't something expected to frequently happen.
>>
>> Attached is a patch doing it like that, it required slightmy more
>> invasive changes than that. With the patch applied we survive replay of
>> a primary's make check run under valgrind without warnings.
>
> Where are we on this patch?

Committed now, with small changes. I made the new smgrclearowner
function to check that the SmgrRelation object is indeed owned by the
owner we expect, so that it doesn't unown it if it's actually owned by
someone else. That shouldn't happen, but it seemed prudent to check.

Thanks Andres. I tried to reproduce the valgrind message you reported,
but couldn't. How did you do it? Did this commit fix it?

And thanks for the nudge, Bruce.

- Heikki

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2014-03-07 12:03:01 Re: extension_control_path
Previous Message Heikki Linnakangas 2014-03-07 09:34:39 Re: GSoC on WAL-logging hash indexes