Re: Let's make PostgreSQL multi-threaded

Поиск
Список
Период
Сортировка
От Peter Geoghegan
Тема Re: Let's make PostgreSQL multi-threaded
Дата
Msg-id CAH2-WznPEvcnP3RShC3M2GvwVyY1Ww660=X048CBSgepK46VXw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Let's make PostgreSQL multi-threaded  (Bruce Momjian <bruce@momjian.us>)
Ответы Re: Let's make PostgreSQL multi-threaded  (Bruce Momjian <bruce@momjian.us>)
Список pgsql-hackers
On Mon, Jun 5, 2023 at 4:26 PM Bruce Momjian <bruce@momjian.us> wrote:
> I remember we used to have macros we called before we modified critical
> parts of shared memory, and if a process exited while in those blocks,
> the server would restart.  Unfortunately, I can't find that in the code
> now.

Isn't that what we call a critical section? They effectively "promote"
any ERROR (e.g., from an OOM) into a PANIC.

I thought that we only used critical sections for things that are
WAL-logged, but I double checked just now. Turns out that I was wrong:
PGSTAT_BEGIN_WRITE_ACTIVITY() contains its own START_CRIT_SECTION(),
despite not being involved in WAL logging. And so critical sections
could indeed be described as something that we use whenever shared
memory cannot be left in an inconsistent state (which often coincides
with WAL logging, but need not).

--
Peter Geoghegan



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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Let's make PostgreSQL multi-threaded
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: Partial aggregates pushdown