BUG #18331: Why is the session lock (DEFAULT_LOCKMETHOD) not automatically released during process exit?

Поиск
Список
Период
Сортировка
От PG Bug reporting form
Тема BUG #18331: Why is the session lock (DEFAULT_LOCKMETHOD) not automatically released during process exit?
Дата
Msg-id 18331-b44b290d8d84d690@postgresql.org
обсуждение исходный текст
Ответы Re: BUG #18331: Why is the session lock (DEFAULT_LOCKMETHOD) not automatically released during process exit?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
The following bug has been logged on the website:

Bug reference:      18331
Logged by:          Why is the session lock (DEFAULT_LOCKMETHOD) not automatically released
during process exit?
Email address:      dafoer_x@163.com
PostgreSQL version: 16.1
Operating system:   centos_x86
Description:

I have some doubts about the implementation of session locks. Can you help
me clarify my questions?

The comment for the function LockRelationIdForSession mentions “It will be
removed  when UnlockRelationIdForSession() is called, or if an
ereport(ERROR) occurs,  or if the backend exits.”
However, the callback function ShutdownPostgres, which is triggered during
process exit, only cleans up locks of type USER_LOCKMETHOD. Is it possible
to automatically clean up session locks of type DEFAULT_LOCKMETHOD?

What risks or implications would there be if session locks of type
USER_LOCKMETHOD were automatically cleaned up during process exit?


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

Предыдущее
От: Masahiko Sawada
Дата:
Сообщение: Re: Potential data loss due to race condition during logical replication slot creation
Следующее
От: PG Bug reporting form
Дата:
Сообщение: BUG #18332: The conditional lock cannot be granted even if the process holds a stronger lock