Re: [PATCH] Microvacuum for gist.

Поиск
Список
Период
Сортировка
От Jeff Janes
Тема Re: [PATCH] Microvacuum for gist.
Дата
Msg-id CAMkU=1zpZ+dwPpgwqZwM5fJsZGOg-yNi1YwdoPw6XioXYiOzyw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [PATCH] Microvacuum for gist.  (Teodor Sigaev <teodor@sigaev.ru>)
Ответы Re: [PATCH] Microvacuum for gist.  (Teodor Sigaev <teodor@sigaev.ru>)
Список pgsql-hackers
On Wed, Sep 16, 2015 at 8:36 AM, Teodor Sigaev <teodor@sigaev.ru> wrote:
But It seems to me that it would be better to rewrite all mentions of
TupleDelete to MultiDelete in gist code.

Sure. Patch is attached, and it changes WAL format, so be carefull with testing.
Please, have a look.

Also in attach scripts reproduce bug from Jeff's report:
g.pl - creates and fills test table
w.pl - worker, could run in several session

Usage
perl g.pl | psql contrib_regression
perl w.pl |  psql contrib_regression | grep 'UPDATE 0'

and killall -9 postgres while w.pl is running. Recovery will fail with high probability.

Thank you, Jeff, for report.

Thanks, that seems to have fixed it.

But I don't understand this comment:

+               /*
+                * While we delete only one tuple at once we could mix calls
+                * PageIndexTupleDelete() here and PageIndexMultiDelete() in
+                * gistRedoPageUpdateRecord()
+                */

Does this mean:

Since we delete only one tuple per WAL record here, we can call PageIndexTupleDelete() here and re-play it with PageIndexMultiDelete() in gistRedoPageUpdateRecord()

Thanks,

Jeff

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andrew Dunstan
Дата:
Сообщение: Re: honour TEMP_CONFIG in pg_upgrade tests
Следующее
От: Teodor Sigaev
Дата:
Сообщение: Re: [PATCH] Microvacuum for gist.