Re: WIP: parallel GiST index builds
| От | Andrey M. Borodin |
|---|---|
| Тема | Re: WIP: parallel GiST index builds |
| Дата | |
| Msg-id | 6D47292A-CC56-4289-9AFA-DA84EF2ABE57@yandex-team.ru обсуждение исходный текст |
| Ответ на | Re: WIP: parallel GiST index builds (Andreas Karlsson <andreas@proxel.se>) |
| Ответы |
Re: WIP: parallel GiST index builds
|
| Список | pgsql-hackers |
> On 26 Jul 2024, at 14:30, Andreas Karlsson <andreas@proxel.se> wrote: > > I feel the tricky part about doing that is that we need to make sure the fake LSNs are all less than the current real LSNwhen the index build completes and while that normally should be the case we will have a almost never exercised code pathfor when the fake LSN becomes bigger than the real LSN which may contain bugs. Is that really worth it to optimize. > > But if we are going to use fake LSN: since the index being built is not visible to any scans we do not have to use GetFakeLSNForUnloggedRel()but could use an own counter in shared memory in the GISTShared struct for this specific indexwhich starts at FirstNormalUnloggedLSN. This would give us slightly less contention plus decrease the risk (for goodand bad) of the fake LSN being larger than the real LSN. +1 for atomic counter in GISTShared. BTW we can just reset LSNs to GistBuildLSN just before doing log_newpage_range(). Best regards, Andrey Borodin.
В списке pgsql-hackers по дате отправления: