Re: [PATCH] Microvacuum for gist. - Mailing list pgsql-hackers

From Alexander Korotkov
Subject Re: [PATCH] Microvacuum for gist.
Date
Msg-id CAPpHfdvp+NO-+1OeVVaLQQcEwJ-J-sFvrm6eNeXGLPZKeU5sRA@mail.gmail.com
Whole thread Raw
In response to [PATCH] Microvacuum for gist.  (Anastasia Lubennikova <lubennikovaav@gmail.com>)
Responses Re: [PATCH] Microvacuum for gist.
Re: [PATCH] Microvacuum for gist.
List pgsql-hackers
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)) {

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company
 

pgsql-hackers by date:

Previous
From: Kouhei Kaigai
Date:
Subject: [BUG] CustomScan->custom_plans are not copied
Next
From: Tomas Vondra
Date:
Subject: Re: multivariate statistics / patch v7