From: | Andrey Borodin <x4mmm(at)yandex-team(dot)ru> |
---|---|
To: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi> |
Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Костя Кузнецов <chapaev28(at)ya(dot)ru> |
Subject: | Re: GiST VACUUM |
Date: | 2018-07-21 12:11:34 |
Message-ID: | 51675201-3F1C-4796-ADB4-28D0B35E9CF0@yandex-team.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi!
> 19 июля 2018 г., в 23:26, Andrey Borodin <x4mmm(at)yandex-team(dot)ru> написал(а):
>
> I'm working on triggering left split during vacuum. Will get back when done. Thanks!
Here's patch including some messy hacks to trigger NSN and FollowRight jumps during VACUUM.
To trigger FollowRight GiST sometimes forget to clear follow-right marker simulating crash of an insert. This fills logs with "fixing incomplete split" messages. Search for "REMOVE THIS" to disable these ill-behavior triggers.
To trigger NSN jump GiST allocate empty page after every real allocation.
gistvacuumcleanup() was constantly generating left jumps because there was used 0 instead of real start NSN, I moved NSN acquisition to gistvacuumscan(). Also fixed some comments.
gistvacuumcleanup() will have same effect as gistbulkdelete(), is it OK?
To reproduce left-jumps run ./rescantest.sh
Script contain variables for my local paths.
Best regards, Andrey Borodin.
Attachment | Content-Type | Size |
---|---|---|
0001-Physical-GiST-scan-in-VACUUM-v13.patch | application/octet-stream | 17.8 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Marco van Eck | 2018-07-21 12:44:25 | Re: Have an encrypted pgpass file |
Previous Message | Sergei Kornilov | 2018-07-21 09:26:06 | Re: Indicate anti-wraparound autovacuum in log_autovacuum_min_duration |