Обсуждение: Sequential disk access during VACUUM for GiST/GIN

Поиск
Список
Период
Сортировка

Sequential disk access during VACUUM for GiST/GIN

От
Костя Кузнецов
Дата:
Hello.
There is a task "Sequential disk access during VACUUM for GiST/GIN " in list GSOC14.
Nobody is working on this task?
Do I understand this task correctly?
I must recode gistbulkdelete.
GistBDItem *stack is must have items with sequential blkno as possible.
I have a question:
where are access to disk in this function? ReadBufferExtended?
Thanks

Re: Sequential disk access during VACUUM for GiST/GIN

От
Alexander Korotkov
Дата:
Hi!

On Tue, Apr 29, 2014 at 2:34 PM, Костя Кузнецов <chapaev28@yandex.ru> wrote:
There is a task "Sequential disk access during VACUUM for GiST/GIN " in list GSOC14.
Nobody is working on this task?

I didn't hear anybody is working on it.
 
Do I understand this task correctly?
I must recode gistbulkdelete.
GistBDItem *stack is must have items with sequential blkno as possible.

Yes, make gistbulkdelete and ginbulkdelete access disk sequentially while now tree is traversed in logical order. So these functions need to be completely reworked: I'm not sure GistBDItem will survive :)
The challenge is concurrency. Vacuum shouldn't block concurrent readers and writers. You can see btbulkdelete  which supports sequential disk access now.
 
I have a question:
where are access to disk in this function? ReadBufferExtended?

Yes, this function read buffer to shared memory (if it isn't already) and "pins" it.

------
With best regards,
Alexander Korotkov.