Accommodate startup process in a separate ProcState array slot instead of in MaxBackends slots.

Поиск
Список
Период
Сортировка
От Bharath Rupireddy
Тема Accommodate startup process in a separate ProcState array slot instead of in MaxBackends slots.
Дата
Msg-id CALj2ACXZ_o7rcOb7-Rs96P0d=Ei+nvf_WZ-Meky7Vv+nQNFYjQ@mail.gmail.com
обсуждение исходный текст
Ответы Re: Accommodate startup process in a separate ProcState array slot instead of in MaxBackends slots.
Список pgsql-hackers
Hi,

While working on [1], it is found that currently the ProcState array
doesn't have entries for auxiliary processes, it does have entries for
MaxBackends. But the startup process is eating up one slot from
MaxBackends. We need to increase the size of the ProcState array by 1
at least for the startup process. The startup process uses ProcState
slot via InitRecoveryTransactionEnvironment->SharedInvalBackendInit.
The procState array size is initialized to MaxBackends in
SInvalShmemSize.

The consequence of not fixing this issue is that the database may hit
the error "sorry, too many clients already" soon in
SharedInvalBackendInit.

Attaching a patch to fix this issue. Thoughts?

[1] https://www.postgresql.org/message-id/2222ab6f-46b1-d5c0-603d-8f6680739db4%40oss.nttdata.com

Regards,
Bharath Rupireddy.

Вложения

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Corruption with IMMUTABLE functions in index expression.
Следующее
От: Bharath Rupireddy
Дата:
Сообщение: Re: Inconsistency in startup process's MyBackendId and procsignal array registration with ProcSignalInit()