Re: Implement waiting for wal lsn replay: reloaded
От | Alexander Korotkov |
---|---|
Тема | Re: Implement waiting for wal lsn replay: reloaded |
Дата | |
Msg-id | CAPpHfduRK_wL5w7N+Vgt5f3WHegoFmQ__eDL603Cu39PphPLXQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Implement waiting for wal lsn replay: reloaded (Yura Sokolov <y.sokolov@postgrespro.ru>) |
Ответы |
Re: Implement waiting for wal lsn replay: reloaded
|
Список | pgsql-hackers |
On Fri, Feb 28, 2025 at 3:55 PM Yura Sokolov <y.sokolov@postgrespro.ru> wrote: > 28.02.2025 16:03, Yura Sokolov пишет: > > 17.02.2025 00:27, Alexander Korotkov wrote: > >> On Thu, Feb 6, 2025 at 10:31 AM Yura Sokolov <y.sokolov@postgrespro.ru> wrote: > >>> I briefly looked into patch and have couple of minor remarks: > >>> > >>> 1. I don't like `palloc` in the `WaitLSNWakeup`. I believe it wont issue > >>> problems, but still don't like it. I'd prefer to see local fixed array, say > >>> of 16 elements, and loop around remaining function body acting in batch of > >>> 16 wakeups. Doubtfully there will be more than 16 waiting clients often, > >>> and even then it wont be much heavier than fetching all at once. > >> > >> OK, I've refactored this to use static array of 16 size. palloc() is > >> used only if we don't fit static array. > > > > I've rebased patch and: > > - fixed compiler warning in wait.c ("maybe uninitialized 'result'"). > > - made a loop without call to palloc in WaitLSNWakeup. It is with "goto" to > > keep indentation, perhaps `do {} while` would be better? > > And fixed: > 'WAIT' is marked as BARE_LABEL in kwlist.h, but it is missing from > gram.y's bare_label_keyword rule Thank you, Yura. I've further revised the patch. Mostly added the documentation including SQL command reference and few paragraphs in the high availability chapter explaining the read-your-writes consistency concept. ------ Regards, Alexander Korotkov Supabase
Вложения
В списке pgsql-hackers по дате отправления: