Re: V4 of PITR performance improvement for 8.4

Поиск
Список
Период
Сортировка
От Koichi Suzuki
Тема Re: V4 of PITR performance improvement for 8.4
Дата
Msg-id a778a7260903152255n783c4eb6kd6bba92a42bcca84@mail.gmail.com
обсуждение исходный текст
Ответ на Re: V4 of PITR performance improvement for 8.4  (Koichi Suzuki <koichi.szk@gmail.com>)
Список pgsql-hackers
This is a patch with error handling of malloc().

I found that skipping readahead at malloc() error leads to too many
changes with very little to get.   The memory area are kept only
during the recovery and is released at the end of the recovery.

So shortage of this memory area will easily lead to another memory
problem anyway.

2009/3/11 Koichi Suzuki <koichi.szk@gmail.com>:
> Hi,
>
> 2009/3/10 Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>:
>> Fujii Masao wrote:
>>>
>>> Hi,
>>>
>>> On Mon, Mar 9, 2009 at 10:20 PM, Heikki Linnakangas
>>> <heikki.linnakangas@enterprisedb.com> wrote:
>>>>
>>>> Thanks. This patch seems to be missing the new readahead.c file. I
>>>> grabbed
>>>> that from the previous patch version.
>>>
>>> Oh, sorry for the mistake. I changed one of Suzuki-san's patches
>>> to be rebased to HEAD again (readahead-20090310.patch).
>>> The other (addShBufCheck-20090120.patch) is not changed.
>>>
>>> Comment:
>>> we might reach consistent recovery state *before* redoing the safe
>>> starting point, because readahead slightly delays the actual redo.
>>> Is this safe?
>>
>> No. If you haven't replayed all the WAL records up to the safe starting
>> point, the database isn't consistent yet. The distinction doesn't matter in
>> practice without Hot Standby, though.
>>
>>> If not, the readahead queue should be flushed before
>>> reaching that state?
>>
>> Yes. Or you could move the reporting that you've reached the consistent
>> recovery state into RedoRecords, when you reach the min safe starting point.
>
> This arrangement can be done with Hot Standby and Sync.Rep, right?
>
> So far, it sounds that we need to add a code to handle if malloc()
> fails (OOM).   In this case, possible way could be to skip whole
> readahead, although the rest of the recovery may fail because of the
> memory shortage.
>
>>
>> --
>>  Heikki Linnakangas
>>  EnterpriseDB   http://www.enterprisedb.com
>>
>
>
>
> --
> ------
> Koichi Suzuki
>



--
------
Koichi Suzuki

Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Simon Riggs
Дата:
Сообщение: Re: How to implement an auto-increment column for a system catalog table?
Следующее
От: Tom Lane
Дата:
Сообщение: Re: How to implement an auto-increment column for a system catalog table?