Re: Accounting of zero-filled buffers in EXPLAIN (BUFFERS)

Поиск
Список
Период
Сортировка
От Haribabu Kommi
Тема Re: Accounting of zero-filled buffers in EXPLAIN (BUFFERS)
Дата
Msg-id CAJrrPGfd1moDHR_D9ck_bxmKqinT1g3V9UhOX4rnmS-hB00QSA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Accounting of zero-filled buffers in EXPLAIN (BUFFERS)  (Thomas Munro <thomas.munro@enterprisedb.com>)
Ответы Re: Accounting of zero-filled buffers in EXPLAIN (BUFFERS)  (Thomas Munro <thomas.munro@enterprisedb.com>)
Список pgsql-hackers

On Mon, Apr 30, 2018 at 1:38 PM Thomas Munro <thomas.munro@enterprisedb.com> wrote:
On Mon, Apr 30, 2018 at 3:13 PM, Andres Freund <andres@anarazel.de> wrote:
> On 2018-04-30 14:59:31 +1200, Thomas Munro wrote:
>> In EXPLAIN (BUFFERS), there are two kinds of cache misses that show up
>> as "reads" when in fact they are not reads at all:
>>
>> 1.  Relation extension, which in fact writes a zero-filled block.
>> 2.  The RBM_ZERO_* modes, which provoke neither read nor write.
>
> Just for understanding: 2) can never happen for buffers showing up in
> EXPLAIN, right?
>
> I'm not saying you shouldn't fix the accounting...

Maybe the hash AM can reach that in _hash_getinitbuf() while adding
overflow pages to bucket chains?  Admittedly case 2 is obscure and
rare if not unreachable and probably no one would care too much about
that in practice (whereas case 1 can be seen by simply inserting stuff
into a new empty table).  Other patches I'm working on for later
proposal do it more often (think accessing known-empty pages in a kind
of preallocated extent), and it occurred to me that it's clearly a bug
on principle, hence this patch.

I checked the patch and I agree with the change 1). And regarding change 2)
whether it is  zeroing the contents of the page or not, it does read?
because if it exists in the buffer pool, we are counting them as hits irrespective
of the mode? Am I missing something?

Regards,
Haribabu Kommi
Fujitsu Australia

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

Предыдущее
От: Dilip Kumar
Дата:
Сообщение: Re: partition pruning doesn't work with IS NULL clause in multikeyrange partition case
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: Re: Negotiating the SCRAM channel binding type