Re: Re: patch review : Add ability to constrain backend temporary file space

From: Mark Kirkwood <mark(dot)kirkwood(at)catalyst(dot)net(dot)nz>
To: Cédric Villemain <cedric(dot)villemain(dot)debian(at)gmail(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Re: patch review : Add ability to constrain backend temporary file space
Date: 2011-06-24 06:01:50
Message-ID: 4E04284E.7040309@catalyst.net.nz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 22/06/11 11:13, Mark Kirkwood wrote:
> On 21/06/11 02:39, Cédric Villemain wrote:
>> 2011/6/20 Robert Haas<robertmhaas(at)gmail(dot)com>:
>>> On Mon, Jun 20, 2011 at 9:15 AM, Cédric Villemain
>>> <cedric(dot)villemain(dot)debian(at)gmail(dot)com> wrote:
>>>> The feature does not work exactly as expected because the write limit
>>>> is rounded per 8kB because we write before checking. I believe if one
>>>> write a file of 1GB in one pass (instead of repetitive 8kB increment),
>>>> and the temp_file_limit is 0, then the server will write the 1GB
>>>> before aborting.
>>> Can we rearrange thing so we check first, and then write?
>> probably but it needs more work to catch corner cases. We may be safe
>> to just document that (and also in the code). The only way I see so
>> far to have a larger value than 8kB here is to have a plugin doing the
>> sort instead of the postgresql core sort algo.
>>
>>
>
> Thanks guys - will look at moving the check, and adding some
> documentation about the possible impacts of plugins (or new executor
> methods) that might write in chunks bigger than blocksz.
>
> Maybe a few days - I'm home sick ATM, plus looking after these
> http://www.maftet.co.nz/kittens.html
>
>

This version moves the check *before* we write the new buffer, so
should take care of issues about really large write buffers, plugins
etc. Also I *think* that means there is no need to amend the documentation.

Cheers

Mark

P.s: Hopefully I've got a context diff this time, just realized that git
diff -c does *not* produce a context diff (doh).

Attachment Content-Type Size
temp-files-v6.patch.gz application/x-gzip 3.1 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message HuangQi 2011-06-24 06:35:08 debugging tools inside postgres
Previous Message Jun Ishiduka 2011-06-24 04:41:42 Re: Online base backup from the hot-standby