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 understandthis 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.