Re: [PATCH] Microvacuum for gist.

From: Alexander Korotkov <a(dot)korotkov(at)postgrespro(dot)ru>
To: Anastasia Lubennikova <lubennikovaav(at)gmail(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [PATCH] Microvacuum for gist.
Date: 2015-07-30 12:33:06
Message-ID: CAPpHfdvp+NO-+1OeVVaLQQcEwJ-J-sFvrm6eNeXGLPZKeU5sRA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi!

On Thu, Jul 30, 2015 at 2:51 PM, Anastasia Lubennikova <
lubennikovaav(at)gmail(dot)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].
>
> [1]
> http://www.google-melange.com/gsoc/proposal/public/google/gsoc2015/ivanitskiy_ilya/5629499534213120
>
> 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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tomas Vondra 2015-07-30 12:55:50 Re: multivariate statistics / patch v7
Previous Message Kouhei Kaigai 2015-07-30 12:03:21 [BUG] CustomScan->custom_plans are not copied