Re: [PATCH] Microvacuum for gist.
| От | Anastasia Lubennikova |
|---|---|
| Тема | Re: [PATCH] Microvacuum for gist. |
| Дата | |
| Msg-id | 55BF3417.4000609@postgrespro.ru обсуждение исходный текст |
| Ответ на | Re: [PATCH] Microvacuum for gist. (Alexander Korotkov <a.korotkov@postgrespro.ru>) |
| Ответы |
Re: [PATCH] Microvacuum for gist.
|
| Список | pgsql-hackers |
30.07.2015 16:33, Alexander Korotkov пишет:
1) Test and results are in attachments. Everything seems to work as expected.Hi!On Thu, Jul 30, 2015 at 2:51 PM, Anastasia Lubennikova <lubennikovaav@gmail.com> wrote:I have written microvacuum support for gist access method.Briefly microvacuum includes two steps:1. When search tells us that the tuple is invisible to all transactions it is marked LP_DEAD and page is marked as "has dead tuples",2. Then, when insert touches full page which has dead tuples it calls microvacuum instead of splitting page.You can find a kind of review here [1].Patch is in attachements. Please review it.Nice!Some notes about this patch.1) Could you give same test case demonstrating that microvacuum really work with patch? Finally, we should get index less growing with microvacuum.2) Generating notices for every dead tuple would be too noisy. I suggest to replace notice with one of debug levels.+ elog(NOTICE, "gistkillitems. Mark Item Dead offnum %hd, blkno %d", offnum, BufferGetBlockNumber(buffer));3) Please, recheck coding style. For instance, this line needs more spaces and open brace should be on the next line.+ if ((scan->kill_prior_tuple)&&(so->curPageData > 0)&&(so->curPageData == so->nPageData)) {------
2) I dropped these notices. It was done only for debug purposes. Updated patch is attached.
3) fixed
-- Anastasia Lubennikova Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
Вложения
В списке pgsql-hackers по дате отправления: